mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
## What kind of change does this PR introduce?
Chore: rename customer logo folders and document the theme contract. No
intended visual change, aside from Phoenix Energy whose two marks were
in the wrong folders.
## What is the current behavior?
Customer logos live at:
- `/images/customers/logos/{slug}.png` (`logo`, light mode)
- `/images/customers/logos/light/{slug}.png` (`logo_inverse`, dark mode)
`light/` actually means “use me on a dark background”.
## What is the new behavior?
Same assets, clearer paths:
- `/images/customers/logos/on-light/{slug}.png` → dark/black mark →
`logo` → light mode
- `/images/customers/logos/on-dark/{slug}.png` → light/white mark →
`logo_inverse` → dark mode
Icon chips stay at `/images/customers/logos/{slug}-icon.svg`. Old
`/images/customers/logos/light/*` URLs redirect to `on-dark`. www README
now has the contract.
# To test
Use the [www
preview](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app).
Toggle light/dark from the site header on each page. Logos should stay
readable (no white-on-white or black-on-black).
1. [Customers
grid](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/customers)
— main `logo` / `logo_inverse` surface. Spot-check Juniver, Phoenix
Energy, and one other card.
2. [Phoenix Energy
story](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/customers/phoenix-energy)
— story header uses `logo` only (on-light, plus a dark-mode brightness
filter). We swapped this pair.
3.
[Homepage](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/)
— “How industry leaders…” section. Icon chips only (`*-icon.svg`); the
wordmark `logo` field is unused here.
4. [Solutions /
Agents](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/agents)
— Chatbase quote near the top shows both theme variants. Same pattern on
[/healthcare](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/healthcare),
[/finserv](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/finserv),
and
[/b2b-saas](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/b2b-saas).
5. [Contact
sales](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/contact/sales)
— Good Tape / Xendit / Chatbase wordmarks (`on-light`). Same logos on
the demo form at
[/solutions/enterprise](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/enterprise).
6.
[Enterprise](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/enterprise)
— Mozilla / Epsilon3 / Pebblely icons in the use-cases section
(`on-dark`).
7.
[Vector](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/modules/vector)
— customer quotes. This is the only page that builds `on-light` /
`on-dark` paths at runtime from the customer slug.
8. [Mobbin
event](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/events/migrating-from-firebase-mobbin)
— company logo uses event `logo` / `logo_light` (dark vs light).
Optional second:
[/events/scale-to-millions-goodtape-auth](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/events/scale-to-millions-goodtape-auth).
Quick extra: hover **Product** in the site nav. The customer story
thumbnail uses `imgUrl` (`on-light`).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Documentation
- Clarified customer logo requirements, including separate light and
dark asset locations, monochrome formats, and dark PNG assets for image
generation.
## Updates
- Standardized customer logos across stories, events, sales pages,
solution pages, testimonials, and generated images.
- Improved logo rendering across light and dark themes with dedicated
variants.
- Added permanent redirects for legacy logo URLs while preserving
filename suffixes.
## Tests
- Added coverage verifying legacy logo redirects resolve correctly,
including supported exceptions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
114 lines
3.9 KiB
TypeScript
114 lines
3.9 KiB
TypeScript
import React, { FC } from 'react'
|
||
import SectionContainer from '~/components/Layouts/SectionContainer'
|
||
|
||
import { CustomerLogo, CustomerQuote } from '../../pages/contact/sales'
|
||
import EnterpriseFormQuotes from '../EnterpriseFormQuotes'
|
||
import RequestADemoForm from '../Forms/RequestADemoForm'
|
||
|
||
interface Props {}
|
||
|
||
const UseCases: FC<Props> = (props) => {
|
||
return (
|
||
<SectionContainer className="text grid gap-8 lg:gap-12 md:grid-cols-2">
|
||
<div className="lg:pb-8 md:h-full w-full flex flex-col justify-between gap-2">
|
||
<div className="flex flex-col gap-2 md:max-w-md">
|
||
<h1 className="h1 m-0!">Request a demo</h1>
|
||
<p className="md:text-lg text-foreground-lighter">
|
||
We can take your requirements and show you how Supabase can help you achieve your goals.
|
||
</p>
|
||
</div>
|
||
<EnterpriseFormQuotes
|
||
className="hidden md:flex"
|
||
tabs={[
|
||
{
|
||
label: (
|
||
<CustomerLogo
|
||
title="Goodtape"
|
||
logo="/images/customers/logos/on-light/good-tape.png"
|
||
/>
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="My biggest regret is not having gone with Supabase from the beginning."
|
||
author="Jakob Steinn, Co-founder & Tech Lead, Good Tape"
|
||
/>
|
||
),
|
||
},
|
||
{
|
||
label: (
|
||
<CustomerLogo title="Xendit" logo="/images/customers/logos/on-light/xendit.png" />
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="The full solution was built and in production in less than one week."
|
||
author="Developer, Xendit"
|
||
/>
|
||
),
|
||
},
|
||
{
|
||
label: (
|
||
<CustomerLogo
|
||
title="Chatbase"
|
||
logo="/images/customers/logos/on-light/chatbase.png"
|
||
/>
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="Supabase is great because it has everything. I don’t need a different solution for authentication, a different solution for database, or a different solution for storage."
|
||
author="Yasser Elsaid, Founder, Chatbase"
|
||
className="max-w-none"
|
||
/>
|
||
),
|
||
},
|
||
]}
|
||
/>
|
||
</div>
|
||
<RequestADemoForm />
|
||
<EnterpriseFormQuotes
|
||
className="md:hidden mt-4"
|
||
tabs={[
|
||
{
|
||
label: (
|
||
<CustomerLogo
|
||
title="Goodtape"
|
||
logo="/images/customers/logos/on-light/good-tape.png"
|
||
/>
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="My biggest regret is not having gone with Supabase from the beginning."
|
||
author="Jakob Steinn Co-founder & Tech Lead"
|
||
/>
|
||
),
|
||
},
|
||
{
|
||
label: (
|
||
<CustomerLogo title="Xendit" logo="/images/customers/logos/on-light/xendit.png" />
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="The full solution was built and in production in less than one week."
|
||
author="Xendit developer"
|
||
/>
|
||
),
|
||
},
|
||
{
|
||
label: (
|
||
<CustomerLogo title="Chatbase" logo="/images/customers/logos/on-light/chatbase.png" />
|
||
),
|
||
panel: (
|
||
<CustomerQuote
|
||
quote="Supabase is great because it has everything. I don’t need a different solution for authentication, a different solution for database, or a different solution for storage."
|
||
author="Yasser Elsaid, Founder, Chatbase"
|
||
className="max-w-none"
|
||
/>
|
||
),
|
||
},
|
||
]}
|
||
/>
|
||
</SectionContainer>
|
||
)
|
||
}
|
||
|
||
export default UseCases
|