diff --git a/src/components/home/SectionSponsors.astro b/src/components/home/SectionSponsors.astro
index 1e735bb..7151e1a 100644
--- a/src/components/home/SectionSponsors.astro
+++ b/src/components/home/SectionSponsors.astro
@@ -2,7 +2,7 @@
import { texts } from '../../i18n/home'
import SectionTitle from '../SectionTitle.astro'
import CenteredPanel from '../CenteredPanel.astro'
-import type { ISponsor } from '../../types/sponsors'
+import type { ISponsor, TSponsorTier } from '../../types/sponsors'
import SponsorsGroup from './sponsors/SponsorsGroup.astro'
const sponsors = Object.values(import.meta.glob('../../data/sponsors/*.md', { eager: true })) as {
@@ -16,18 +16,21 @@ interface Props {
const { lang } = Astro.props
const t = texts[lang as keyof typeof texts]
-function filterSponsorsByTier(tier: string): ISponsor[] {
+function filterSponsorsByTier(tier: TSponsorTier): ISponsor[] {
return sponsors
.filter((s) => s.frontmatter.tier === tier)
.map((s) => s.frontmatter)
.sort((a, b) => a.name.localeCompare(b.name))
}
-const bronze = filterSponsorsByTier('bronze')
-const silver = filterSponsorsByTier('silver')
-const gold = filterSponsorsByTier('gold')
-const platinum = filterSponsorsByTier('platinum')
-const main = filterSponsorsByTier('main')
+const tierDefs: Array<{ key: TSponsorTier; size: number; color: string }> = [
+ { key: 'main', size: 280, color: 'text-tier-main' },
+ { key: 'platinum', size: 170, color: 'text-tier-platinum' },
+ { key: 'gold', size: 140, color: 'text-tier-gold' },
+ { key: 'silver', size: 110, color: 'text-tier-silver' },
+ { key: 'bronze', size: 90, color: 'text-tier-bronze' },
+ { key: 'community', size: 140, color: 'text-tier-community' },
+]
---
@@ -35,40 +38,16 @@ const main = filterSponsorsByTier('main')
-
-
-
-
-
+ {
+ tierDefs.map((tier) => (
+
+ ))
+ }
diff --git a/src/data/sponsors/eps.md b/src/data/sponsors/eps.md
index 6e5bc4b..219658a 100644
--- a/src/data/sponsors/eps.md
+++ b/src/data/sponsors/eps.md
@@ -1,7 +1,7 @@
---
name: 'EuroPython Society'
website: 'https://www.europython-society.org/'
-tier: 'gold'
+tier: 'community'
logobg: '#ffffff'
logo: '/collaborators/europython.png'
---
diff --git a/src/i18n/home.ts b/src/i18n/home.ts
index 3d31e07..a28c07b 100644
--- a/src/i18n/home.ts
+++ b/src/i18n/home.ts
@@ -12,6 +12,7 @@ export const texts = {
'sponsors.gold': 'Patrocinador Oro',
'sponsors.silver': 'Patrocinador Plata',
'sponsors.bronze': 'Patrocinador Bronce',
+ 'sponsors.community': 'Comunidades Patrocinadoras',
'sponsors.none': 'No hay patrocinadores en este nivel',
'sponsors.altlogo': 'Logo de {name}',
'cfp.title': 'Llamada a Propuestas',
@@ -37,6 +38,7 @@ export const texts = {
'sponsors.gold': 'Gold Sponsor',
'sponsors.silver': 'Silver Sponsor',
'sponsors.bronze': 'Bronze Sponsor',
+ 'sponsors.community': 'Sponsoring Communities',
'sponsors.none': 'No sponsors in this tier',
'sponsors.altlogo': '{name} logo',
'cfp.title': 'Call for Proposals',
@@ -63,6 +65,7 @@ export const texts = {
'sponsors.gold': 'Patrocinador Or',
'sponsors.silver': 'Patrocinador Plata',
'sponsors.bronze': 'Patrocinador Bronze',
+ 'sponsors.community': 'Comunitats Patrocinadores',
'sponsors.none': 'No hi ha patrocinadors en aquest nivell',
'sponsors.altlogo': 'Logo de {name}',
'cfp.title': 'Crida a Propostes',
diff --git a/src/style/global.css b/src/style/global.css
index 0f0cc2a..52badd0 100644
--- a/src/style/global.css
+++ b/src/style/global.css
@@ -96,6 +96,9 @@ html {
--color-tier-bronze: var(--color-pycon-gray);
--color-contrast-tier-bronze: #ffffff;
+
+ --color-tier-community: #4a6fa5;
+ --color-contrast-tier-community: #ffffff;
}
@layer base {
diff --git a/src/types/sponsors.ts b/src/types/sponsors.ts
index 364c819..935a04d 100644
--- a/src/types/sponsors.ts
+++ b/src/types/sponsors.ts
@@ -1,4 +1,4 @@
-export type TSponsorTier = 'bronze' | 'silver' | 'gold' | 'platinum' | 'main'
+export type TSponsorTier = 'bronze' | 'silver' | 'gold' | 'platinum' | 'main' | 'community'
export interface ISponsor {
name: string