diff --git a/apps/www/README.md b/apps/www/README.md index 100fe836789..8695e930126 100644 --- a/apps/www/README.md +++ b/apps/www/README.md @@ -12,7 +12,7 @@ To get started copy the example env file using `cp .env.local.example .env.local - **Resize images**: All new images should be resized to only the maximum resolution needed when rendering on the frontend. Don't upload images larger than what will be displayed. - **Compress images**: All new images should be compressed before committing. Use tools like Clop or ImageOptim to reduce file size without noticeable quality loss. -- **Image locations**: Store blog post images in `apps/www/public/images/blog/`. Event images go in `apps/www/public/images/events/`. +- **Image locations**: Store blog post images in `apps/www/public/images/blog/`. Event images go in `apps/www/public/images/events/`. Customer logos go in `apps/www/public/images/customers/logos/on-light/` and `on-dark/` (see Customer Stories below). ### OG image generation @@ -196,6 +196,21 @@ Customer stories are defined in MDX files (`apps/www/_customers/*.mdx`) and use Do not include an `og_image` field in customer story frontmatter. It will be ignored. OG images are always generated dynamically. +**Logos** + +Customer logos are monochrome and transparent. Prefer SVG; PNG is also fine. Put each theme variant in the folder named for the background it sits on: + +| Folder | Mark | Frontmatter | Shown in | +| ----------------------------------- | ----------- | -------------- | ---------- | +| `/images/customers/logos/on-light/` | Dark/black | `logo` | Light mode | +| `/images/customers/logos/on-dark/` | Light/white | `logo_inverse` | Dark mode | + +Do not use coloured brand marks. Preview `/customers` in both themes before merging. + +Icon-only assets (homepage chips, etc.) stay at `/images/customers/logos/{slug}-icon.svg`. + +Customer story OG images are generated by the `og-images` Edge Function, which fetches `https://supabase.com/images/customers/logos/on-dark/{slug}.png`. Satori cannot rasterise SVG, so stories still need an `on-dark/{slug}.png` even if the site uses SVG. + **Example** (in `apps/www/_customers/company-abc.mdx`): ```yaml @@ -203,7 +218,8 @@ Do not include an `og_image` field in customer story frontmatter. It will be ign name: Company ABC title: Company ABC built their platform with Supabase # DO NOT include og_image - it's generated automatically -logo: /images/customers/logos/company-abc.png +logo: /images/customers/logos/on-light/company-abc.svg +logo_inverse: /images/customers/logos/on-dark/company-abc.svg --- ``` @@ -221,8 +237,9 @@ logo: /images/customers/logos/company-abc.png title: 'Company ABC built their platform with Supabase', description: '...', organization: 'Company ABC', - imgUrl: 'images/customers/logos/company-abc.png', // Full path from public/ - logo: '/images/customers/logos/company-abc.png', + imgUrl: 'images/customers/logos/on-light/company-abc.svg', // Full path from public/ + logo: '/images/customers/logos/on-light/company-abc.svg', + logo_inverse: '/images/customers/logos/on-dark/company-abc.svg', url: '/customers/company-abc', } ``` diff --git a/apps/www/_customers/asap-work.mdx b/apps/www/_customers/asap-work.mdx index d0312917584..9e73488bb39 100644 --- a/apps/www/_customers/asap-work.mdx +++ b/apps/www/_customers/asap-work.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/asap-work.png -logo_inverse: /images/customers/logos/light/asap-work.png +logo: /images/customers/logos/on-light/asap-work.png +logo_inverse: /images/customers/logos/on-dark/asap-work.png tags: - supabase date: '2025-02-28' diff --git a/apps/www/_customers/berriai.mdx b/apps/www/_customers/berriai.mdx index ce60e7bd028..745224daeb4 100644 --- a/apps/www/_customers/berriai.mdx +++ b/apps/www/_customers/berriai.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/berriai.png -logo_inverse: /images/customers/logos/light/berriai.png +logo: /images/customers/logos/on-light/berriai.png +logo_inverse: /images/customers/logos/on-dark/berriai.png tags: - supabase date: '2023-06-06' diff --git a/apps/www/_customers/bree.mdx b/apps/www/_customers/bree.mdx index 8f8779db5b0..7dfa0b0225f 100644 --- a/apps/www/_customers/bree.mdx +++ b/apps/www/_customers/bree.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/bree.png -logo_inverse: /images/customers/logos/light/bree.png +logo: /images/customers/logos/on-light/bree.png +logo_inverse: /images/customers/logos/on-dark/bree.png tags: - supabase date: '2025-04-08' diff --git a/apps/www/_customers/brevo.mdx b/apps/www/_customers/brevo.mdx index f8eaf7cd670..d4c71df72d7 100644 --- a/apps/www/_customers/brevo.mdx +++ b/apps/www/_customers/brevo.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/brevo.png -logo_inverse: /images/customers/logos/light/brevo.png +logo: /images/customers/logos/on-light/brevo.png +logo_inverse: /images/customers/logos/on-dark/brevo.png tags: - supabase date: '2025-12-18' diff --git a/apps/www/_customers/chatbase.mdx b/apps/www/_customers/chatbase.mdx index 2bf01cb3db2..36b6f2476aa 100644 --- a/apps/www/_customers/chatbase.mdx +++ b/apps/www/_customers/chatbase.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/chatbase.png -logo_inverse: /images/customers/logos/light/chatbase.png +logo: /images/customers/logos/on-light/chatbase.png +logo_inverse: /images/customers/logos/on-dark/chatbase.png tags: - supabase date: '2026-05-18T08:00:00Z' diff --git a/apps/www/_customers/cofounder.mdx b/apps/www/_customers/cofounder.mdx index 476517c9103..7cdead1bdb9 100644 --- a/apps/www/_customers/cofounder.mdx +++ b/apps/www/_customers/cofounder.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/cofounder.png -logo_inverse: /images/customers/logos/light/cofounder.png +logo: /images/customers/logos/on-light/cofounder.png +logo_inverse: /images/customers/logos/on-dark/cofounder.png tags: - supabase date: '2026-05-04' diff --git a/apps/www/_customers/delightai.mdx b/apps/www/_customers/delightai.mdx index bbf5a0c6ddb..e9524d76320 100644 --- a/apps/www/_customers/delightai.mdx +++ b/apps/www/_customers/delightai.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/delightai.png -logo_inverse: /images/customers/logos/light/delightai.png +logo: /images/customers/logos/on-light/delightai.png +logo_inverse: /images/customers/logos/on-dark/delightai.png tags: - supabase date: '2026-07-08' diff --git a/apps/www/_customers/deriv.mdx b/apps/www/_customers/deriv.mdx index 8cdd878f3e6..f80da930a80 100644 --- a/apps/www/_customers/deriv.mdx +++ b/apps/www/_customers/deriv.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/deriv.png -logo_inverse: /images/customers/logos/light/deriv.png +logo: /images/customers/logos/on-light/deriv.png +logo_inverse: /images/customers/logos/on-dark/deriv.png tags: - supabase date: '2025-03-06' diff --git a/apps/www/_customers/drew-crew.mdx b/apps/www/_customers/drew-crew.mdx index 58bdeb8e73b..32fffb3ab80 100644 --- a/apps/www/_customers/drew-crew.mdx +++ b/apps/www/_customers/drew-crew.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/drew-crew.png -logo_inverse: /images/customers/logos/light/drew-crew.png +logo: /images/customers/logos/on-light/drew-crew.png +logo_inverse: /images/customers/logos/on-dark/drew-crew.png tags: - supabase date: '2026-07-08' diff --git a/apps/www/_customers/e2b.mdx b/apps/www/_customers/e2b.mdx index b79b1dcfdcb..7495c17c739 100644 --- a/apps/www/_customers/e2b.mdx +++ b/apps/www/_customers/e2b.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/e2b.png -logo_inverse: /images/customers/logos/light/e2b.png +logo: /images/customers/logos/on-light/e2b.png +logo_inverse: /images/customers/logos/on-dark/e2b.png tags: - supabase date: '2024-12-09' diff --git a/apps/www/_customers/epsilon3.mdx b/apps/www/_customers/epsilon3.mdx index ce3e58d732d..65f899ed8c6 100644 --- a/apps/www/_customers/epsilon3.mdx +++ b/apps/www/_customers/epsilon3.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/epsilon3.png -logo_inverse: /images/customers/logos/light/epsilon3.png +logo: /images/customers/logos/on-light/epsilon3.png +logo_inverse: /images/customers/logos/on-dark/epsilon3.png tags: - supabase date: '2023-02-14' diff --git a/apps/www/_customers/euka.mdx b/apps/www/_customers/euka.mdx index 104bdf9b8eb..b82a931615c 100644 --- a/apps/www/_customers/euka.mdx +++ b/apps/www/_customers/euka.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/euka.png -logo_inverse: /images/customers/logos/light/euka.png +logo: /images/customers/logos/on-light/euka.png +logo_inverse: /images/customers/logos/on-dark/euka.png tags: - supabase date: '2025-04-29' diff --git a/apps/www/_customers/exprealty.mdx b/apps/www/_customers/exprealty.mdx index 3ae2f08f410..608e7a1cdb3 100644 --- a/apps/www/_customers/exprealty.mdx +++ b/apps/www/_customers/exprealty.mdx @@ -7,8 +7,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/exprealty.png -logo_inverse: /images/customers/logos/light/exprealty.png +logo: /images/customers/logos/on-light/exprealty.png +logo_inverse: /images/customers/logos/on-dark/exprealty.png tags: - supabase date: '2025-12-17' diff --git a/apps/www/_customers/firecrawl.mdx b/apps/www/_customers/firecrawl.mdx index f6854bf8654..3b0f9738ebe 100644 --- a/apps/www/_customers/firecrawl.mdx +++ b/apps/www/_customers/firecrawl.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/firecrawl.png -logo_inverse: /images/customers/logos/light/firecrawl.png +logo: /images/customers/logos/on-light/firecrawl.png +logo_inverse: /images/customers/logos/on-dark/firecrawl.png tags: - supabase date: '2023-05-05' diff --git a/apps/www/_customers/good-tape.mdx b/apps/www/_customers/good-tape.mdx index ee23366a841..eb394f17bf3 100644 --- a/apps/www/_customers/good-tape.mdx +++ b/apps/www/_customers/good-tape.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: CEO and Cofounder author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/good-tape.png -logo_inverse: /images/customers/logos/light/good-tape.png +logo: /images/customers/logos/on-light/good-tape.png +logo_inverse: /images/customers/logos/on-dark/good-tape.png tags: - supabase date: '2023-10-31' diff --git a/apps/www/_customers/govsignals.mdx b/apps/www/_customers/govsignals.mdx index 9bc6a5e178f..29b6ee4f17f 100644 --- a/apps/www/_customers/govsignals.mdx +++ b/apps/www/_customers/govsignals.mdx @@ -7,8 +7,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/govsignals.png -logo_inverse: /images/customers/logos/light/govsignals.png +logo: /images/customers/logos/on-light/govsignals.png +logo_inverse: /images/customers/logos/on-dark/govsignals.png tags: - supabase date: '2025-12-16' diff --git a/apps/www/_customers/happyteams.mdx b/apps/www/_customers/happyteams.mdx index 0a2706cdc63..c0c2fb288b3 100644 --- a/apps/www/_customers/happyteams.mdx +++ b/apps/www/_customers/happyteams.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/happyteams.png -logo_inverse: /images/customers/logos/light/happyteams.png +logo: /images/customers/logos/on-light/happyteams.png +logo_inverse: /images/customers/logos/on-dark/happyteams.png tags: - supabase date: '2023-02-16' diff --git a/apps/www/_customers/humata.mdx b/apps/www/_customers/humata.mdx index d36dab84d06..19b65deb6ee 100644 --- a/apps/www/_customers/humata.mdx +++ b/apps/www/_customers/humata.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/humata.png -logo_inverse: /images/customers/logos/light/humata.png +logo: /images/customers/logos/on-light/humata.png +logo_inverse: /images/customers/logos/on-dark/humata.png tags: - supabase date: '2024-10-01' diff --git a/apps/www/_customers/hyper.mdx b/apps/www/_customers/hyper.mdx index df2aa93d61b..c51dd7ab23c 100644 --- a/apps/www/_customers/hyper.mdx +++ b/apps/www/_customers/hyper.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/hyper.png -logo_inverse: /images/customers/logos/light/hyper.png +logo: /images/customers/logos/on-light/hyper.png +logo_inverse: /images/customers/logos/on-dark/hyper.png tags: - supabase date: '2025-12-19' diff --git a/apps/www/_customers/juniver.mdx b/apps/www/_customers/juniver.mdx index f12c2bda3d3..2e5eca6cbee 100644 --- a/apps/www/_customers/juniver.mdx +++ b/apps/www/_customers/juniver.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/juniver.png -logo_inverse: /images/customers/logos/light/juniver.png +logo: /images/customers/logos/on-light/juniver.png +logo_inverse: /images/customers/logos/on-dark/juniver.png tags: - supabase date: '2025-01-15' diff --git a/apps/www/_customers/kayhanspace.mdx b/apps/www/_customers/kayhanspace.mdx index e2a469e6120..f911af528da 100644 --- a/apps/www/_customers/kayhanspace.mdx +++ b/apps/www/_customers/kayhanspace.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/kayhanspace.png -logo_inverse: /images/customers/logos/light/kayhanspace.png +logo: /images/customers/logos/on-light/kayhanspace.png +logo_inverse: /images/customers/logos/on-dark/kayhanspace.png tags: - supabase date: '2025-05-21' diff --git a/apps/www/_customers/koodos.mdx b/apps/www/_customers/koodos.mdx index bc57b9d1228..c411a08fb44 100644 --- a/apps/www/_customers/koodos.mdx +++ b/apps/www/_customers/koodos.mdx @@ -7,8 +7,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/koodos.png -logo_inverse: /images/customers/logos/light/koodos.png +logo: /images/customers/logos/on-light/koodos.png +logo_inverse: /images/customers/logos/on-dark/koodos.png tags: - supabase date: '2025-12-16' diff --git a/apps/www/_customers/lovable.mdx b/apps/www/_customers/lovable.mdx index 77ca5a3ae4e..bd27cf95f70 100644 --- a/apps/www/_customers/lovable.mdx +++ b/apps/www/_customers/lovable.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/lovable.png -logo_inverse: /images/customers/logos/light/lovable.png +logo: /images/customers/logos/on-light/lovable.png +logo_inverse: /images/customers/logos/on-dark/lovable.png tags: - supabase date: '2026-07-09' diff --git a/apps/www/_customers/maergo.mdx b/apps/www/_customers/maergo.mdx index 753137c138d..ea70ed635d8 100644 --- a/apps/www/_customers/maergo.mdx +++ b/apps/www/_customers/maergo.mdx @@ -8,8 +8,8 @@ description: Discover how Maergo, a nationwide expedited parcel delivery service meta_description: 'Discover how Maergo, a nationwide expedited parcel delivery service, reduced its codebase by 90%, decreased deployment times to just seconds, and achieved unprecedented scalability with Supabase.' author: michael_ridley author_title: Product Marketing -logo: /images/customers/logos/maergo.png -logo_inverse: /images/customers/logos/light/maergo.png +logo: /images/customers/logos/on-light/maergo.png +logo_inverse: /images/customers/logos/on-dark/maergo.png tags: - supabase date: '2024-06-12' diff --git a/apps/www/_customers/markprompt.mdx b/apps/www/_customers/markprompt.mdx index 549dee846db..6974054c8bd 100644 --- a/apps/www/_customers/markprompt.mdx +++ b/apps/www/_customers/markprompt.mdx @@ -7,8 +7,8 @@ author: paul_copplestone author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/markprompt.png -logo_inverse: /images/customers/logos/light/markprompt.png +logo: /images/customers/logos/on-light/markprompt.png +logo_inverse: /images/customers/logos/on-dark/markprompt.png tags: - supabase date: '2023-05-17' diff --git a/apps/www/_customers/meshy.mdx b/apps/www/_customers/meshy.mdx index 63f2da67442..e7810423348 100644 --- a/apps/www/_customers/meshy.mdx +++ b/apps/www/_customers/meshy.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/meshy.png -logo_inverse: /images/customers/logos/light/meshy.png +logo: /images/customers/logos/on-light/meshy.png +logo_inverse: /images/customers/logos/on-dark/meshy.png company_url: 'https://www.meshy.ai/' tags: - supabase diff --git a/apps/www/_customers/mobbin.mdx b/apps/www/_customers/mobbin.mdx index b01c863dbb8..aa33e98a617 100644 --- a/apps/www/_customers/mobbin.mdx +++ b/apps/www/_customers/mobbin.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/mobbin.png -logo_inverse: /images/customers/logos/light/mobbin.png +logo: /images/customers/logos/on-light/mobbin.png +logo_inverse: /images/customers/logos/on-dark/mobbin.png tags: - supabase date: '2023-02-14' diff --git a/apps/www/_customers/next-door-lending.mdx b/apps/www/_customers/next-door-lending.mdx index 7f181acb658..bdc2f2b82e4 100644 --- a/apps/www/_customers/next-door-lending.mdx +++ b/apps/www/_customers/next-door-lending.mdx @@ -10,8 +10,8 @@ author: dave_wilson author_title: Customer Success Manager author_url: https://www.linkedin.com/in/david-wilson-285564140/ author_image_url: https://media.licdn.com/dms/image/D4E03AQFurngYIRSHWQ/profile-displayphoto-shrink_200_200/0/1698406772235?e=1704931200&v=beta&t=Va55bBVbke2LzcEs5ReBOslLN_l3E8aqEeaQZv36sCA -logo: /images/customers/logos/next-door-lending.png -logo_inverse: /images/customers/logos/light/next-door-lending.png +logo: /images/customers/logos/on-light/next-door-lending.png +logo_inverse: /images/customers/logos/on-dark/next-door-lending.png tags: - supabase date: '2023-11-08' diff --git a/apps/www/_customers/pebblely.mdx b/apps/www/_customers/pebblely.mdx index f55fc5ac8a3..94b4a05fb15 100644 --- a/apps/www/_customers/pebblely.mdx +++ b/apps/www/_customers/pebblely.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: CEO and Cofounder author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/pebblely.png -logo_inverse: /images/customers/logos/light/pebblely.png +logo: /images/customers/logos/on-light/pebblely.png +logo_inverse: /images/customers/logos/on-dark/pebblely.png tags: - supabase date: '2023-09-29' diff --git a/apps/www/_customers/phoenix-energy.mdx b/apps/www/_customers/phoenix-energy.mdx index 1d11adc45d2..7eba0326e6a 100644 --- a/apps/www/_customers/phoenix-energy.mdx +++ b/apps/www/_customers/phoenix-energy.mdx @@ -7,8 +7,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/light/phoenix-energy.png -logo_inverse: /images/customers/logos/phoenix-energy.png +logo: /images/customers/logos/on-light/phoenix-energy.png +logo_inverse: /images/customers/logos/on-dark/phoenix-energy.png tags: - supabase date: '2025-11-13' diff --git a/apps/www/_customers/qa-tech.mdx b/apps/www/_customers/qa-tech.mdx index 95c3e5556e8..fefa191a20b 100644 --- a/apps/www/_customers/qa-tech.mdx +++ b/apps/www/_customers/qa-tech.mdx @@ -4,8 +4,8 @@ title: How QA.tech built enterprise-ready AI testing agents on Supabase description: QA.tech is an autonomous AI testing platform whose QA agents run end-to-end testing of web and mobile products by goal and intent. Three years on Supabase took QA.tech from three founders to a global customer base, enterprise-scale daily test volume, and SOC 2 compliance. author: wendie_cheung author_title: Product Marketing -logo: /images/customers/logos/qa-tech.png -logo_inverse: /images/customers/logos/light/qa-tech.png +logo: /images/customers/logos/on-light/qa-tech.png +logo_inverse: /images/customers/logos/on-dark/qa-tech.png tags: - supabase date: '2026-08-04' diff --git a/apps/www/_customers/quilia.mdx b/apps/www/_customers/quilia.mdx index 12f5c0660dd..9d0a23b4f18 100644 --- a/apps/www/_customers/quilia.mdx +++ b/apps/www/_customers/quilia.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/quilia.png -logo_inverse: /images/customers/logos/light/quilia.png +logo: /images/customers/logos/on-light/quilia.png +logo_inverse: /images/customers/logos/on-dark/quilia.png tags: - supabase date: '2025-03-08' diff --git a/apps/www/_customers/quivr.mdx b/apps/www/_customers/quivr.mdx index 94025f24a2c..489fafb1dba 100644 --- a/apps/www/_customers/quivr.mdx +++ b/apps/www/_customers/quivr.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/quivr.png -logo_inverse: /images/customers/logos/light/quivr.png +logo: /images/customers/logos/on-light/quivr.png +logo_inverse: /images/customers/logos/on-dark/quivr.png tags: - supabase date: '2023-09-05' diff --git a/apps/www/_customers/rally.mdx b/apps/www/_customers/rally.mdx index ae22a10bb95..269f1826ce6 100644 --- a/apps/www/_customers/rally.mdx +++ b/apps/www/_customers/rally.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/rally.png -logo_inverse: /images/customers/logos/light/rally.png +logo: /images/customers/logos/on-light/rally.png +logo_inverse: /images/customers/logos/on-dark/rally.png tags: - supabase date: '2025-10-21' diff --git a/apps/www/_customers/replenysh.mdx b/apps/www/_customers/replenysh.mdx index 5c837901424..b8a3fef841f 100644 --- a/apps/www/_customers/replenysh.mdx +++ b/apps/www/_customers/replenysh.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/replenysh.png -logo_inverse: /images/customers/logos/light/replenysh.png +logo: /images/customers/logos/on-light/replenysh.png +logo_inverse: /images/customers/logos/on-dark/replenysh.png tags: - supabase date: '2023-02-14' diff --git a/apps/www/_customers/resend.mdx b/apps/www/_customers/resend.mdx index 6aa30a646d3..073cc429456 100644 --- a/apps/www/_customers/resend.mdx +++ b/apps/www/_customers/resend.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/resend.png -logo_inverse: /images/customers/logos/light/resend.png +logo: /images/customers/logos/on-light/resend.png +logo_inverse: /images/customers/logos/on-dark/resend.png tags: - supabase date: '2025-02-21' diff --git a/apps/www/_customers/shotgun.mdx b/apps/www/_customers/shotgun.mdx index 3acb31efd85..e0aea7620ec 100644 --- a/apps/www/_customers/shotgun.mdx +++ b/apps/www/_customers/shotgun.mdx @@ -10,8 +10,8 @@ author: paul_copplestone author_title: CEO and Cofounder author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/shotgun.png -logo_inverse: /images/customers/logos/light/shotgun.png +logo: /images/customers/logos/on-light/shotgun.png +logo_inverse: /images/customers/logos/on-dark/shotgun.png tags: - supabase date: '2023-11-30' diff --git a/apps/www/_customers/tinloof.mdx b/apps/www/_customers/tinloof.mdx index 3efb06ee14d..9cb6a37613b 100644 --- a/apps/www/_customers/tinloof.mdx +++ b/apps/www/_customers/tinloof.mdx @@ -8,8 +8,8 @@ description: Discover how Tinloof, a full-stack development agency, managed and meta_description: Discover Tinloof, how a full-stack development agency, managed and scaled backend services using Supabase, without having to dedicate resources to infrastructure management. author: michael_ridley author_title: Product Marketing -logo: /images/customers/logos/tinloof.png -logo_inverse: /images/customers/logos/light/tinloof.png +logo: /images/customers/logos/on-light/tinloof.png +logo_inverse: /images/customers/logos/on-dark/tinloof.png tags: - supabase date: '2024-06-04' diff --git a/apps/www/_customers/udio.mdx b/apps/www/_customers/udio.mdx index 595b57f49a0..9f6db97c599 100644 --- a/apps/www/_customers/udio.mdx +++ b/apps/www/_customers/udio.mdx @@ -10,8 +10,8 @@ author: prashant author_title: Prashant Sridharan author_url: https://github.com/CoolAssPuppy author_image_url: https://avatars.githubusercontent.com/u/914007?v=4 -logo: /images/customers/logos/udio.png -logo_inverse: /images/customers/logos/light/udio.png +logo: /images/customers/logos/on-light/udio.png +logo_inverse: /images/customers/logos/on-dark/udio.png tags: - supabase date: '2025-05-21' diff --git a/apps/www/_customers/voypost.mdx b/apps/www/_customers/voypost.mdx index 31bf5ac50ed..ff369c1a381 100644 --- a/apps/www/_customers/voypost.mdx +++ b/apps/www/_customers/voypost.mdx @@ -8,8 +8,8 @@ description: 'Learn how Voypost leveraged Supabase to avoid NoSQL workarounds, e meta_description: 'Learn how Voypost leveraged Supabase to avoid NoSQL workarounds, enhance scalability, and deliver a superior user experience for Inkly, an intelligent contract negotiation platform.' author: michael_ridley author_title: Proudct Marketing -logo: /images/customers/logos/voypost.png -logo_inverse: /images/customers/logos/light/voypost.png +logo: /images/customers/logos/on-light/voypost.png +logo_inverse: /images/customers/logos/on-dark/voypost.png tags: - supabase date: '2024-06-04' diff --git a/apps/www/_customers/xendit.mdx b/apps/www/_customers/xendit.mdx index bc3e6aaa2be..18f05b2069f 100644 --- a/apps/www/_customers/xendit.mdx +++ b/apps/www/_customers/xendit.mdx @@ -10,8 +10,8 @@ author: rory_wilding author_title: Supabase author_url: https://github.com/kiwicopple author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4 -logo: /images/customers/logos/xendit.png -logo_inverse: /images/customers/logos/light/xendit.png +logo: /images/customers/logos/on-light/xendit.png +logo_inverse: /images/customers/logos/on-dark/xendit.png tags: - supabase date: '2023-02-14' diff --git a/apps/www/_events/2024-10-23-scale-to-millions-goodtape-auth.mdx b/apps/www/_events/2024-10-23-scale-to-millions-goodtape-auth.mdx index 0868f862155..3adba2ebb4c 100644 --- a/apps/www/_events/2024-10-23-scale-to-millions-goodtape-auth.mdx +++ b/apps/www/_events/2024-10-23-scale-to-millions-goodtape-auth.mdx @@ -13,8 +13,8 @@ duration: 45 mins company: name: Good Tape website_url: 'https://goodtape.io/' - logo: /images/customers/logos/light/good-tape.png - logo_light: /images/customers/logos/good-tape.png + logo: /images/customers/logos/on-dark/good-tape.png + logo_light: /images/customers/logos/on-light/good-tape.png categories: - webinar main_cta: diff --git a/apps/www/_events/2025-09-10-migrating-from-firebase-mobbin.mdx b/apps/www/_events/2025-09-10-migrating-from-firebase-mobbin.mdx index 462622a418f..66a40c33943 100644 --- a/apps/www/_events/2025-09-10-migrating-from-firebase-mobbin.mdx +++ b/apps/www/_events/2025-09-10-migrating-from-firebase-mobbin.mdx @@ -13,8 +13,8 @@ duration: 45 mins company: name: Mobbin website_url: 'https://mobbin.com/' - logo: /images/customers/logos/light/mobbin.png - logo_light: /images/customers/logos/mobbin.png + logo: /images/customers/logos/on-dark/mobbin.png + logo_light: /images/customers/logos/on-light/mobbin.png categories: - webinar main_cta: diff --git a/apps/www/_go/events/stripe-sessions-2026/party.tsx b/apps/www/_go/events/stripe-sessions-2026/party.tsx index d96f1daa45f..83238bc8992 100644 --- a/apps/www/_go/events/stripe-sessions-2026/party.tsx +++ b/apps/www/_go/events/stripe-sessions-2026/party.tsx @@ -48,7 +48,11 @@ const page: GoPageInput = { href="https://stigg.io" className="flex flex-col items-center gap-4 rounded-xl border border-muted p-8 text-center transition-colors hover:border-foreground-muted hover:bg-surface-100" > - Stigg + Stigg

Stigg

Monetization layer for AI products diff --git a/apps/www/app/(home)/_components/CustomerStoriesSection.tsx b/apps/www/app/(home)/_components/CustomerStoriesSection.tsx index ee59c66c1b9..497d352a5c3 100644 --- a/apps/www/app/(home)/_components/CustomerStoriesSection.tsx +++ b/apps/www/app/(home)/_components/CustomerStoriesSection.tsx @@ -10,7 +10,7 @@ import SectionContainer from '@/components/Layouts/SectionContainer' const customerStories = [ { name: 'Firecrawl', - logo: '/images/customers/logos/firecrawl.png', + logo: '/images/customers/logos/on-light/firecrawl.png', icon: '/images/customers/logos/firecrawl-icon.svg', tagline: 'Switched from Pinecone to Supabase Vector to boost efficiency and accuracy.', quote: @@ -28,7 +28,7 @@ const customerStories = [ }, { name: 'Rally', - logo: '/images/customers/logos/rally.png', + logo: '/images/customers/logos/on-light/rally.png', icon: '/images/customers/logos/rally-icon.svg', rawIcon: true, tagline: 'From first line of code to fully licensed fintech in three months.', @@ -45,7 +45,7 @@ const customerStories = [ }, { name: 'Hyper', - logo: '/images/customers/logos/hyper.png', + logo: '/images/customers/logos/on-light/hyper.png', icon: '/images/customers/logos/hyper-icon.svg', tagline: 'An AI-native marketing platform with agents that operate across the entire workflow.', quote: @@ -60,7 +60,7 @@ const customerStories = [ }, { name: 'E2B', - logo: '/images/customers/logos/e2b.png', + logo: '/images/customers/logos/on-light/e2b.png', icon: '/images/customers/logos/e2b-icon.svg', tagline: 'Secure, scalable execution of AI-generated code in the cloud.', quote: @@ -78,7 +78,7 @@ const customerStories = [ }, { name: 'Mobbin', - logo: '/images/customers/logos/mobbin.png', + logo: '/images/customers/logos/on-light/mobbin.png', icon: '/images/customers/logos/mobbin-icon.svg', tagline: 'Migrated 200,000 users from Firebase for a better authentication experience.', quote: diff --git a/apps/www/components/CustomerStories/index.tsx b/apps/www/components/CustomerStories/index.tsx index 34b8d1bc316..a5000a9a5d3 100644 --- a/apps/www/components/CustomerStories/index.tsx +++ b/apps/www/components/CustomerStories/index.tsx @@ -62,8 +62,8 @@ const compositionCols: CompositionColType[] = [ type: 'narrow', cards: [ { - logo: '/images/customers/logos/1password.png', - logo_inverse: '/images/customers/logos/light/1password.png', + logo: '/images/customers/logos/on-light/1password.png', + logo_inverse: '/images/customers/logos/on-dark/1password.png', organization: '1Password', }, getCustomer('Next Door Lending', true), @@ -78,8 +78,8 @@ const compositionCols: CompositionColType[] = [ cards: [ getCustomer('Shotgun', true), { - logo: '/images/customers/logos/mozilla.png', - logo_inverse: '/images/customers/logos/light/mozilla.png', + logo: '/images/customers/logos/on-light/mozilla.png', + logo_inverse: '/images/customers/logos/on-dark/mozilla.png', organization: 'Mozilla', linked: false, }, diff --git a/apps/www/components/Enterprise/CTAForm.tsx b/apps/www/components/Enterprise/CTAForm.tsx index 228f5dae5c8..091e39fa7c8 100644 --- a/apps/www/components/Enterprise/CTAForm.tsx +++ b/apps/www/components/Enterprise/CTAForm.tsx @@ -21,7 +21,12 @@ const UseCases: FC = (props) => { className="hidden md:flex" tabs={[ { - label: , + label: ( + + ), panel: ( = (props) => { ), }, { - label: , + label: ( + + ), panel: ( = (props) => { ), }, { - label: , + label: ( + + ), panel: ( = (props) => { className="md:hidden mt-4" tabs={[ { - label: , + label: ( + + ), panel: ( = (props) => { ), }, { - label: , + label: ( + + ), panel: ( = (props) => { ), }, { - label: , + label: ( + + ), panel: ( { const Card = ({ customer, index }: Card) => { const { resolvedTheme } = useTheme() - const logo = `/images/customers/logos/${!resolvedTheme?.includes('dark') ? '' : 'light/'}${ + const logo = `/images/customers/logos/${!resolvedTheme?.includes('dark') ? 'on-light/' : 'on-dark/'}${ customer.customer }.png` diff --git a/apps/www/data/CustomerStories.ts b/apps/www/data/CustomerStories.ts index 90c51bfe4cf..9ea5d3981f6 100644 --- a/apps/www/data/CustomerStories.ts +++ b/apps/www/data/CustomerStories.ts @@ -24,9 +24,9 @@ export const data: CustomerStoryType[] = [ description: 'QA.tech is an autonomous AI testing platform whose QA agents run end-to-end testing of web and mobile products by goal and intent. Three years on Supabase took QA.tech from three founders to a global customer base, enterprise-scale daily test volume, and SOC 2 compliance.', organization: 'QA.tech', - imgUrl: 'images/customers/logos/qa-tech.png', - logo: '/images/customers/logos/qa-tech.png', - logo_inverse: '/images/customers/logos/light/qa-tech.png', + imgUrl: 'images/customers/logos/on-light/qa-tech.png', + logo: '/images/customers/logos/on-light/qa-tech.png', + logo_inverse: '/images/customers/logos/on-dark/qa-tech.png', url: '/customers/qa-tech', ctaText: 'View story', }, @@ -36,9 +36,9 @@ export const data: CustomerStoryType[] = [ description: "Cofounder gives every customer an entire engineering, sales, marketing, support, and product team made of agents. Supabase for Platforms gives Cofounder the database platform to run an entire software company on every customer's behalf, from day one.", organization: 'Cofounder', - imgUrl: 'images/customers/logos/cofounder.png', - logo: '/images/customers/logos/cofounder.png', - logo_inverse: '/images/customers/logos/light/cofounder.png', + imgUrl: 'images/customers/logos/on-light/cofounder.png', + logo: '/images/customers/logos/on-light/cofounder.png', + logo_inverse: '/images/customers/logos/on-dark/cofounder.png', url: '/customers/cofounder', ctaText: 'View story', }, @@ -48,9 +48,9 @@ export const data: CustomerStoryType[] = [ description: 'Hyper is an AI-native marketing platform with agents that operate across the entire marketing workflow. Supabase gives their three-person team the database platform to do it at enterprise scale.', organization: 'Hyper', - imgUrl: 'images/customers/logos/hyper.png', - logo: '/images/customers/logos/hyper.png', - logo_inverse: '/images/customers/logos/light/hyper.png', + imgUrl: 'images/customers/logos/on-light/hyper.png', + logo: '/images/customers/logos/on-light/hyper.png', + logo_inverse: '/images/customers/logos/on-dark/hyper.png', url: '/customers/hyper', ctaText: 'View story', }, @@ -61,9 +61,9 @@ export const data: CustomerStoryType[] = [ description: "Brevo's Revenue Operations team built three production AI workflows connecting their CRM to Dust's AI agents via Supabase MCP—without a single engineering ticket.", organization: 'Brevo', - imgUrl: 'images/customers/logos/brevo.svg', - logo: '/images/customers/logos/brevo.svg', - logo_inverse: '/images/customers/logos/light/brevo.svg', + imgUrl: 'images/customers/logos/on-light/brevo.png', + logo: '/images/customers/logos/on-light/brevo.png', + logo_inverse: '/images/customers/logos/on-dark/brevo.png', url: '/customers/brevo', ctaText: 'View story', }, @@ -74,9 +74,9 @@ export const data: CustomerStoryType[] = [ description: 'Juniver switched from Firebase to Supabase and saw immediate improvements in developer experience and performance.', organization: 'Juniver', - imgUrl: 'images/customers/logos/juniver.png', - logo: '/images/customers/logos/juniver.png', - logo_inverse: '/images/customers/logos/light/juniver.png', + imgUrl: 'images/customers/logos/on-light/juniver.png', + logo: '/images/customers/logos/on-light/juniver.png', + logo_inverse: '/images/customers/logos/on-dark/juniver.png', url: '/customers/juniver', }, { @@ -85,9 +85,9 @@ export const data: CustomerStoryType[] = [ description: 'The Kayhan Space team migrated to Supabase from Amazon RDS and Auth0 to simplify infrastructure and unlock developer velocity.', organization: 'Kayhan Space', - imgUrl: 'images/customers/logos/kayhanspace.png', - logo: '/images/customers/logos/kayhanspace.png', - logo_inverse: '/images/customers/logos/light/kayhanspace.png', + imgUrl: 'images/customers/logos/on-light/kayhanspace.png', + logo: '/images/customers/logos/on-light/kayhanspace.png', + logo_inverse: '/images/customers/logos/on-dark/kayhanspace.png', url: '/customers/kayhanspace', }, { @@ -96,9 +96,9 @@ export const data: CustomerStoryType[] = [ description: 'Udio built a scalable, AI-driven music platform on a Supabase backend from day one.', organization: 'Udio', - imgUrl: 'images/customers/logos/udio.png', - logo: '/images/customers/logos/udio.png', - logo_inverse: '/images/customers/logos/light/udio.png', + imgUrl: 'images/customers/logos/on-light/udio.png', + logo: '/images/customers/logos/on-light/udio.png', + logo_inverse: '/images/customers/logos/on-dark/udio.png', url: '/customers/udio', }, { @@ -107,9 +107,9 @@ export const data: CustomerStoryType[] = [ description: 'Supabase helped Euka accelerate development, simplify AI feature rollout, and scale creator marketing faster than ever.', organization: 'Euka', - imgUrl: 'images/customers/logos/euka.png', - logo: '/images/customers/logos/euka.png', - logo_inverse: '/images/customers/logos/light/euka.png', + imgUrl: 'images/customers/logos/on-light/euka.png', + logo: '/images/customers/logos/on-light/euka.png', + logo_inverse: '/images/customers/logos/on-dark/euka.png', url: '/customers/euka', }, { @@ -118,9 +118,9 @@ export const data: CustomerStoryType[] = [ description: 'Discover how Bree found 10X performance gains, greater developer velocity, and a better foundation for AI when switching to Supabase.', organization: 'Bree', - imgUrl: 'images/customers/logos/bree.png', - logo: '/images/customers/logos/bree.png', - logo_inverse: '/images/customers/logos/light/bree.png', + imgUrl: 'images/customers/logos/on-light/bree.png', + logo: '/images/customers/logos/on-light/bree.png', + logo_inverse: '/images/customers/logos/on-dark/bree.png', url: '/customers/bree', }, { @@ -128,9 +128,9 @@ export const data: CustomerStoryType[] = [ title: 'Deriv: Accelerating Online Trading with a Scalable Postgres Backend', description: 'Accelerating Online Trading with a Scalable Postgres Backend', organization: 'Deriv', - imgUrl: 'images/customers/logos/deriv.png', - logo: '/images/customers/logos/deriv.png', - logo_inverse: '/images/customers/logos/light/deriv.png', + imgUrl: 'images/customers/logos/on-light/deriv.png', + logo: '/images/customers/logos/on-light/deriv.png', + logo_inverse: '/images/customers/logos/on-dark/deriv.png', url: '/customers/deriv', }, { @@ -140,9 +140,9 @@ export const data: CustomerStoryType[] = [ description: 'Migrating to Supabase resulted in a 75% reduction in development time, 50% lower costs, and enhanced security for sensitive client data.', organization: 'Quilia', - imgUrl: 'images/customers/logos/quilia.png', - logo: '/images/customers/logos/quilia.png', - logo_inverse: '/images/customers/logos/light/quilia.png', + imgUrl: 'images/customers/logos/on-light/quilia.png', + logo: '/images/customers/logos/on-light/quilia.png', + logo_inverse: '/images/customers/logos/on-dark/quilia.png', url: '/customers/quilia', }, { @@ -151,9 +151,9 @@ export const data: CustomerStoryType[] = [ description: 'Scaling seamlessly to 5,000+ paying customers & millions of emails sent daily with Supabase', organization: 'Resend', - imgUrl: 'images/customers/logos/resend.png', - logo: '/images/customers/logos/resend.png', - logo_inverse: '/images/customers/logos/light/resend.png', + imgUrl: 'images/customers/logos/on-light/resend.png', + logo: '/images/customers/logos/on-light/resend.png', + logo_inverse: '/images/customers/logos/on-dark/resend.png', url: '/customers/resend', }, { @@ -162,9 +162,9 @@ export const data: CustomerStoryType[] = [ description: 'Discover how a rapidly growing Meshy migrated from an expensive authentication model with Auth0 to Supabase Auth, and significantly reduced their costs.', organization: 'Meshy', - imgUrl: 'images/customers/logos/meshy.png', - logo: '/images/customers/logos/meshy.png', - logo_inverse: '/images/customers/logos/light/meshy.png', + imgUrl: 'images/customers/logos/on-light/meshy.png', + logo: '/images/customers/logos/on-light/meshy.png', + logo_inverse: '/images/customers/logos/on-dark/meshy.png', url: '/customers/meshy', ctaText: 'View story', }, @@ -175,9 +175,9 @@ export const data: CustomerStoryType[] = [ description: 'asap.work is a construction recruitment startup founded by industry experts from Adecco and Manpower. Using their knowledge and experience of the construction recruitment industry, asap.work focuses on providing a fair marketplace for temporary construction workers and fair pricing for clients.', organization: 'Asap.work', - imgUrl: 'images/customers/logos/asap-work.png', - logo: '/images/customers/logos/asap-work.png', - logo_inverse: '/images/customers/logos/light/asap-work.png', + imgUrl: 'images/customers/logos/on-light/asap-work.png', + logo: '/images/customers/logos/on-light/asap-work.png', + logo_inverse: '/images/customers/logos/on-dark/asap-work.png', url: '/customers/asap-work', ctaText: 'View story', }, @@ -188,9 +188,9 @@ export const data: CustomerStoryType[] = [ description: 'Discover how Maergo, a nationwide expedited parcel delivery service, reduced its codebase by 90%, decreased deployment times to just seconds, and achieved unprecedented scalability with Supabase.', organization: 'Maergo', - imgUrl: 'images/customers/logos/maergo.png', - logo: '/images/customers/logos/maergo.png', - logo_inverse: '/images/customers/logos/light/maergo.png', + imgUrl: 'images/customers/logos/on-light/maergo.png', + logo: '/images/customers/logos/on-light/maergo.png', + logo_inverse: '/images/customers/logos/on-dark/maergo.png', url: '/customers/maergo', ctaText: 'View story', }, @@ -200,9 +200,9 @@ export const data: CustomerStoryType[] = [ description: 'Discover Tinloof, how a full-stack development agency, managed and scaled backend services using Supabase, without having to dedicate resources to infrastructure management.', organization: 'Tinloof', - imgUrl: 'images/customers/logos/tinloof.png', - logo: '/images/customers/logos/tinloof.png', - logo_inverse: '/images/customers/logos/light/tinloof.png', + imgUrl: 'images/customers/logos/on-light/tinloof.png', + logo: '/images/customers/logos/on-light/tinloof.png', + logo_inverse: '/images/customers/logos/on-dark/tinloof.png', url: '/customers/tinloof', ctaText: 'View story', }, @@ -212,9 +212,9 @@ export const data: CustomerStoryType[] = [ description: 'How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back.', organization: 'HappyTeams', - imgUrl: 'images/customers/logos/happyteams.png', - logo: '/images/customers/logos/happyteams.png', - logo_inverse: '/images/customers/logos/light/happyteams.png', + imgUrl: 'images/customers/logos/on-light/happyteams.png', + logo: '/images/customers/logos/on-light/happyteams.png', + logo_inverse: '/images/customers/logos/on-dark/happyteams.png', url: '/customers/happyteams', ctaText: 'View story', }, @@ -225,9 +225,9 @@ export const data: CustomerStoryType[] = [ description: 'Mobbin helps over 200,000 creators globally search and view the latest design patterns from well-known apps.', organization: 'Mobbin', - imgUrl: 'images/customers/logos/mobbin.png', - logo: '/images/customers/logos/mobbin.png', - logo_inverse: '/images/customers/logos/light/mobbin.png', + imgUrl: 'images/customers/logos/on-light/mobbin.png', + logo: '/images/customers/logos/on-light/mobbin.png', + logo_inverse: '/images/customers/logos/on-dark/mobbin.png', url: '/customers/mobbin', ctaText: 'View story', }, @@ -236,9 +236,9 @@ export const data: CustomerStoryType[] = [ title: 'Supabase migration drives shotgun to an 83% reduction in data infrastructure costs', description: "Explore how Shotgun achieved remarkable database efficiency and reduced costs by 80% through their successful migration to Supabase's managed services.", - imgUrl: 'images/customers/logos/shotgun.png', - logo: '/images/customers/logos/shotgun.png', - logo_inverse: '/images/customers/logos/light/shotgun.png', + imgUrl: 'images/customers/logos/on-light/shotgun.png', + logo: '/images/customers/logos/on-light/shotgun.png', + logo_inverse: '/images/customers/logos/on-dark/shotgun.png', organization: 'Shotgun', url: '/customers/shotgun', path: '/customers/shotgun', @@ -256,9 +256,9 @@ export const data: CustomerStoryType[] = [ 'Good Tape migrates to Supabase managed Postgres and Authentication and achieves database efficiency and a 60% cost reduction', description: "Explore how Good Tape achieved remarkable database efficiency and reduced costs by 60% through their successful migration to Supabase's managed services.", - imgUrl: 'images/customers/logos/good-tape.png', - logo: '/images/customers/logos/good-tape.png', - logo_inverse: '/images/customers/logos/light/good-tape.png', + imgUrl: 'images/customers/logos/on-light/good-tape.png', + logo: '/images/customers/logos/on-light/good-tape.png', + logo_inverse: '/images/customers/logos/on-dark/good-tape.png', organization: 'Good Tape', url: '/customers/good-tape', path: '/customers/good-tape', @@ -274,9 +274,9 @@ export const data: CustomerStoryType[] = [ type: 'Customer Story', title: 'How Next Door Lending leveraged Supabase to become a top 10 mortgage broker', description: '', - imgUrl: 'images/customers/logos/next-door-lending.png', - logo: '/images/customers/logos/next-door-lending.png', - logo_inverse: '/images/customers/logos/light/next-door-lending.png', + imgUrl: 'images/customers/logos/on-light/next-door-lending.png', + logo: '/images/customers/logos/on-light/next-door-lending.png', + logo_inverse: '/images/customers/logos/on-dark/next-door-lending.png', organization: 'Next Door Lending', url: '/customers/next-door-lending', path: '/customers/next-door-lending', @@ -293,9 +293,9 @@ export const data: CustomerStoryType[] = [ title: 'Scaling securely: one million users in 7 months protected with Supabase Auth', description: 'Learn how Pebblely, an AI image generation company, used Supabase Auth for rapid growth and adaptable security solutions.', - imgUrl: 'images/customers/logos/pebblely.png', - logo: '/images/customers/logos/pebblely.png', - logo_inverse: '/images/customers/logos/light/pebblely.png', + imgUrl: 'images/customers/logos/on-light/pebblely.png', + logo: '/images/customers/logos/on-light/pebblely.png', + logo_inverse: '/images/customers/logos/on-dark/pebblely.png', organization: 'Pebblely', url: '/customers/pebblely', path: '/customers/pebblely', @@ -312,9 +312,9 @@ export const data: CustomerStoryType[] = [ title: 'Chatbase goes upmarket on Supabase', description: 'The consolidation play that took a single founder from zero to 10 million in ARR, and the bet that takes him to 100.', - imgUrl: 'images/customers/logos/chatbase.png', - logo: '/images/customers/logos/chatbase.png', - logo_inverse: '/images/customers/logos/light/chatbase.png', + imgUrl: 'images/customers/logos/on-light/chatbase.png', + logo: '/images/customers/logos/on-light/chatbase.png', + logo_inverse: '/images/customers/logos/on-dark/chatbase.png', organization: 'Chatbase', url: '/customers/chatbase', path: '/customers/chatbase', @@ -331,9 +331,9 @@ export const data: CustomerStoryType[] = [ title: 'Quivr launch 5,000 Vector databases on Supabase.', description: 'Learn how one of the most popular Generative AI projects uses Supabase as their Vector Store.', - imgUrl: 'images/customers/logos/quivr.png', - logo: '/images/customers/logos/quivr.png', - logo_inverse: '/images/customers/logos/light/quivr.png', + imgUrl: 'images/customers/logos/on-light/quivr.png', + logo: '/images/customers/logos/on-light/quivr.png', + logo_inverse: '/images/customers/logos/on-dark/quivr.png', organization: 'Quivr', url: '/customers/quivr', path: '/customers/quivr', @@ -350,9 +350,9 @@ export const data: CustomerStoryType[] = [ title: 'Berri AI Boosts Productivity by Migrating from AWS RDS to Supabase with pgvector.', description: 'Learn how Berri AI overcame challenges with self-hosting their vector database on AWS RDS and successfully migrated to Supabase.', - imgUrl: 'images/customers/logos/berriai.png', - logo: '/images/customers/logos/berriai.png', - logo_inverse: '/images/customers/logos/light/berriai.png', + imgUrl: 'images/customers/logos/on-light/berriai.png', + logo: '/images/customers/logos/on-light/berriai.png', + logo_inverse: '/images/customers/logos/on-dark/berriai.png', organization: 'Berri AI', url: '/customers/berriai', path: '/customers/berriai', @@ -369,9 +369,9 @@ export const data: CustomerStoryType[] = [ title: 'Firecrawl switches from Pinecone to Supabase for PostgreSQL vector embeddings', description: 'How Firecrawl boosts efficiency and accuracy of chat powered search for documentation using Supabase with pg_vector', - imgUrl: 'images/customers/logos/firecrawl.png', - logo: '/images/customers/logos/firecrawl.png', - logo_inverse: '/images/customers/logos/light/firecrawl.png', + imgUrl: 'images/customers/logos/on-light/firecrawl.png', + logo: '/images/customers/logos/on-light/firecrawl.png', + logo_inverse: '/images/customers/logos/on-dark/firecrawl.png', organization: 'Firecrawl.dev', url: '/customers/firecrawl', path: '/customers/firecrawl', @@ -388,9 +388,9 @@ export const data: CustomerStoryType[] = [ title: 'HappyTeams unlocks better performance and reduces cost with Supabase.', description: 'How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back.', - imgUrl: 'images/customers/logos/happyteams.png', - logo: '/images/customers/logos/happyteams.png', - logo_inverse: '/images/customers/logos/light/happyteams.png', + imgUrl: 'images/customers/logos/on-light/happyteams.png', + logo: '/images/customers/logos/on-light/happyteams.png', + logo_inverse: '/images/customers/logos/on-dark/happyteams.png', organization: 'HappyTeams', url: '/customers/happyteams', path: '/customers/happyteams', @@ -408,9 +408,9 @@ export const data: CustomerStoryType[] = [ 'Xendit use Supabase and create a full solution shipped to production in less than one week.', description: 'As a payment processor, Xendit are responsible for verifying that all transactions are legal.', - imgUrl: 'images/customers/logos/xendit.png', - logo: '/images/customers/logos/xendit.png', - logo_inverse: '/images/customers/logos/light/xendit.png', + imgUrl: 'images/customers/logos/on-light/xendit.png', + logo: '/images/customers/logos/on-light/xendit.png', + logo_inverse: '/images/customers/logos/on-dark/xendit.png', organization: 'Xendit', url: '/customers/xendit', path: '/customers/xendit', @@ -427,9 +427,9 @@ export const data: CustomerStoryType[] = [ title: 'Replenysh uses Supabase to implement OTP in less than 24 hours.', description: 'With Supabase, Replenysh gets a slick auth experience, reduces DevOps overhead, and continues to scale with Postgres.', - imgUrl: 'images/customers/logos/replenysh.png', - logo: '/images/customers/logos/replenysh.png', - logo_inverse: '/images/customers/logos/light/replenysh.png', + imgUrl: 'images/customers/logos/on-light/replenysh.png', + logo: '/images/customers/logos/on-light/replenysh.png', + logo_inverse: '/images/customers/logos/on-dark/replenysh.png', organization: 'Replenysh', url: '/customers/replenysh', path: '/customers/replenysh', diff --git a/apps/www/data/enterprise.tsx b/apps/www/data/enterprise.tsx index 746a8478e44..bbbe8033eb6 100644 --- a/apps/www/data/enterprise.tsx +++ b/apps/www/data/enterprise.tsx @@ -59,7 +59,7 @@ export default { heading: <>Stay on the forefront, stories: [ { - icon: '/images/customers/logos/light/mozilla.png', + icon: '/images/customers/logos/on-dark/mozilla.png', url: 'https://developer.mozilla.org/en-US/blog/introducing-ai-help/', target: '_blank', heading: 'Mozilla use Supabase for GenAI and RAG', @@ -74,7 +74,7 @@ export default { ), }, { - icon: '/images/customers/logos/light/epsilon3.png', + icon: '/images/customers/logos/on-dark/epsilon3.png', url: '/customers/epsilon3', heading: 'Epsilon3 use Supabase to build software for NASA', subheading: ( @@ -88,7 +88,7 @@ export default { ), }, { - icon: '/images/customers/logos/light/pebblely.png', + icon: '/images/customers/logos/on-dark/pebblely.png', url: '/customers/pebblely', heading: 'Pebblely use Supabase to scale to millions of users.', subheading: ( diff --git a/apps/www/data/products/modules/vector.tsx b/apps/www/data/products/modules/vector.tsx index 47a3e5896fe..e0024a2704b 100644 --- a/apps/www/data/products/modules/vector.tsx +++ b/apps/www/data/products/modules/vector.tsx @@ -299,7 +299,7 @@ docs.query( target: '_blank', quote: 'We store embeddings in a PostgreSQL database, hosted by Supabase, to perform a similarity search to identify the most relevant sections within the MDN.', - image: '/images/customers/logos/mozilla.png', + image: '/images/customers/logos/on-light/mozilla.png', abstract: 'MDN introduces an AI assistant powered by Supabase Vector to answer all web development questions in real time.', url: 'https://developer.mozilla.org/en-US/blog/introducing-ai-help/', @@ -312,7 +312,7 @@ docs.query( role: 'Founder of Quivr', quote: 'Supabase Vector powered by pgvector allowed us to create a simple and efficient product. We are storing over 1.6 million embeddings and the performance and results are great. Open source develop can easily contribute thanks to the SQL syntax known by millions of developers.', - image: '/images/customers/logos/quivr.png', + image: '/images/customers/logos/on-light/quivr.png', abstract: 'Quivr launch 5,000 Vector databases on Supabase.', url: '/customers/quivr', }, @@ -324,7 +324,7 @@ docs.query( role: 'CEO at Firecrawl', quote: 'We tried other vector databases - we tried Faiss, we tried Weaviate, we tried Pinecone. If you’re just doing vector search they’re great, but if you need to store a bunch of metadata that becomes a huge pain.', - image: '/images/customers/logos/firecrawl.png', + image: '/images/customers/logos/on-light/firecrawl.png', abstract: 'Firecrawl switches from Pinecone to Supabase for PostgreSQL vector embeddings.', url: '/customers/firecrawl', }, diff --git a/apps/www/data/solutions/agents.tsx b/apps/www/data/solutions/agents.tsx index 60684209e29..64f5725029e 100644 --- a/apps/www/data/solutions/agents.tsx +++ b/apps/www/data/solutions/agents.tsx @@ -121,14 +121,14 @@ const data: () => { logo: ( <> Chatbase Chatbase { customers: [ { name: 'Hyper', - logo: '/images/customers/logos/hyper.png', + logo: '/images/customers/logos/on-light/hyper.png', highlights: [ '100x cost reduction by having agents query SQL instead of live platform APIs', 'Per-customer isolated databases for agencies managing hundreds of clients', @@ -329,13 +329,13 @@ const data: () => { }, { name: 'Humata', - logo: '/images/customers/logos/humata.png', + logo: '/images/customers/logos/on-light/humata.png', highlights: ['AI-powered document analysis at scale'], cta: { label: 'Read the case study', href: '/customers/humata' }, }, { name: 'Chatbase', - logo: '/images/customers/logos/chatbase.png', + logo: '/images/customers/logos/on-light/chatbase.png', highlights: [ 'One of the most successful single-founder AI products', 'Built entirely on Supabase', @@ -344,7 +344,7 @@ const data: () => { }, { name: 'Markprompt', - logo: '/images/customers/logos/markprompt.png', + logo: '/images/customers/logos/on-light/markprompt.png', highlights: ['GDPR-compliant AI chatbots on Supabase'], cta: { label: 'Read the case study', href: '/customers/markprompt' }, }, diff --git a/apps/www/data/solutions/b2b-saas.tsx b/apps/www/data/solutions/b2b-saas.tsx index e3e785aa464..1971c2eaa00 100644 --- a/apps/www/data/solutions/b2b-saas.tsx +++ b/apps/www/data/solutions/b2b-saas.tsx @@ -121,14 +121,14 @@ const data: () => { logo: ( <> Resend Resend { customers: [ { name: 'Resend', - logo: '/images/customers/logos/resend.png', + logo: '/images/customers/logos/on-light/resend.png', highlights: [ 'Focus on building the best email infrastructure for developers', 'Backend complexity handled by Supabase', @@ -270,7 +270,7 @@ const data: () => { }, { name: 'Mobbin', - logo: '/images/customers/logos/mobbin.png', + logo: '/images/customers/logos/on-light/mobbin.png', highlights: [ 'Migrated 200,000 users from Firebase', 'Better authentication experience at scale', @@ -279,7 +279,7 @@ const data: () => { }, { name: 'Shotgun', - logo: '/images/customers/logos/shotgun.png', + logo: '/images/customers/logos/on-light/shotgun.png', highlights: [ '83% reduction in data infrastructure costs', 'Remarkable database efficiency through migration', @@ -288,7 +288,7 @@ const data: () => { }, { name: 'Quilia', - logo: '/images/customers/logos/quilia.png', + logo: '/images/customers/logos/on-light/quilia.png', highlights: [ '75% reduction in development time', '50% lower costs with enhanced security for sensitive client data', diff --git a/apps/www/data/solutions/finserv.tsx b/apps/www/data/solutions/finserv.tsx index 82252d8946c..60709494d23 100644 --- a/apps/www/data/solutions/finserv.tsx +++ b/apps/www/data/solutions/finserv.tsx @@ -120,14 +120,14 @@ const data: () => { logo: ( <> Deriv Deriv { customers: [ { name: 'Deriv', - logo: '/images/customers/logos/deriv.png', + logo: '/images/customers/logos/on-light/deriv.png', highlights: [ 'Accelerating online trading with scalable Postgres', 'Automation, integrations, and ecosystem', @@ -270,7 +270,7 @@ const data: () => { }, { name: 'Bree', - logo: '/images/customers/logos/bree.png', + logo: '/images/customers/logos/on-light/bree.png', highlights: [ '10X performance gains when switching from Fauna', 'Greater developer velocity and AI-ready foundation', @@ -279,7 +279,7 @@ const data: () => { }, { name: 'Next Door Lending', - logo: '/images/customers/logos/next-door-lending.png', + logo: '/images/customers/logos/on-light/next-door-lending.png', highlights: [ 'Top 10 mortgage broker with Supabase', 'Leveraged Postgres for lending workflows', @@ -288,13 +288,13 @@ const data: () => { }, { name: 'Rally', - logo: '/images/customers/logos/rally.png', + logo: '/images/customers/logos/on-light/rally.png', highlights: ['Building financial applications on Supabase'], cta: { label: 'Read the case study', href: '/customers/rally' }, }, { name: 'Xendit', - logo: '/images/customers/logos/xendit.png', + logo: '/images/customers/logos/on-light/xendit.png', highlights: [ 'Full solution shipped to production in less than one week', 'Payment processor with transaction verification', diff --git a/apps/www/data/solutions/healthcare.tsx b/apps/www/data/solutions/healthcare.tsx index d0a21a58f72..c2616d4144e 100644 --- a/apps/www/data/solutions/healthcare.tsx +++ b/apps/www/data/solutions/healthcare.tsx @@ -119,14 +119,14 @@ const data: () => { logo: ( <> Juniver Juniver { customers: [ { name: 'Juniver', - logo: '/images/customers/logos/juniver.png', + logo: '/images/customers/logos/on-light/juniver.png', highlights: [ 'Automated B2B workflows with Edge Functions and RLS', 'Improved developer experience and performance', diff --git a/apps/www/data/solutions/innovation-teams.tsx b/apps/www/data/solutions/innovation-teams.tsx index 72a46f18adf..8c663a3a677 100644 --- a/apps/www/data/solutions/innovation-teams.tsx +++ b/apps/www/data/solutions/innovation-teams.tsx @@ -276,7 +276,7 @@ const data: () => { customers: [ { name: 'eXp Realty', - logo: '/images/customers/logos/exprealty.png', + logo: '/images/customers/logos/on-light/exprealty.png', highlights: [ 'Saved $3M+ annually across multiple systems', '70+ vibe-coded applications in production', @@ -290,7 +290,7 @@ const data: () => { }, { name: 'Accenture Innovation Labs', - logo: '/images/customers/logos/accenture.svg', + logo: '/images/customers/logos/on-light/accenture.svg', highlights: [ 'Prototype-to-production in hours, not months', 'Avoiding AWS complexity and auto-shutdown policies', diff --git a/apps/www/lib/redirects.js b/apps/www/lib/redirects.js index 5ea900cc4bc..c19d0d3d97c 100644 --- a/apps/www/lib/redirects.js +++ b/apps/www/lib/redirects.js @@ -1,4 +1,15 @@ module.exports = [ + { + permanent: true, + source: '/images/customers/logos/light/:path*', + destination: '/images/customers/logos/on-dark/:path*', + }, + // Legacy root wordmarks moved to on-light/. Keep dreambase-mark.png at logos/ root. + { + permanent: true, + source: '/images/customers/logos/:slug((?!dreambase-mark\\.png)[^/.]+).png', + destination: '/images/customers/logos/on-light/:slug.png', + }, { permanent: true, source: '/blog/pricing', diff --git a/apps/www/next.config.test.ts b/apps/www/next.config.test.ts index b2faa5925af..8c0850e6aa0 100644 --- a/apps/www/next.config.test.ts +++ b/apps/www/next.config.test.ts @@ -1,4 +1,5 @@ import type { NextConfig } from 'next' +import { getPathMatch } from 'next/dist/shared/lib/router/utils/path-match' import { describe, expect, it, vi } from 'vitest' vi.mock('@sentry/nextjs', () => ({ @@ -37,6 +38,16 @@ describe('next.config.mjs', () => { ) expect(redirects).toEqual( expect.arrayContaining([ + expect.objectContaining({ + source: '/images/customers/logos/light/:path*', + destination: '/images/customers/logos/on-dark/:path*', + permanent: true, + }), + expect.objectContaining({ + source: '/images/customers/logos/:slug((?!dreambase-mark\\.png)[^/.]+).png', + destination: '/images/customers/logos/on-light/:slug.png', + permanent: true, + }), expect.objectContaining({ source: '/ui', destination: '/library', permanent: true }), expect.objectContaining({ source: '/ui/:path*', @@ -49,4 +60,34 @@ describe('next.config.mjs', () => { redirects.findIndex((redirect) => redirect.source === '/ui/docs/ai-editors-rules/prompts') ).toBeLessThan(redirects.findIndex((redirect) => redirect.source === '/ui/:path*')) }) + + it('preserves the filename when redirecting legacy customer logos', async () => { + const { default: config } = (await import('./next.config.mjs')) as { default: NextConfig } + const redirects = (await config.redirects?.()) || [] + + const darkModeRedirect = redirects.find( + (redirect) => redirect.source === '/images/customers/logos/light/:path*' + ) + const lightModeRedirect = redirects.find( + (redirect) => + redirect.source === '/images/customers/logos/:slug((?!dreambase-mark\\.png)[^/.]+).png' + ) + + expect(darkModeRedirect).toBeDefined() + expect(lightModeRedirect).toBeDefined() + + const matchLegacyDark = getPathMatch(darkModeRedirect!.source) + const matchLegacyLight = getPathMatch(lightModeRedirect!.source) + + expect(matchLegacyDark('/images/customers/logos/light/good-tape.png')).toEqual({ + path: ['good-tape.png'], + }) + expect(matchLegacyLight('/images/customers/logos/good-tape.png')).toEqual({ + slug: 'good-tape', + }) + expect(matchLegacyLight('/images/customers/logos/dreambase-mark.png')).toBe(false) + expect(matchLegacyLight('/images/customers/logos/dreambase-marketing.png')).toEqual({ + slug: 'dreambase-marketing', + }) + }) }) diff --git a/apps/www/pages/contact/sales.tsx b/apps/www/pages/contact/sales.tsx index 329d495af21..6fe813e43bb 100644 --- a/apps/www/pages/contact/sales.tsx +++ b/apps/www/pages/contact/sales.tsx @@ -50,7 +50,10 @@ const ContactSales = () => { tabs={[ { label: ( - + ), panel: ( { ), }, { - label: , + label: ( + + ), panel: ( { }, { label: ( - + ), panel: ( { tabs={[ { label: ( - + ), panel: ( { ), }, { - label: , + label: ( + + ), panel: ( { }, { label: ( - + ), panel: ( { const { title, customer } = props - const imageUrl = `https://supabase.com/images/customers/logos/light/${customer}.png` + const imageUrl = `https://supabase.com/images/customers/logos/on-dark/${customer}.png` const supabaseLogoUrl = `${STORAGE_URL}/customers/supabase-gradient-icon.svg?t=2024-06-01T16%3A09%3A05.507Z` return (