@@ -4,7 +4,7 @@ import { motion } from "framer-motion";
44import SponsorLogo from "@/app/sponsors/components/SponsorLogo" ;
55import sponsorsData from "@/data/sponsors" ;
66
7- function SponsorGrid ( { items, importance } ) {
7+ function SponsorGrid ( { items, type , importance } ) {
88 // Reducimos significativamente el padding
99 const paddingByImportance = {
1010 large : "p-3 md:p-4" , // Patrocinadores: padding reducido
@@ -26,7 +26,6 @@ function SponsorGrid({ items, importance }) {
2626 return "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 place-items-center" ;
2727 }
2828 } ;
29-
3029 return (
3130 < div
3231 className = { `
@@ -47,15 +46,19 @@ function SponsorGrid({ items, importance }) {
4746 bg-gradient-to-br from-[var(--primary-green)]/8 via-[var(--accent-yellow)]/5 to-[var(--primary-green)]/8
4847 backdrop-blur-lg rounded-xl transition-all duration-500 hover:duration-300
4948 hover:shadow-[0_0_40px_-10px_rgba(61,139,55,0.4)]
50- border-2 border-[var(--primary-green)]/20 hover:border-[var(--accent-yellow)]/40
49+ border-2
50+ ${ type ? `sponsor-${ type } -border sponsor-${ type } -border-hover` : "border-[var(--primary-green)]/20 hover:border-[var(--accent-yellow)]/40" }
5151 transform-gpu hover:-translate-y-2 cursor-pointer w-full max-w-[200px]` }
5252 />
5353 ) ) }
5454 </ div >
5555 ) ;
5656}
5757
58- function SponsorSection ( { title, year, items, importance = "medium" } ) {
58+ function SponsorSection ( { title, year, items, type, importance = "medium" } ) {
59+ if ( items . length == 0 ) {
60+ return null ;
61+ }
5962 const titleSizes = {
6063 large : "text-4xl md:text-4xl" ,
6164 medium : "text-3xl md:text-4xl" ,
@@ -88,7 +91,7 @@ function SponsorSection({ title, year, items, importance = "medium" }) {
8891 </ div >
8992
9093 { /* Grid de logos con padding dinámico */ }
91- < SponsorGrid items = { items } importance = { importance } />
94+ < SponsorGrid items = { items } type = { type } importance = { importance } />
9295 </ motion . div >
9396 ) ;
9497}
@@ -109,6 +112,10 @@ export default function SponsorList({
109112 // Filtrar según las props
110113 const organizers = showOrganizers ? sponsors . filter ( ( s ) => s . type === "organizer" ) : [ ] ;
111114 const sponsorsOnly = showSponsors ? sponsors . filter ( ( s ) => s . type === "sponsor" ) : [ ] ;
115+ const goldSponsors = sponsorsOnly . filter ( s => s . tier == "gold" ) ;
116+ const silverSponsors = sponsorsOnly . filter ( s => s . tier == "silver" ) ;
117+ const bronzeSponsors = sponsorsOnly . filter ( s => s . tier == "bronze" ) ;
118+
112119 const communities = showCommunities ? sponsors . filter ( ( s ) => s . type === "community" ) : [ ] ;
113120
114121 // Verificar si hay al menos una sección para mostrar
@@ -123,15 +130,27 @@ export default function SponsorList({
123130 >
124131 { hasAnySponsors ? (
125132 < div className = "space-y-16" >
126- { sponsorsOnly . length > 0 && (
127- < SponsorSection
128- title = "Patrocinadores"
129- year = "2026"
130- items = { sponsorsOnly }
131- importance = "large"
132- />
133- ) }
134-
133+ < SponsorSection
134+ title = "Patrocinadores Gold"
135+ year = "2026"
136+ items = { goldSponsors }
137+ type = "gold"
138+ importance = "large"
139+ />
140+ < SponsorSection
141+ title = "Patrocinadores Silver"
142+ year = "2026"
143+ items = { silverSponsors }
144+ type = "silver"
145+ importance = "large"
146+ />
147+ < SponsorSection
148+ title = "Patrocinadores Bronze"
149+ year = "2026"
150+ items = { bronzeSponsors }
151+ type = "bronze"
152+ importance = "large"
153+ />
135154 { organizers . length > 0 && (
136155 < SponsorSection
137156 title = "Organizadores"
@@ -140,7 +159,6 @@ export default function SponsorList({
140159 importance = "medium"
141160 />
142161 ) }
143-
144162 { communities . length > 0 && (
145163 < SponsorSection
146164 title = "Comunidades Amigas"
0 commit comments