From 1c092d2d05cd251ffe083f2fed89d65e832a9ef6 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Wed, 24 Sep 2025 20:10:24 +0800 Subject: [PATCH 1/2] chore: optional git url in homepage client libs (#38949) --- .../components/interfaces/Home/ClientLibrary.tsx | 14 ++++++++------ .../hooks/custom-content/CustomContent.types.ts | 2 +- .../custom-content/custom-content.schema.json | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/studio/components/interfaces/Home/ClientLibrary.tsx b/apps/studio/components/interfaces/Home/ClientLibrary.tsx index 529bd0ff11f3f..cb2d14d4515de 100644 --- a/apps/studio/components/interfaces/Home/ClientLibrary.tsx +++ b/apps/studio/components/interfaces/Home/ClientLibrary.tsx @@ -7,7 +7,7 @@ interface ClientLibraryProps { language: string officialSupport?: boolean docsUrl?: string - gitUrl: string + gitUrl?: string altIconName?: string } @@ -50,11 +50,13 @@ const ClientLibrary = ({ )} - - - + {gitUrl && ( + + + + )} diff --git a/apps/studio/hooks/custom-content/CustomContent.types.ts b/apps/studio/hooks/custom-content/CustomContent.types.ts index 7fbe87e074151..a84484def9c99 100644 --- a/apps/studio/hooks/custom-content/CustomContent.types.ts +++ b/apps/studio/hooks/custom-content/CustomContent.types.ts @@ -15,7 +15,7 @@ export type CustomContentTypes = { officialSupport: boolean releaseState?: string docsUrl: string - gitUrl: string + gitUrl?: string altIconName?: string }[] projectHomepageExampleProjects: { diff --git a/apps/studio/hooks/custom-content/custom-content.schema.json b/apps/studio/hooks/custom-content/custom-content.schema.json index 5569c4d71fa51..af9bd62d2720a 100644 --- a/apps/studio/hooks/custom-content/custom-content.schema.json +++ b/apps/studio/hooks/custom-content/custom-content.schema.json @@ -44,7 +44,7 @@ "gitUrl": { "type": "string" }, "altIconName": { "type": "string" } }, - "required": ["language", "officialSupport", "docsUrl", "gitUrl"] + "required": ["language", "officialSupport", "docsUrl"] } }, "project_homepage:example_projects": { From 57fb359434ec72a4452006867175d2994985b8d2 Mon Sep 17 00:00:00 2001 From: Kalleby Santos <105971119+kallebysantos@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:49:55 +0100 Subject: [PATCH 2/2] feat(docs): add menu links to Supabase UI Library (#38827) * feat: add UI library icon to 'Menu Icons' * feat: add UI Library links * stamp: format * Update apps/docs/app/page.tsx --------- Co-authored-by: Chris Chinchilla Co-authored-by: Chris Chinchilla --- apps/docs/app/page.tsx | 8 ++++++ .../Navigation/Navigation.commands.tsx | 6 ++++ .../NavigationMenu/MenuIconPicker.tsx | 3 ++ .../Navigation/NavigationMenu/MenuIcons.tsx | 28 +++++++++++++++++++ .../NavigationMenu.constants.ts | 6 ++++ 5 files changed, 51 insertions(+) diff --git a/apps/docs/app/page.tsx b/apps/docs/app/page.tsx index ee6dd551ad76c..44fa2d0b76ec4 100644 --- a/apps/docs/app/page.tsx +++ b/apps/docs/app/page.tsx @@ -187,6 +187,13 @@ const additionalResources = [ icon: 'integrations', href: '/guides/integrations', }, + { + title: 'Supabase UI', + description: 'A collection of pre-built Supabase components to speed up your project.', + icon: 'ui', + href: 'https://supabase.com/ui', + external: true, + }, ] const HomePage = () => ( @@ -303,6 +310,7 @@ const HomePage = () => ( href={resource.href} className="col-span-12 md:col-span-6 lg:col-span-3" passHref + target={resource.external ? '_blank' : undefined} > {resource.description} diff --git a/apps/docs/components/Navigation/Navigation.commands.tsx b/apps/docs/components/Navigation/Navigation.commands.tsx index 2ab00c9e48788..2a97ee8fc8cd2 100644 --- a/apps/docs/components/Navigation/Navigation.commands.tsx +++ b/apps/docs/components/Navigation/Navigation.commands.tsx @@ -151,6 +151,12 @@ const navCommands = [ icon: () => , enabled: isFeatureEnabled('integrations:partners'), }, + { + id: 'nav-ui', + name: 'Go to Supabase UI Library', + route: 'https://supabase.com/ui', + icon: () => , + }, ] satisfies Array const filteredNavCommands = navCommands.filter((command) => command.enabled !== false) diff --git a/apps/docs/components/Navigation/NavigationMenu/MenuIconPicker.tsx b/apps/docs/components/Navigation/NavigationMenu/MenuIconPicker.tsx index 2594209642a66..2a17390edf195 100644 --- a/apps/docs/components/Navigation/NavigationMenu/MenuIconPicker.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/MenuIconPicker.tsx @@ -30,6 +30,7 @@ import { IconSecurity, IconSupport, IconTroubleshooting, + IconUI, } from './MenuIcons' function getMenuIcon(menuKey: string, width: number = 16, height: number = 16, className?: string) { @@ -102,6 +103,8 @@ function getMenuIcon(menuKey: string, width: number = 16, height: number = 16, c return case 'queues': return + case 'ui': + return default: return } diff --git a/apps/docs/components/Navigation/NavigationMenu/MenuIcons.tsx b/apps/docs/components/Navigation/NavigationMenu/MenuIcons.tsx index 1eaed4adbe780..7306d2c55a286 100644 --- a/apps/docs/components/Navigation/NavigationMenu/MenuIcons.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/MenuIcons.tsx @@ -666,3 +666,31 @@ export function IconTroubleshooting({ width = 16, height = 16, className }: Home ) } + +export function IconUI({ width = 16, height = 16, className }: HomeMenuIcon) { + return ( + + + + + + ) +} diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index 25b3102707d38..2612788b20470 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -261,6 +261,12 @@ export const GLOBAL_MENU_ITEMS: GlobalMenuItems = [ href: '/reference/api/introduction' as `/${string}`, level: 'reference_javascript', }, + { + label: 'UI Library', + icon: 'ui', + href: 'https://supabase.com/ui' as `/${string}`, + level: 'ui', + }, ], [ { label: 'Data API' },