From d2ded0113006b2f5ea667f9867b6e4b09fca667e Mon Sep 17 00:00:00 2001 From: Nik Richers Date: Tue, 30 Jun 2026 19:02:18 -0700 Subject: [PATCH] fix(content-listings): add hasLightIcon to item schema; mark migration icons light-variant-free GlassPanel appends -light.svg in light mode when hasLightIcon is true. The component was unconditionally passing hasLightIcon={Boolean(item.icon)}, so migration icons (firebase, heroku, render, aws-rds, postgres, mysql, mssql) that have no -light.svg variant rendered broken images in light mode. Add optional hasLightIcon to the item schema and fall back to Boolean(item.icon) when unset, preserving existing behavior for all other data files. Set hasLightIcon: false on the seven migration icons that lack light variants. --- .../ContentListings/ContentListings.client.tsx | 2 +- apps/docs/data/content-listings/resources.data.ts | 9 +++++++++ apps/docs/lib/content-listings.zod.mjs | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/docs/components/ContentListings/ContentListings.client.tsx b/apps/docs/components/ContentListings/ContentListings.client.tsx index 323478ca22e..e8b46bb4f91 100644 --- a/apps/docs/components/ContentListings/ContentListings.client.tsx +++ b/apps/docs/components/ContentListings/ContentListings.client.tsx @@ -77,7 +77,7 @@ function ContentListingsGroup({ group }: { group: ContentListingGroup }) { {item.description} diff --git a/apps/docs/data/content-listings/resources.data.ts b/apps/docs/data/content-listings/resources.data.ts index 70bcbc9acee..de2ca1ac231 100644 --- a/apps/docs/data/content-listings/resources.data.ts +++ b/apps/docs/data/content-listings/resources.data.ts @@ -35,54 +35,63 @@ export const resourcesMigrateToSupabase: ContentListingGroup = { title: 'Firebase Auth', href: '/guides/resources/migrating-to-supabase/firebase-auth', icon: '/docs/img/icons/firebase-icon', + hasLightIcon: false, description: 'Move your auth users from a Firebase project to a Supabase project.', }, { title: 'Firestore Data', href: '/guides/resources/migrating-to-supabase/firestore-data', icon: '/docs/img/icons/firebase-icon', + hasLightIcon: false, description: 'Migrate the contents of a Firestore collection to a single Postgres table.', }, { title: 'Firebase Storage', href: '/guides/resources/migrating-to-supabase/firebase-storage', icon: '/docs/img/icons/firebase-icon', + hasLightIcon: false, description: 'Convert your Firebase Storage files to Supabase Storage.', }, { title: 'Heroku', href: '/guides/resources/migrating-to-supabase/heroku', icon: '/docs/img/icons/heroku-icon', + hasLightIcon: false, description: 'Migrate your Heroku Postgres database to Supabase.', }, { title: 'Render', href: '/guides/resources/migrating-to-supabase/render', icon: '/docs/img/icons/render-icon', + hasLightIcon: false, description: 'Migrate your Render Postgres database to Supabase.', }, { title: 'Amazon RDS', href: '/guides/resources/migrating-to-supabase/amazon-rds', icon: '/docs/img/icons/aws-rds-icon', + hasLightIcon: false, description: 'Migrate your Amazon RDS database to Supabase.', }, { title: 'Postgres', href: '/guides/resources/migrating-to-supabase/postgres', icon: '/docs/img/icons/postgres-icon', + hasLightIcon: false, description: 'Migrate your Postgres database to Supabase.', }, { title: 'MySQL', href: '/guides/resources/migrating-to-supabase/mysql', icon: '/docs/img/icons/mysql-icon', + hasLightIcon: false, description: 'Migrate your MySQL database to Supabase.', }, { title: 'Microsoft SQL Server', href: '/guides/resources/migrating-to-supabase/mssql', icon: '/docs/img/icons/mssql-icon', + hasLightIcon: false, description: 'Migrate your Microsoft SQL Server database to Supabase.', }, ], diff --git a/apps/docs/lib/content-listings.zod.mjs b/apps/docs/lib/content-listings.zod.mjs index 4480879288e..12b421de8db 100644 --- a/apps/docs/lib/content-listings.zod.mjs +++ b/apps/docs/lib/content-listings.zod.mjs @@ -5,6 +5,7 @@ export const contentListingItemSchema = z.object({ href: z.string().min(1), description: z.string().min(1), icon: z.string().min(1).optional(), + hasLightIcon: z.boolean().optional(), }) export const contentListingGroupTypeSchema = z.enum(['list', 'grid'])