@@ -5,6 +5,7 @@ import Apollo from "public/img/conf/Sponsors/Apollo.svg?svgr"
55import Wundergraph from "public/img/conf/Sponsors/WunderGraph-graded.svg?svgr"
66import Grafast from "public/img/conf/Sponsors/Grafast.svg?svgr"
77import Chillicream from "public/img/conf/Sponsors/Chillicream.svg?svgr"
8+ import Airbnb from "public/img/conf/Sponsors/airbnb.svg?svgr"
89
910interface Sponsor {
1011 icon :
@@ -18,6 +19,9 @@ interface Sponsor {
1819const sponsorPlatinum : Sponsor [ ] = [
1920 {
2021 icon : ( props : React . HTMLAttributes < HTMLDivElement > ) => (
22+ // When attempting to render the Meta logo with SVGR, the image becomes
23+ // corrupted (something to do with a `clip-path`?); this means we need to
24+ // render as an `<img>` and prevents us updating the viewBox.
2125 < div
2226 { ...props }
2327 className = { clsx ( props . className , "relative aspect-video flex-shrink-0" ) }
@@ -105,6 +109,7 @@ const sponsorBronze: Sponsor[] = [
105109 icon : ( props : React . SVGProps < SVGElement > ) => (
106110 < Grafast
107111 { ...props }
112+ viewBox = "2.5 4 80 24"
108113 className = { clsx (
109114 props . className ,
110115 "[&_path]:fill-[#15252D] dark:[&_path]:fill-white" ,
@@ -118,26 +123,8 @@ const sponsorBronze: Sponsor[] = [
118123
119124const sponsorCommunity : Sponsor [ ] = [
120125 {
121- icon : ( props : React . HTMLAttributes < HTMLDivElement > ) => (
122- < div
123- { ...props }
124- className = { clsx ( props . className , "relative aspect-video flex-shrink-0" ) }
125- >
126- < img
127- src = {
128- new URL ( "/public/img/conf/Sponsors/airbnb.svg" , import . meta. url )
129- . href
130- }
131- className = "absolute inset-0 size-full object-contain dark:hidden"
132- />
133- < img
134- src = {
135- new URL ( "/public/img/conf/Sponsors/airbnb.svg" , import . meta. url )
136- . href
137- }
138- className = "absolute inset-0 hidden size-full object-contain dark:block"
139- />
140- </ div >
126+ icon : ( props : React . SVGProps < SVGElement > ) => (
127+ < Airbnb { ...props } viewBox = "567 570 1979.77 660.012" />
141128 ) ,
142129 name : "Airbnb" ,
143130 link : "https://www.airbnb.com/" ,
@@ -149,28 +136,34 @@ export interface SponsorsProps {
149136}
150137
151138interface Tier {
139+ rank : number
152140 name : string
153141 items : Sponsor [ ]
154142}
155143
156144const sponsorTiers : Tier [ ] = [
157145 {
146+ rank : 0 ,
158147 name : "Platinum" ,
159148 items : sponsorPlatinum ,
160149 } ,
161150 {
151+ rank : 1 ,
162152 name : "Gold" ,
163153 items : sponsorGold ,
164154 } ,
165155 {
156+ rank : 2 ,
166157 name : "Silver" ,
167158 items : sponsorSilver ,
168159 } ,
169160 {
161+ rank : 2 ,
170162 name : "Open Source Community Sponsor" ,
171163 items : sponsorCommunity ,
172164 } ,
173165 {
166+ rank : 3 ,
174167 name : "Bronze" ,
175168 items : sponsorBronze ,
176169 } ,
@@ -188,7 +181,7 @@ export function Sponsors({ heading }: SponsorsProps) {
188181 < Tier
189182 key = { tier . name }
190183 tier = { tier }
191- logoHeight = { 236 - sponsorTiers . indexOf ( tier ) * 32 }
184+ logoHeight = { ( 7 - tier . rank ) * 32 }
192185 />
193186 ) ,
194187 ) }
@@ -199,12 +192,12 @@ export function Sponsors({ heading }: SponsorsProps) {
199192
200193function Tier ( { tier, logoHeight } : { tier : Tier ; logoHeight : number } ) {
201194 return (
202- < div className = "flex gap-x-12 gap-y-4 border-t border-neu-200 py-4 dark:border-neu-50 max-md:flex-col" >
195+ < div className = "flex gap-x-12 gap-y-4 border-t border-neu-200 py-4 pb-12 dark:border-neu-50 max-md:flex-col" >
203196 < h3 className = "flex w-[80px] shrink-0 items-center gap-1 self-start whitespace-nowrap font-mono text-sm/none font-normal uppercase text-pri-base" >
204197 < ChevronRight className = "shrink-0 translate-y-[-0.5px]" />
205198 { tier . name }
206199 </ h3 >
207- < div className = "flex min-w-[70%] flex-wrap justify-center gap-y-4 lg:grid lg:w-full lg:grid-cols-2 lg:gap-4" >
200+ < div className = "flex min-w-[70%] flex-wrap justify-center gap-y-4 pt-6 lg:grid lg:w-full lg:grid-cols-2 lg:gap-4" >
208201 { tier . items . map ( ( { link, icon : Icon , name } , i ) => (
209202 < a
210203 key = { i }
0 commit comments