mirror of
https://github.com/supabase/supabase.git
synced 2026-09-08 10:59:38 +08:00
## Info architecture change around "Partners" The www "integrations" now become more partner-driven. `/partners/integrations` -> now Partner Catalog under `/partners/catalog` (old links redirect to new paths) Moved them close together in the nav dropdown and in the footer <img width="494" height="336" alt="Screenshot 2026-07-09 at 11 06 41" src="https://github.com/user-attachments/assets/a875fef0-0ab8-47ca-8756-d658b27c4892" /> <img width="1149" height="665" alt="Screenshot 2026-07-09 at 11 09 48" src="https://github.com/user-attachments/assets/9631bb72-fe25-4fb4-b1af-9f14a37d02e7" /> ## /partners This page remains untouched in this PR, updates to layout, content and intake form are delegated to #47874 ## /partners/catalog Listed in the [catalog](https://zone-www-dot-com-git-feat-www-partners-pages-supabase.vercel.app/partners/catalog) are now partners. Some partners match with a listing. <img width="1207" height="866" alt="Screenshot 2026-07-09 at 11 14 17" src="https://github.com/user-attachments/assets/b65216be-976f-4ef5-91f8-1ad49da87b45" /> ## /partners/catalog/[partner] Each partner can have one or more "listings" which are either - simple guides - foreign data wrappers - dashboard integrations Integrations available in the dashboard now all have a prominent "Install integration" cta to open it in the dashboard [integrations page](https://supabase.com/dashboard/project/_/integrations). <img width="1269" height="776" alt="Screenshot 2026-07-09 at 11 16 51" src="https://github.com/user-attachments/assets/3c7bb715-ffce-4d0a-905f-9a660c3b1f5a" /> ## Docs Update docs → [Preview](https://docs-git-feat-www-partners-pages-supabase.vercel.app/docs/guides/integrations) - remove "Supabase marketplace" - use "Dashboard Integrations and Partner Catalog - update integrations in sidenav to link to updated /partners/catalog/** listings <img width="1520" height="696" alt="Screenshot 2026-07-15 at 12 54 47" src="https://github.com/user-attachments/assets/9f5a2794-4536-4299-97df-9732d3d75b4c" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a Partner Catalog experience with search, category filters, official-partner toggle, responsive filtering (sidebar + bottom sheet), grid/list views, and featured partners. * Added Partner Catalog detail pages with tabbed listings, MDX-rendered content, image gallery with zoom overlay, and “add/install” actions. * **Improvements** * Updated “Become a Partner” layout and form support for prefilled values and checkbox-group fields (including validation). * Updated navigation/footer/docs and partner tile links to use Partner Catalog routes; expanded redirects from legacy integrations paths. * Added public agent-skills discovery manifest. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alan Daniel <stylesshjs@gmail.com> Co-authored-by: Alex Hall <alex.hall@supabase.io> Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io>
169 lines
4.2 KiB
TypeScript
169 lines
4.2 KiB
TypeScript
import { ArrowRight } from 'lucide-react'
|
|
|
|
import { isFeatureEnabled } from 'common'
|
|
import type { ICommand } from 'ui-patterns/CommandMenu'
|
|
import { useRegisterCommands } from 'ui-patterns/CommandMenu'
|
|
|
|
const navCommands = [
|
|
{
|
|
id: 'nav-getting-started',
|
|
name: 'Go to Getting Started',
|
|
route: '/guides/getting-started',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-database',
|
|
name: 'Go to Database',
|
|
route: '/guides/database/overview',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-auth',
|
|
name: 'Go to Auth',
|
|
route: '/guides/auth',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-storage',
|
|
name: 'Go to Storage',
|
|
route: '/guides/storage',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-functions',
|
|
name: 'Go to Functions',
|
|
route: '/guides/functions',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-realtime',
|
|
name: 'Go to Realtime',
|
|
route: '/guides/realtime',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-ai',
|
|
name: 'Go to AI & Vectors',
|
|
route: '/guides/ai',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-rest',
|
|
name: 'Go to REST API',
|
|
route: '/guides/api',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-graphql',
|
|
name: 'Go to GraphQL',
|
|
route: '/guides/graphql',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-local-cli',
|
|
name: 'Go to Local Dev / CLI',
|
|
route: '/guides/cli',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-platform',
|
|
name: 'Go to Platform',
|
|
route: '/guides/platform',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-self-hosting',
|
|
name: 'Go to Self-Hosting',
|
|
route: '/guides/self-hosting',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-ref-javascript',
|
|
name: 'Go to JavaScript reference',
|
|
value: 'Reference, API, SDK: Go to JavaScript reference (JS)',
|
|
route: '/reference/javascript/introduction',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-ref-dart',
|
|
name: 'Go to Dart reference',
|
|
value: 'Reference, API, SDK: Go to Dart reference (Flutter)',
|
|
route: '/reference/dart/introduction',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('sdk:dart'),
|
|
},
|
|
{
|
|
id: 'nav-ref-python',
|
|
name: 'Go to Python reference',
|
|
value: 'Reference, API, SDK: Go to Python reference',
|
|
route: '/reference/python/introduction',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('sdk:python'),
|
|
},
|
|
{
|
|
id: 'nav-ref-csharp',
|
|
name: 'Go to C# reference',
|
|
value: 'Reference, API, SDK: Go to C# reference',
|
|
route: '/reference/csharp/introduction',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('sdk:csharp'),
|
|
},
|
|
{
|
|
id: 'nav-ref-swift',
|
|
name: 'Go to Swift reference',
|
|
value: 'Reference, API, SDK: Go to Swift reference',
|
|
route: '/reference/swift/introduction',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('sdk:swift'),
|
|
},
|
|
{
|
|
id: 'nav-ref-kotlin',
|
|
name: 'Go to Kotlin reference',
|
|
value: 'Reference, API, SDK: Go to Kotlin reference',
|
|
route: '/reference/kotlin/introduction',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('sdk:kotlin'),
|
|
},
|
|
{
|
|
id: 'nav-ref-cli',
|
|
name: 'Go to CLI reference',
|
|
value: 'Reference, API, SDK: Go to CLI reference',
|
|
route: '/reference/cli/introduction',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-ref-api',
|
|
name: 'Go to Management API reference',
|
|
value: 'Reference, API, SDK: Go to Management API reference',
|
|
route: '/reference/api/introduction',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-resources',
|
|
name: 'Go to Guides & Examples',
|
|
route: '/guides/resources',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
{
|
|
id: 'nav-integrations',
|
|
name: 'Go to Partner Catalog',
|
|
route: 'https://supabase.com/partners/catalog',
|
|
icon: () => <ArrowRight />,
|
|
enabled: isFeatureEnabled('integrations:partners'),
|
|
},
|
|
{
|
|
id: 'nav-ui',
|
|
name: 'Go to Supabase UI Library',
|
|
route: 'https://supabase.com/ui',
|
|
icon: () => <ArrowRight />,
|
|
},
|
|
] satisfies Array<ICommand & { enabled?: boolean }>
|
|
|
|
const filteredNavCommands = navCommands.filter((command) => command.enabled !== false)
|
|
|
|
const useDocsNavCommands = () => {
|
|
useRegisterCommands('Go to', filteredNavCommands)
|
|
}
|
|
|
|
export { useDocsNavCommands }
|