From ec53175b8a25482778844866a61540e236065fa9 Mon Sep 17 00:00:00 2001 From: Danny White <3104761+dnywh@users.noreply.github.com> Date: Tue, 22 Sep 2026 16:19:03 +1000 Subject: [PATCH] refactor(ui): rename text-brand to text-primary (#50564) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## What kind of change does this PR introduce? Refactor. Follow-up to #49871. ## What is the current behavior? Branded (green) text still uses the `text-brand` classname while the colour comes from `--primary`. ## What is the new behavior? **Rename-only:** `text-brand` → `text-primary` across callsites and docs. Leftover `bg-brand` / `border-brand` alias to `brand-default`. No intentional colour changes in this PR. This better matches how we treat our green in other components and props, like `variant="primary"` for green buttons. ## To test On light mode: smoke-test that branded text still looks like #49871 (readable green, not the bright fill). - [Homepage](https://zone-www-dot-com-git-dnywh-depr-316-text-brand-de2380-supabase.vercel.app/): “Scale to millions” uses `text-primary` - [Docs homepage](https://docs-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/docs): branded links like “More on self-hosting” are still readable - [Typography docs](https://design-system-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/design-system/docs/typography): documents `text-primary` - [Colour usage](https://design-system-git-dnywh-depr-316-text-brand-to-primary-supabase.vercel.app/design-system/docs/color-usage): `text-primary` is visibly darker than `bg-brand-default` _on light mode_ - [Studio auth providers](https://studio-staging-git-dnywh-depr-316-text-brand-to-60fa6c-supabase.vercel.app/dashboard/project/_/auth/providers): enabled provider badge text readable; status dot stays bright green ## Summary by CodeRabbit * **Style** * Updated branded text, link hover states, icons, badges, indicators, and highlighted content across the Design System, Docs, Studio, Learn, UI Library, and marketing experiences to use the primary theme color. * Updated syntax highlighting and table-of-contents styling for consistent primary-color presentation. * Refined brand color fallback behavior for bright fills and borders. * **Documentation** * Updated color-usage and typography guidance to recommend the primary text utility. --- apps/design-system/app/(app)/page.tsx | 4 +- .../components/mdx-components.tsx | 2 +- .../content/docs/color-usage.mdx | 2 +- .../design-system/content/docs/typography.mdx | 4 +- .../example/page-layout-edge-function.tsx | 2 +- .../example/page-layout-logs-content.tsx | 2 +- apps/docs/app/page.tsx | 4 +- .../components/Feedback/FeedbackModal.tsx | 2 +- apps/docs/components/GuidesSidebar.tsx | 2 +- apps/docs/components/MetricsStackCards.tsx | 2 +- apps/docs/components/Navigation/Footer.tsx | 2 +- .../NavigationMenu/GlobalMobileMenu.tsx | 2 +- .../NavigationMenu/NavigationMenuCliList.tsx | 4 +- .../NavigationMenuGuideListItems.tsx | 16 ++--- .../NavigationMenuRefListItems.tsx | 2 +- .../Navigation/NavigationMenu/TopNavBar.tsx | 2 +- apps/docs/components/Navigation/SideBar.tsx | 10 ++-- apps/docs/features/docs/Reference.header.tsx | 2 +- .../docs/Reference.navigation.client.tsx | 2 +- apps/docs/features/ui/AgentPluginsPanel.tsx | 18 +++--- apps/docs/features/ui/AgentSetup.tsx | 4 +- apps/kb/src/components/Logo.tsx | 2 +- apps/learn/components/mdx-components.tsx | 2 +- apps/learn/components/tanstack-beta.tsx | 2 +- .../footer/pagination/Pagination.tsx | 4 +- .../formatter/ReferenceRecordPeek.tsx | 2 +- .../header/filter/FilterPopoverNew.tsx | 5 +- .../Scoped/TokenCapabilities/EndpointRow.tsx | 2 +- .../interfaces/Advisors/CreateRuleSheet.tsx | 4 +- .../FeaturePreview/FeaturePreviewModal.tsx | 4 +- .../Auth/AuthProvidersForm/ProviderForm.tsx | 2 +- .../Auth/Overview/OverviewUsage.constants.ts | 2 +- .../ThirdPartyAuthForm/IntegrationCard.tsx | 10 ++-- .../interfaces/Auth/Users/UserOverview.tsx | 4 +- .../interfaces/Auth/Users/UsersFooter.tsx | 4 +- .../BranchManagement/BranchSelector.tsx | 2 +- .../BranchManagement/CreateBranchModal.tsx | 2 +- .../EdgeFunctionsDiffPanel.tsx | 2 +- .../BranchManagement/EditBranchModal.tsx | 2 +- .../BranchManagement/WorkflowLogsCard.tsx | 4 +- .../interfaces/Branching/MergeRequest.tsx | 4 +- .../ConfigDrift/ConfigurationDriftPage.tsx | 2 +- .../ConnectSheet/CopyPromptAdmonition.tsx | 2 +- .../steps/direct-connection/content.tsx | 2 +- .../Database/Backups/PITR/PITRNotice.tsx | 2 +- .../AdditionalMonthlySpend.tsx | 2 +- .../Database/Indexes/CreateIndexSidePanel.tsx | 4 +- .../DestinationForm/DuckLake/Fields.tsx | 2 +- .../DestinationForm/PublicationsComboBox.tsx | 2 +- .../Database/Schemas/SchemaTableNode.tsx | 2 +- .../interfaces/Database/Tables/TableList.tsx | 2 +- .../EventTriggersList/EventTriggerList.tsx | 2 +- .../Triggers/TriggersList/TriggerList.tsx | 2 +- ...gementReviewAndSubmitDialog.components.tsx | 2 +- .../ExplainVisualizer.RowCountIndicator.tsx | 2 +- .../ExplainVisualizer.utils.ts | 2 +- .../Explorer/ExplorerNotebookTab.tsx | 4 +- .../interfaces/Explorer/ExplorerQueryTab.tsx | 2 +- .../interfaces/Functions/CommandRender.tsx | 2 +- .../EdgeFunctionDetails.tsx | 2 +- .../EdgeFunctionDetails.utils.tsx | 12 ++-- .../EdgeFunctionRecentErrors.tsx | 2 +- .../EdgeFunctionRecentInvocations.tsx | 2 +- .../Functions/EdgeFunctionsListItem.tsx | 2 +- .../Home/ProjectList/ProjectTableRow.tsx | 2 +- .../CronJobs/CronJobsTab.CleanupNotice.tsx | 4 +- .../Integrations/Landing/IntegrationCard.tsx | 4 +- .../Integrations/Queues/QueueCells.tsx | 2 +- .../Integrations/Wrappers/ColumnType.tsx | 4 +- .../Wrappers/CreateWrapperSheet.tsx | 2 +- .../JwtSecrets/algorithm-hover-card.tsx | 2 +- .../jwt-secret-keys-table/index.tsx | 2 +- .../rotate-key-dialog.tsx | 10 ++-- .../interfaces/JwtSecrets/jwt-settings.tsx | 4 +- .../BillingBreakdown/BillingMetric.tsx | 2 +- .../BillingBreakdown/ComputeMetric.tsx | 4 +- .../Subscription/EnterpriseCard.tsx | 6 +- .../BillingSettings/Subscription/PlanCard.tsx | 6 +- .../Subscription/Subscription.tsx | 2 +- .../SubscriptionPlanUpdateDialog.tsx | 4 +- .../OAuthApps/AuthorizeRequesterDetails.tsx | 2 +- .../OAuthApps/OAuthSecrets/SecretRow.tsx | 2 +- .../OAuthApps/PublishableApps.tsx | 2 +- .../Apps/ViewAppSheet/ViewAppSheetInfo.tsx | 2 +- .../Organization/ProjectClaim/benefits.tsx | 14 ++--- .../Organization/ProjectClaim/confirm.tsx | 10 ++-- .../Organization/TeamSettings/MemberRow.tsx | 2 +- .../interfaces/Organization/Usage/Usage.tsx | 2 +- .../DisabledWarningDueToIncident.tsx | 2 +- .../ProjectCreation/ProjectCreationFooter.tsx | 2 +- .../interfaces/ProjectHome/PlanUsageCard.tsx | 2 +- .../ProjectHome/ProjectConnectionPopover.tsx | 2 +- .../interfaces/ProjectHome/ServiceStatus.tsx | 2 +- .../IndexAdvisor/IndexImprovementText.tsx | 2 +- .../QueryPerformance/QueryDetail.tsx | 2 +- .../QueryPerformance/QueryIndexes.tsx | 4 +- .../QueryPerformance/QueryPanel.tsx | 4 +- .../Realtime/Inspector/AnimatedCursors.tsx | 2 +- .../Inspector/ChooseChannelPopover.tsx | 2 +- .../RealtimeFilterPopover/TableSelector.tsx | 4 +- .../SQLEditor/SQLEditorEditorPanel.tsx | 2 +- .../interfaces/SQLEditor/SQLEditorLayout.tsx | 2 +- .../UtilityPanel/SavingIndicator.tsx | 2 +- .../SQLEditor/UtilityPanel/UtilityActions.tsx | 4 +- .../Settings/API/ExposedFunctionSelector.tsx | 2 +- .../Settings/API/ExposedSchemaSelector.tsx | 4 +- .../Settings/API/ExposedTableSelector.tsx | 2 +- .../Settings/API/HardenAPIModal.tsx | 6 +- .../Infrastructure/ProjectUpgradeAlert.tsx | 4 +- .../Settings/Logs/Logs.DatePickers.tsx | 2 +- .../Settings/Logs/LogsFormatters.tsx | 2 +- .../Settings/Logs/LogsQueryPanel.tsx | 4 +- .../Settings/Logs/MultiSelectActionBar.tsx | 4 +- .../BucketFilePickerHeader.tsx | 6 +- .../StorageExplorer/FileExplorerHeader.tsx | 6 +- .../Support/LinkSupportTicketPage.tsx | 2 +- .../components/interfaces/Support/Success.tsx | 2 +- .../TableGridEditor/GridHeaderActions.tsx | 2 +- .../TableGridEditor/InsertButton.tsx | 2 +- .../ColumnEditor/ColumnType.tsx | 4 +- .../AddRowOperationItem.tsx | 6 +- .../OperationQueueSidePanel/OperationItem.tsx | 4 +- .../ForeignRowSelector/SelectorGrid.tsx | 2 +- .../SpreadSheetFileUpload.tsx | 2 +- .../components/ServiceFlowPanelControls.tsx | 4 +- .../layouts/ProjectLayout/BuildingState.tsx | 2 +- .../PausedState/ProjectPausedState.tsx | 2 +- .../layouts/ProjectLayout/RestoringState.tsx | 2 +- .../ProjectLayout/UpgradingState/index.tsx | 2 +- .../ProjectNeedsSecuringView.tsx | 2 +- .../ui/AIAssistantPanel/Confirm.tsx | 2 +- .../ui/AIAssistantPanel/Message.Actions.tsx | 2 +- .../components/ui/AiAssistantDropdown.tsx | 2 +- .../BannerTableEditorQueueOperations.tsx | 4 +- apps/studio/components/ui/CopyButton.tsx | 2 +- .../ui/ErrorCodeTooltip/ErrorCodeTooltip.tsx | 2 +- .../studio/components/ui/FunctionSelector.tsx | 2 +- .../components/ui/Logs/LogsExplorerHeader.tsx | 6 +- apps/studio/components/ui/SchemaSelector.tsx | 4 +- .../project/[ref]/branches/merge-requests.tsx | 2 +- .../[ref]/database/backups/scheduled.tsx | 2 +- apps/studio/styles/code.css | 6 +- apps/studio/styles/grid.css | 2 +- apps/studio/styles/ui.css | 4 +- .../tests/components/CopyButton.test.tsx | 2 +- apps/ui-library/app/(app)/page.tsx | 16 ++--- apps/ui-library/components/mdx-components.tsx | 2 +- apps/ui-library/components/tanstack-beta.tsx | 2 +- .../examples/current-user-avatar-demo.tsx | 2 +- .../examples/realtime-avatar-stack-demo.tsx | 2 +- .../supabase-pipelines-new-destinations.tsx | 6 +- .../supabase-stripe-projects.tsx | 9 ++- apps/www/app/(home)/_components/Hero.tsx | 2 +- .../app/(products)/_shared/QuoteSection.tsx | 2 +- .../auth/_components/FeaturesSection.tsx | 8 +-- .../auth/_components/HighlightsSection.tsx | 2 +- .../database/_components/FeaturesSection.tsx | 8 ++- .../_components/HighlightsSection.tsx | 2 +- .../Illustrations/SpreadsheetIllustration.tsx | 2 +- .../database/_components/VisualDemo.tsx | 2 +- .../edge-functions/_components/CTASection.tsx | 6 +- .../realtime/_components/FeaturesSection.tsx | 8 ++- .../_components/BucketTypesSection.tsx | 2 +- .../storage/_components/FeaturesSection.tsx | 6 +- .../blog/authors/[author]/AuthorClient.tsx | 2 +- .../partners/catalog/IntegrationsContent.tsx | 2 +- .../catalog/[slug]/PartnerCatalogDetail.tsx | 6 +- .../StateOfStartups2026Content.tsx | 6 +- .../components/CohortToggle.tsx | 2 +- .../components/ParticipantsCarousel.tsx | 2 +- .../components/SectionCallout.tsx | 4 +- .../StateOfStartupsAuroraHeader.tsx | 2 +- .../components/SurveyChapter.tsx | 4 +- .../components/SurveyChapterSection.tsx | 2 +- .../components/SurveyChart.tsx | 2 +- .../components/SurveyCompareStatCard.tsx | 2 +- .../components/SurveyPullQuoteGrid.tsx | 2 +- .../components/SurveyRankedAnswersPair.tsx | 2 +- .../components/SurveyStatCard.tsx | 2 +- .../register/RegisterContent.tsx | 6 +- apps/www/components/CodeBlock/CodeBlock.tsx | 2 +- apps/www/components/Contribute/Hero.tsx | 2 +- .../Contribute/markdownComponents.tsx | 2 +- apps/www/components/EventCallout.tsx | 8 +-- apps/www/components/FeaturesMatrix.tsx | 2 +- apps/www/components/Footer/index.tsx | 4 +- .../7/LaunchSection/ArticleButtonListItem.tsx | 2 +- .../7/LaunchSection/ProductButtonListItem.tsx | 2 +- .../www/components/Layouts/SectionHeading.tsx | 2 +- apps/www/components/MarkdownActions.tsx | 2 +- apps/www/components/Nav/MenuItem.tsx | 2 +- apps/www/components/Nav/index.tsx | 4 +- apps/www/components/OpenSource/RepoCard.tsx | 2 +- apps/www/components/OpenSource/Repos.tsx | 2 +- .../components/OpenSource/Sponsorships.tsx | 2 +- .../components/Partners/PartnerLinkBox.tsx | 2 +- .../Pricing/ComputePricingTable.tsx | 4 +- .../Pricing/PricingComputeSection.tsx | 4 +- .../components/Pricing/PricingDiskSection.tsx | 2 +- apps/www/components/Pricing/PricingFAQs.tsx | 2 +- apps/www/components/Pricing/PricingPlans.tsx | 2 +- apps/www/components/ProductIcon.tsx | 8 +-- .../Products/Functions/FunctionsHero.tsx | 2 +- .../Products/Functions/LocalDXImage.tsx | 2 +- .../components/Products/FunctionsVisual.tsx | 2 +- .../components/Sections/CommunitySlider.tsx | 2 +- .../Sections/CustomerQuotesSection.tsx | 2 +- apps/www/components/Sections/PageHeader.tsx | 2 +- .../components/Sections/ProductHeader2.tsx | 2 +- .../Sections/ProductHeaderCentered.tsx | 2 +- .../Sections/ProductModulesHeader.tsx | 2 +- .../Solutions/CustomerEvidenceSection.tsx | 4 +- .../Solutions/PricingComparisonSection.tsx | 2 +- .../components/SubprocessorUpdatesForm.tsx | 2 +- .../SurveyResults/StateOfStartupsHeader.tsx | 4 +- .../SurveyResults/SurveyChapter.tsx | 2 +- .../SurveyResults/SurveyChapterSection.tsx | 2 +- .../components/SurveyResults/SurveyChart.tsx | 2 +- .../SurveyResults/SurveyRankedAnswersPair.tsx | 2 +- .../SurveyResults/SurveyStatCard.tsx | 2 +- apps/www/components/Wrapped/Pages/Devs.tsx | 6 +- apps/www/components/Wrapped/Pages/Home.tsx | 2 +- .../Wrapped/Pages/ProductAnnouncements.tsx | 2 +- apps/www/data/products/modules/vector.tsx | 4 +- apps/www/data/solutions/beginners.tsx | 2 +- apps/www/data/solutions/hosted-postgres.tsx | 2 +- apps/www/data/solutions/vibe-coders.tsx | 2 +- apps/www/layouts/comparison.tsx | 2 +- apps/www/pages/aws-reinvent-2025.tsx | 2 +- apps/www/pages/beta.tsx | 60 ++++++++++--------- apps/www/pages/brand-assets.tsx | 2 +- apps/www/pages/careers.tsx | 2 +- apps/www/pages/contact-us.tsx | 6 +- apps/www/pages/customers/[slug].tsx | 2 +- apps/www/pages/events/[slug].tsx | 4 +- apps/www/pages/regions.tsx | 2 +- apps/www/pages/solutions/innovation-teams.tsx | 2 +- apps/www/pages/state-of-startups-2025.tsx | 8 +-- apps/www/pages/support.tsx | 2 +- apps/www/styles/globals.css | 2 +- packages/config/css/theme.css | 4 +- packages/dev-tools/DevToolbar.tsx | 2 +- .../marketing/src/forms/MarketingForm.tsx | 2 +- .../marketing/src/go/sections/HeroSection.tsx | 2 +- .../src/go/sections/TextBodySection.tsx | 2 +- .../src/Admonition/AdmonitionIcons.tsx | 2 +- .../AssistantCommandsPopover.tsx | 2 +- packages/ui-patterns/src/Chart/index.tsx | 2 +- .../prepackaged/DocsAi/DocsAiPage.tsx | 2 +- .../src/Dialogs/TextConfirmModal.tsx | 2 +- packages/ui-patterns/src/GlassPanel/index.tsx | 2 +- .../components/InstructionBlocks.tsx | 2 +- .../components/McpConfigurationDisplay.tsx | 4 +- packages/ui-patterns/src/MetricCard/index.tsx | 2 +- packages/ui-patterns/src/Toc/toc.tsx | 2 +- .../CustomHTMLElements.utils.ts | 6 +- packages/ui/src/lib/tailwind-demo-classes.ts | 2 +- 257 files changed, 454 insertions(+), 422 deletions(-) diff --git a/apps/design-system/app/(app)/page.tsx b/apps/design-system/app/(app)/page.tsx index c8a6e7d3d78..515bdceef09 100644 --- a/apps/design-system/app/(app)/page.tsx +++ b/apps/design-system/app/(app)/page.tsx @@ -30,7 +30,7 @@ export default function Home() {
-
+
@@ -44,7 +44,7 @@ export default function Home() {
-
+
diff --git a/apps/design-system/components/mdx-components.tsx b/apps/design-system/components/mdx-components.tsx index 28504424149..8b1469d65ad 100644 --- a/apps/design-system/components/mdx-components.tsx +++ b/apps/design-system/components/mdx-components.tsx @@ -87,7 +87,7 @@ const components = { a: ({ className, ...props }: React.HTMLAttributes) => (
diff --git a/apps/docs/components/GuidesSidebar.tsx b/apps/docs/components/GuidesSidebar.tsx index a9fb4fdb028..8de66f5a342 100644 --- a/apps/docs/components/GuidesSidebar.tsx +++ b/apps/docs/components/GuidesSidebar.tsx @@ -62,7 +62,7 @@ function AiTools({ className }: { className?: string }) { className="flex cursor-pointer items-center gap-1.5 text-xs text-foreground-lighter hover:text-foreground text-left transition-colors" > {copied ? ( - + ) : ( )} diff --git a/apps/docs/components/MetricsStackCards.tsx b/apps/docs/components/MetricsStackCards.tsx index 6d02659cfc3..90a22651b64 100644 --- a/apps/docs/components/MetricsStackCards.tsx +++ b/apps/docs/components/MetricsStackCards.tsx @@ -35,7 +35,7 @@ export function MetricsStackCards() { className={`inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium ${ badge.variant === 'community' ? 'border-warning/40 text-warning' - : 'border-brand-500/50 text-brand' + : 'border-brand-500/50 text-primary' }`} > {badge.label} diff --git a/apps/docs/components/Navigation/Footer.tsx b/apps/docs/components/Navigation/Footer.tsx index 41d7242a739..796e7914977 100644 --- a/apps/docs/components/Navigation/Footer.tsx +++ b/apps/docs/components/Navigation/Footer.tsx @@ -14,7 +14,7 @@ const Footer = ({ className }: { className?: string }) => (

{text}

diff --git a/apps/docs/components/Navigation/NavigationMenu/GlobalMobileMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/GlobalMobileMenu.tsx index 41c145cbc3c..903373a09b3 100644 --- a/apps/docs/components/Navigation/NavigationMenu/GlobalMobileMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/GlobalMobileMenu.tsx @@ -137,7 +137,7 @@ const GlobalMobileMenu = ({ open, setOpen }: Props) => { height={24} alt="Supabase Logo" /> - DOCS + DOCS
diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx index 8570dcd0fd2..0156eb85eb8 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuCliList.tsx @@ -22,7 +22,7 @@ const NavigationMenuCliList = ({ currentLevel, setLevel, id }) => {
  • {icon && } {title} @@ -99,7 +99,7 @@ const NavigationMenuCliList = ({ currentLevel, setLevel, id }) => { href={`${menu.parent ?? '/'}`} className={[ 'flex items-center gap-1 text-xs group mb-3', - 'text-base transition-all duration-200 text-brand hover:text-brand-600 hover:cursor-pointer ', + 'text-base transition-all duration-200 text-primary hover:text-brand-600 hover:cursor-pointer ', ].join(' ')} >
    diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx index 69afb363f8e..21a81eff18f 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx @@ -43,7 +43,7 @@ const HeaderLink = React.memo(function HeaderLink(props: { className={[ ' ', !props.title && 'capitalize', - props.url === pathname ? 'text-brand' : 'hover:text-brand text-foreground', + props.url === pathname ? 'text-primary' : 'hover:text-primary text-foreground', ].join(' ')} > {props.title ?? props.id} @@ -111,7 +111,7 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any 'cursor-pointer transition text-sm', 'focus-inset rounded-md', activeItem - ? 'text-brand font-medium' + ? 'text-primary font-medium' : 'hover:text-foreground text-foreground-lighter', ].join(' ')} > @@ -146,8 +146,8 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any 'relative block py-1.25 pl-1 -ml-1 cursor-pointer transition text-sm', 'focus-inset rounded-md', child.url === pathname - ? 'text-brand' - : 'hover:text-brand text-foreground-lighter', + ? 'text-primary' + : 'hover:text-primary text-foreground-lighter', ].join(' ')} > {child.url === pathname && ( @@ -173,7 +173,9 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any 'flex items-center gap-2', 'cursor-pointer transition text-sm', 'focus-inset rounded-md', - activeItem ? 'text-brand font-medium' : 'hover:text-foreground text-foreground-lighter', + activeItem + ? 'text-primary font-medium' + : 'hover:text-foreground text-foreground-lighter', ].join(' ')} parent={props.subItem.parent} > @@ -204,7 +206,7 @@ const ContentLink = React.memo(function ContentLink(props: any) { className={[ 'cursor-pointer transition text-sm', 'focus-inset rounded-md', - props.url === pathname ? 'text-brand' : 'hover:text-foreground text-foreground-lighter', + props.url === pathname ? 'text-primary' : 'hover:text-foreground text-foreground-lighter', ].join(' ')} > {props.icon && ( @@ -226,7 +228,7 @@ const Content = (props) => { return (
    -
    +
    diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx index 18e8d40f6cb..df59a631a70 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuRefListItems.tsx @@ -70,7 +70,7 @@ const FunctionLink = memo(function FunctionLink({ className={cn( 'cursor-pointer transition text-sm hover:text-foreground gap-3 relative', isParent ? 'flex justify-between' : 'leading-3', - active ? 'text-brand' : 'text-foreground-lighter' + active ? 'text-primary' : 'text-foreground-lighter' )} > {icon && {icon}} diff --git a/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx b/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx index 5e8971084f0..3d60d0c78b0 100644 --- a/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx @@ -132,7 +132,7 @@ const HeaderLogo = memo(() => { height={navigationLogo?.height ?? 18} alt="Supabase wordmark" /> - DOCS + DOCS ) }) diff --git a/apps/docs/components/Navigation/SideBar.tsx b/apps/docs/components/Navigation/SideBar.tsx index c9a98c91cf3..f90958afa63 100644 --- a/apps/docs/components/Navigation/SideBar.tsx +++ b/apps/docs/components/Navigation/SideBar.tsx @@ -80,7 +80,7 @@ const SideBar = ({ menuItems = [] }: { menuItems: any }) => { 'py-1.5 px-5 rounded-sm text-sm transition', `${ item.url === pathname - ? 'bg-background text-brand' + ? 'bg-background text-primary' : 'text-foreground-light hover:text-foreground' }`, ].join(' ')} @@ -105,7 +105,7 @@ const SideBar = ({ menuItems = [] }: { menuItems: any }) => { size={14} strokeWidth={2} /> - + {group.label} @@ -119,7 +119,7 @@ const SideBar = ({ menuItems = [] }: { menuItems: any }) => { 'py-1.5 px-5 rounded-sm text-sm transition', `${ section.url === pathname - ? 'bg-background text-brand' + ? 'bg-background text-primary' : 'text-foreground-light hover:text-foreground' }`, ].join(' ')} @@ -144,7 +144,7 @@ const SideBar = ({ menuItems = [] }: { menuItems: any }) => { size={14} strokeWidth={2} /> - + {section.name} @@ -157,7 +157,7 @@ const SideBar = ({ menuItems = [] }: { menuItems: any }) => { 'py-1.5 ml-4 px-5 rounded-sm text-sm transition', `${ item.url === pathname - ? 'bg-background text-brand' + ? 'bg-background text-primary' : 'text-foreground-light hover:text-foreground' }`, ].join(' ')} diff --git a/apps/docs/features/docs/Reference.header.tsx b/apps/docs/features/docs/Reference.header.tsx index 518d112377f..d6f82721803 100644 --- a/apps/docs/features/docs/Reference.header.tsx +++ b/apps/docs/features/docs/Reference.header.tsx @@ -40,7 +40,7 @@ function ClientLibHeader({ menuData, className }: ClientLibHeaderProps) { href={menuData.pkg.repo} target="_blank" rel="noreferrer noopener" - className="hover:text-brand focus-visible:text-brand transition-colors" + className="hover:text-primary focus-visible:text-primary transition-colors" > View on GitHub diff --git a/apps/docs/features/docs/Reference.navigation.client.tsx b/apps/docs/features/docs/Reference.navigation.client.tsx index 1716b2c27ba..18dd75f8d65 100644 --- a/apps/docs/features/docs/Reference.navigation.client.tsx +++ b/apps/docs/features/docs/Reference.navigation.client.tsx @@ -188,7 +188,7 @@ function getLinkStyles(isActive: boolean, className?: string) { return cn( 'text-sm text-foreground-lighter', !isActive && 'hover:text-foreground', - isActive && 'text-brand', + isActive && 'text-primary', 'transition-colors', className ) diff --git a/apps/docs/features/ui/AgentPluginsPanel.tsx b/apps/docs/features/ui/AgentPluginsPanel.tsx index b837378ae39..e546da21964 100644 --- a/apps/docs/features/ui/AgentPluginsPanel.tsx +++ b/apps/docs/features/ui/AgentPluginsPanel.tsx @@ -18,7 +18,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://claude.com/plugins/supabase" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > official Anthropic marketplace @@ -53,7 +53,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://developers.openai.com/codex/plugins#plugin-directory-in-the-codex-app" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > Codex desktop app plugin directory @@ -83,7 +83,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://cursor.com/marketplace/supabase" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > Supabase {' '} @@ -118,7 +118,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://geminicli.com/extensions/?name=supabase-communitysupabase-plugin" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > Gemini CLI extensions directory @@ -178,7 +178,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://github.com/anthropics/claude-plugins-official" target="_blank" rel="noopener noreferrer" - className="text-brand-link hover:underline" + className="text-primary hover:underline" > official Anthropic marketplace @@ -222,7 +222,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://github.com/vercel-labs/open-plugin-spec" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > Open Plugin {' '} @@ -243,7 +243,7 @@ function PluginInstructions({ client }: { client: PluginClient }) { href="https://github.com/supabase-community/supabase-plugin" target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline" + className="text-primary hover:underline" > GitHub repository @@ -290,7 +290,7 @@ export function AgentPluginsPanel() { href={selectedClient.docsUrl} target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline inline-flex items-center" + className="text-primary hover:underline inline-flex items-center" > {selectedClient.docsLinkText ?? `View ${selectedClient.label} extensions docs`} @@ -302,7 +302,7 @@ export function AgentPluginsPanel() { href={selectedClient.repoUrl} target="_blank" rel="noopener noreferrer" - className="text-brand hover:underline inline-flex items-center" + className="text-primary hover:underline inline-flex items-center" > Give feedback diff --git a/apps/docs/features/ui/AgentSetup.tsx b/apps/docs/features/ui/AgentSetup.tsx index 66f5f498f89..3f4a92dc952 100644 --- a/apps/docs/features/ui/AgentSetup.tsx +++ b/apps/docs/features/ui/AgentSetup.tsx @@ -27,7 +27,7 @@ const markdownComponents = { return ( {children} @@ -56,7 +56,7 @@ function HarnessBody({ harness }: { harness: MonitoringAgentHarnessSetup }) {

    diff --git a/apps/kb/src/components/Logo.tsx b/apps/kb/src/components/Logo.tsx index c0b9ab188ac..05bee003d22 100644 --- a/apps/kb/src/components/Logo.tsx +++ b/apps/kb/src/components/Logo.tsx @@ -23,7 +23,7 @@ function Logo() { height={18} alt="Supabase logo" /> - KB + KB ) } diff --git a/apps/learn/components/mdx-components.tsx b/apps/learn/components/mdx-components.tsx index 9d26e08adf7..6de41586f28 100644 --- a/apps/learn/components/mdx-components.tsx +++ b/apps/learn/components/mdx-components.tsx @@ -44,7 +44,7 @@ const components = { a: ({ className, ...props }: React.HTMLAttributes) => ( TanStack Quickstart guide diff --git a/apps/studio/components/grid/components/footer/pagination/Pagination.tsx b/apps/studio/components/grid/components/footer/pagination/Pagination.tsx index cd905fdeb60..3fce1af126a 100644 --- a/apps/studio/components/grid/components/footer/pagination/Pagination.tsx +++ b/apps/studio/components/grid/components/footer/pagination/Pagination.tsx @@ -345,7 +345,9 @@ export const Pagination = ({ enableForeignRowsQuery = true }: PaginationProps) = ? `This is an estimated value as your table has more than ${THRESHOLD_COUNT.toLocaleString()} rows.` : `Count not automatically loaded as your table has more than ${THRESHOLD_COUNT.toLocaleString()} rows.`}{' '}
    - Click to retrieve the exact count of the table. + + Click to retrieve the exact count of the table. + )} diff --git a/apps/studio/components/grid/components/formatter/ReferenceRecordPeek.tsx b/apps/studio/components/grid/components/formatter/ReferenceRecordPeek.tsx index 0cb40e98dce..bbd4ac2413e 100644 --- a/apps/studio/components/grid/components/formatter/ReferenceRecordPeek.tsx +++ b/apps/studio/components/grid/components/formatter/ReferenceRecordPeek.tsx @@ -91,7 +91,7 @@ export const ReferenceRecordPeek = ({ table, filters }: ReferenceRecordPeekProps {isPrimaryKey && ( - + Primary key diff --git a/apps/studio/components/grid/components/header/filter/FilterPopoverNew.tsx b/apps/studio/components/grid/components/header/filter/FilterPopoverNew.tsx index ac9a2f1f244..baf554da1a8 100644 --- a/apps/studio/components/grid/components/header/filter/FilterPopoverNew.tsx +++ b/apps/studio/components/grid/components/header/filter/FilterPopoverNew.tsx @@ -227,7 +227,10 @@ export const FilterPopoverNew = ({ const icon = isGenerating ? ( ) : isRefetching ? ( - + ) : null return ( diff --git a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/TokenCapabilities/EndpointRow.tsx b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/TokenCapabilities/EndpointRow.tsx index ccaf55a4852..ffc630b63f1 100644 --- a/apps/studio/components/interfaces/Account/AccessTokens/Scoped/TokenCapabilities/EndpointRow.tsx +++ b/apps/studio/components/interfaces/Account/AccessTokens/Scoped/TokenCapabilities/EndpointRow.tsx @@ -95,7 +95,7 @@ export const EndpointRow = ({ {showCopiedIcon ? ( - + ) : ( Assign this rule to a specific project member before toggling this option off. This will then configure the rule to{' '} - only be visible to that member in the - advisor reports. + only be visible to that member in + the advisor reports. )} diff --git a/apps/studio/components/interfaces/App/FeaturePreview/FeaturePreviewModal.tsx b/apps/studio/components/interfaces/App/FeaturePreview/FeaturePreviewModal.tsx index 05aa24556cb..cd231b2deea 100644 --- a/apps/studio/components/interfaces/App/FeaturePreview/FeaturePreviewModal.tsx +++ b/apps/studio/components/interfaces/App/FeaturePreview/FeaturePreviewModal.tsx @@ -176,7 +176,7 @@ export const FeaturePreviewModal = () => {

    {(flags[selectedFeature.key] ?? false) ? ( - + ) : ( )} @@ -310,7 +310,7 @@ const FeaturePreviewItem = ({ >
    {isEnabled ? ( - + ) : ( )} diff --git a/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx b/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx index 1cbf7f7de63..369b0558353 100644 --- a/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx +++ b/apps/studio/components/interfaces/Auth/AuthProvidersForm/ProviderForm.tsx @@ -189,7 +189,7 @@ export const ProviderForm = ({ config, provider, isActive }: ProviderFormProps) } meta={ isActive ? ( -
    +
    diff --git a/apps/studio/components/interfaces/Auth/Overview/OverviewUsage.constants.ts b/apps/studio/components/interfaces/Auth/Overview/OverviewUsage.constants.ts index a4324f5b7ba..b43998e3ad2 100644 --- a/apps/studio/components/interfaces/Auth/Overview/OverviewUsage.constants.ts +++ b/apps/studio/components/interfaces/Auth/Overview/OverviewUsage.constants.ts @@ -111,5 +111,5 @@ export const calculatePercentagePointChange = ( } export const getChangeColor = (percentageChange: number): string => { - return percentageChange >= 0 ? 'text-brand' : 'text-destructive' + return percentageChange >= 0 ? 'text-primary' : 'text-destructive' } diff --git a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/IntegrationCard.tsx b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/IntegrationCard.tsx index 4028af7a906..181128af1a1 100644 --- a/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/IntegrationCard.tsx +++ b/apps/studio/components/interfaces/Auth/ThirdPartyAuthForm/IntegrationCard.tsx @@ -28,7 +28,7 @@ export const getIntegrationTypeDescription = (type: INTEGRATION_TYPES) => { add custom code to set the authenticated role to all your present and future users. You can read more in the{' '} documentation @@ -43,7 +43,7 @@ export const getIntegrationTypeDescription = (type: INTEGRATION_TYPES) => { Allow users to use Supabase with Auth0 project. Additional setup may be required. You can read more in the{' '} documentation @@ -57,7 +57,7 @@ export const getIntegrationTypeDescription = (type: INTEGRATION_TYPES) => { Allow users to use Supabase with an Amazon Cognito. Additional setup may be required. You can read more in the{' '} documentation @@ -72,7 +72,7 @@ export const getIntegrationTypeDescription = (type: INTEGRATION_TYPES) => { Allow users to use Supabase with Clerk. Additional setup may be required. You can read more in the{' '} documentation @@ -87,7 +87,7 @@ export const getIntegrationTypeDescription = (type: INTEGRATION_TYPES) => { Allow users to use Supabase with WorkOS. Additional setup may be required. You can read more in the{' '} documentation diff --git a/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx b/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx index 66cf9eb198c..824353a4686 100644 --- a/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx +++ b/apps/studio/components/interfaces/Auth/Users/UserOverview.tsx @@ -273,7 +273,7 @@ export const UserOverview = ({ user, onDeleteSuccess }: UserOverviewProps) => { )}
    {isActive ? ( -
    +
    @@ -555,7 +555,7 @@ export const RowAction = ({ : button.icon} + icon={success ? : button.icon} loading={button.isLoading ?? false} onClick={button.onClick} disabled={disabled} diff --git a/apps/studio/components/interfaces/Auth/Users/UsersFooter.tsx b/apps/studio/components/interfaces/Auth/Users/UsersFooter.tsx index 68fc752636e..f3f10267b1d 100644 --- a/apps/studio/components/interfaces/Auth/Users/UsersFooter.tsx +++ b/apps/studio/components/interfaces/Auth/Users/UsersFooter.tsx @@ -98,7 +98,9 @@ export const UsersFooter = ({ This is an estimated value as your project has more than{' '} {THRESHOLD_COUNT.toLocaleString()} users.
    - Click to retrieve the exact count.{' '} + + Click to retrieve the exact count. + {' '} ) : ( <> diff --git a/apps/studio/components/interfaces/BranchManagement/BranchSelector.tsx b/apps/studio/components/interfaces/BranchManagement/BranchSelector.tsx index 6cf5fed09f3..675227820b4 100644 --- a/apps/studio/components/interfaces/BranchManagement/BranchSelector.tsx +++ b/apps/studio/components/interfaces/BranchManagement/BranchSelector.tsx @@ -89,7 +89,7 @@ export const BranchSelector = ({
    {selectedBranch?.id === branch.id && ( - + )} {branch.git_branch && Synced to a Git branch} {branch.review_requested_at && Merge request opened} diff --git a/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx b/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx index 8c437d60bef..4d61aa416c8 100644 --- a/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx +++ b/apps/studio/components/interfaces/BranchManagement/CreateBranchModal.tsx @@ -401,7 +401,7 @@ export const CreateBranchModal = () => { isCheckingGHBranchValidity ? ( ) : isGitBranchValid ? ( - + ) : null ) : null}
    diff --git a/apps/studio/components/interfaces/BranchManagement/EdgeFunctionsDiffPanel.tsx b/apps/studio/components/interfaces/BranchManagement/EdgeFunctionsDiffPanel.tsx index 70af737772e..c1ff9154411 100644 --- a/apps/studio/components/interfaces/BranchManagement/EdgeFunctionsDiffPanel.tsx +++ b/apps/studio/components/interfaces/BranchManagement/EdgeFunctionsDiffPanel.tsx @@ -35,7 +35,7 @@ interface FunctionDiffProps { const getStatusColor = (status: FileStatus): string => { switch (status) { case 'added': - return 'text-brand' + return 'text-primary' case 'removed': return 'text-destructive' case 'modified': diff --git a/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx b/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx index eba2470dd65..0f8cc13fe18 100644 --- a/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx +++ b/apps/studio/components/interfaces/BranchManagement/EditBranchModal.tsx @@ -299,7 +299,7 @@ export const EditBranchModal = ({ branch, visible, onClose }: EditBranchModalPro isChecking ? ( ) : isGitBranchValid ? ( - + ) : null ) : null}
    diff --git a/apps/studio/components/interfaces/BranchManagement/WorkflowLogsCard.tsx b/apps/studio/components/interfaces/BranchManagement/WorkflowLogsCard.tsx index 3f60b1e9800..c65e3ed9847 100644 --- a/apps/studio/components/interfaces/BranchManagement/WorkflowLogsCard.tsx +++ b/apps/studio/components/interfaces/BranchManagement/WorkflowLogsCard.tsx @@ -61,12 +61,12 @@ export const WorkflowLogsCard = ({ ) : isSuccess ? ( - + ) : null) return ( - +
    {displayIcon} diff --git a/apps/studio/components/interfaces/Branching/MergeRequest.tsx b/apps/studio/components/interfaces/Branching/MergeRequest.tsx index d9ab6c604b5..0c591620923 100644 --- a/apps/studio/components/interfaces/Branching/MergeRequest.tsx +++ b/apps/studio/components/interfaces/Branching/MergeRequest.tsx @@ -195,7 +195,7 @@ export const MergeActions = ({ loading={isSubmitting} disabled={isMergeDisabled} onClick={onSelectMerge} - icon={} + icon={} > Merge branch @@ -204,7 +204,7 @@ export const MergeActions = ({ variant="primary" loading={isSubmitting} onClick={onSelectMerge} - icon={} + icon={} > Merge branch diff --git a/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.tsx b/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.tsx index 4d1fe9ab718..ffc562c76aa 100644 --- a/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.tsx +++ b/apps/studio/components/interfaces/ConfigDrift/ConfigurationDriftPage.tsx @@ -302,7 +302,7 @@ export function ConfigurationDriftPage() { ) : driftRows.length === 0 ? (
    - +

    All compared settings match

    The current environment matches all {summary.matchedFields.length} comparable settings diff --git a/apps/studio/components/interfaces/ConnectSheet/CopyPromptAdmonition.tsx b/apps/studio/components/interfaces/ConnectSheet/CopyPromptAdmonition.tsx index 3563c82da8a..18ef8a63a1e 100644 --- a/apps/studio/components/interfaces/ConnectSheet/CopyPromptAdmonition.tsx +++ b/apps/studio/components/interfaces/ConnectSheet/CopyPromptAdmonition.tsx @@ -140,7 +140,7 @@ export function CopyPromptButton({ stepsContainerRef, customPrompt }: CopyPrompt return ( <> : } + icon={showCopied ? : } onClick={() => { const textToCopy = customPrompt ?? buildConnectPrompt(stepsContainerRef.current) copyToClipboard(textToCopy, () => setShowCopied(true)) diff --git a/apps/studio/components/interfaces/ConnectSheet/content/steps/direct-connection/content.tsx b/apps/studio/components/interfaces/ConnectSheet/content/steps/direct-connection/content.tsx index 3f519fe7969..d0f222cddf0 100644 --- a/apps/studio/components/interfaces/ConnectSheet/content/steps/direct-connection/content.tsx +++ b/apps/studio/components/interfaces/ConnectSheet/content/steps/direct-connection/content.tsx @@ -178,7 +178,7 @@ function DirectConnectionContent({ state, deploymentMode }: StepContentProps) {

    {deploymentMode.isPlatform && temporaryDatabasePassword && (
    - + New password shown until refresh.
    )} diff --git a/apps/studio/components/interfaces/Database/Backups/PITR/PITRNotice.tsx b/apps/studio/components/interfaces/Database/Backups/PITR/PITRNotice.tsx index c31c5fa9dac..766a10cfe85 100644 --- a/apps/studio/components/interfaces/Database/Backups/PITR/PITRNotice.tsx +++ b/apps/studio/components/interfaces/Database/Backups/PITR/PITRNotice.tsx @@ -55,7 +55,7 @@ export const PITRNotice = () => {

    Database changes are logged every 2 minutes, with a total recovery period of up to{' '} - {retentionPeriod} days. + {retentionPeriod} days.

    diff --git a/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/AdditionalMonthlySpend.tsx b/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/AdditionalMonthlySpend.tsx index d39a85d6dc4..71ec8011f6d 100644 --- a/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/AdditionalMonthlySpend.tsx +++ b/apps/studio/components/interfaces/Database/Backups/RestoreToNewProject/AdditionalMonthlySpend.tsx @@ -27,7 +27,7 @@ export const AdditionalMonthlySpend = ({

    Total

    -

    +

    ${additionalMonthlySpend.computePrice + additionalMonthlySpend.diskPrice}

    diff --git a/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx b/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx index 7ba68763b37..e894725a7b7 100644 --- a/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx +++ b/apps/studio/components/interfaces/Database/Indexes/CreateIndexSidePanel.tsx @@ -259,7 +259,7 @@ CREATE INDEX ON "${selectedSchema}"."${selectedEntity}" USING ${selectedIndexTyp > {selected ? ( - + ) : ( )} diff --git a/apps/studio/components/interfaces/Database/Replication/DestinationPanel/DestinationForm/PublicationsComboBox.tsx b/apps/studio/components/interfaces/Database/Replication/DestinationPanel/DestinationForm/PublicationsComboBox.tsx index b47c5289670..3681dedef6b 100644 --- a/apps/studio/components/interfaces/Database/Replication/DestinationPanel/DestinationForm/PublicationsComboBox.tsx +++ b/apps/studio/components/interfaces/Database/Replication/DestinationPanel/DestinationForm/PublicationsComboBox.tsx @@ -132,7 +132,7 @@ export const PublicationsComboBox = ({ > {pub.name} {selectedPublication === pub.name && ( - + )} ))} diff --git a/apps/studio/components/interfaces/Database/Schemas/SchemaTableNode.tsx b/apps/studio/components/interfaces/Database/Schemas/SchemaTableNode.tsx index ac1f5b346c1..40fb1530d67 100644 --- a/apps/studio/components/interfaces/Database/Schemas/SchemaTableNode.tsx +++ b/apps/studio/components/interfaces/Database/Schemas/SchemaTableNode.tsx @@ -275,7 +275,7 @@ const TableNodeComponent = ({ 'text-ellipsis overflow-hidden whitespace-nowrap min-w-0 max-w-[80%]', schemaGraphContext.selectedEdge?.sourceHandle === column.id || schemaGraphContext.selectedEdge?.targetHandle === column.id - ? 'text-brand' + ? 'text-primary' : undefined )} title={column.name} diff --git a/apps/studio/components/interfaces/Database/Tables/TableList.tsx b/apps/studio/components/interfaces/Database/Tables/TableList.tsx index 5961fd563ee..38947732363 100644 --- a/apps/studio/components/interfaces/Database/Tables/TableList.tsx +++ b/apps/studio/components/interfaces/Database/Tables/TableList.tsx @@ -498,7 +498,7 @@ export const TableList = ({ (table) => table.id === x.id ) ? (
    - +

    Enabled

    ) : ( diff --git a/apps/studio/components/interfaces/Database/Triggers/EventTriggersList/EventTriggerList.tsx b/apps/studio/components/interfaces/Database/Triggers/EventTriggersList/EventTriggerList.tsx index b4f41abc15e..db69c8a3c70 100644 --- a/apps/studio/components/interfaces/Database/Triggers/EventTriggersList/EventTriggerList.tsx +++ b/apps/studio/components/interfaces/Database/Triggers/EventTriggersList/EventTriggerList.tsx @@ -133,7 +133,7 @@ export const EventTriggerList = ({
    {trigger.enabled_mode !== 'DISABLED' ? ( - + ) : ( )} diff --git a/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggerList.tsx b/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggerList.tsx index e0d00fbef26..6a1ce6b2442 100644 --- a/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggerList.tsx +++ b/apps/studio/components/interfaces/Database/Triggers/TriggersList/TriggerList.tsx @@ -157,7 +157,7 @@ export const TriggerList = ({ editTrigger, duplicateTrigger, deleteTrigger }: Tr
    {x.enabled_mode !== 'DISABLED' ? ( - + ) : ( )} diff --git a/apps/studio/components/interfaces/DiskManagement/DiskManagementReviewAndSubmitDialog/DiskManagementReviewAndSubmitDialog.components.tsx b/apps/studio/components/interfaces/DiskManagement/DiskManagementReviewAndSubmitDialog/DiskManagementReviewAndSubmitDialog.components.tsx index 62a9f69a9ac..3a089981948 100644 --- a/apps/studio/components/interfaces/DiskManagement/DiskManagementReviewAndSubmitDialog/DiskManagementReviewAndSubmitDialog.components.tsx +++ b/apps/studio/components/interfaces/DiskManagement/DiskManagementReviewAndSubmitDialog/DiskManagementReviewAndSubmitDialog.components.tsx @@ -27,7 +27,7 @@ export const ValueChange = ({ from, to }: { from: string; to: string }) => ( ) export const PriceDelta = ({ delta }: { delta: number }) => ( - = 0 ? 'text-brand' : 'text-destructive')}> + = 0 ? 'text-primary' : 'text-destructive')}> {delta >= 0 ? `+${formatCurrency(delta)}` : `-${formatCurrency(Math.abs(delta))}`}{' '} per month diff --git a/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.RowCountIndicator.tsx b/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.RowCountIndicator.tsx index 166d726427d..c9d291756d4 100644 --- a/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.RowCountIndicator.tsx +++ b/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.RowCountIndicator.tsx @@ -34,7 +34,7 @@ export function RowCountIndicator({ -{formatRowCount(rowsRemovedByFilter)} - + {formatRowCount(actualRows)} {actualRows === 1 ? 'row' : 'rows'}
    diff --git a/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.utils.ts b/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.utils.ts index 2489e735a51..1e0dff791de 100644 --- a/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.utils.ts +++ b/apps/studio/components/interfaces/ExplainVisualizer/ExplainVisualizer.utils.ts @@ -120,7 +120,7 @@ export function getOperationIcon(operation: string): LucideIcon { export function getOperationColor(operation: string): string { const op = operation.toLowerCase() if (op.includes('seq scan')) return 'text-warning' - if (op.includes('index')) return 'text-brand' + if (op.includes('index')) return 'text-primary' if (op.includes('join')) return 'text-foreground-light' if (op.includes('sort') || op.includes('aggregate')) return 'text-foreground-light' return 'text-foreground-light' diff --git a/apps/studio/components/interfaces/Explorer/ExplorerNotebookTab.tsx b/apps/studio/components/interfaces/Explorer/ExplorerNotebookTab.tsx index 7e8b92fb198..2b1c469df03 100644 --- a/apps/studio/components/interfaces/Explorer/ExplorerNotebookTab.tsx +++ b/apps/studio/components/interfaces/Explorer/ExplorerNotebookTab.tsx @@ -402,7 +402,7 @@ export const ExplorerNotebookTab = () => { icon={ } loading={isCreating} @@ -436,7 +436,7 @@ export const ExplorerNotebookTab = () => { Intellisense enabled
    - {isIntellisenseEnabled && } + {isIntellisenseEnabled && } diff --git a/apps/studio/components/interfaces/Explorer/ExplorerQueryTab.tsx b/apps/studio/components/interfaces/Explorer/ExplorerQueryTab.tsx index f855c9d7d7c..5963fce4cb9 100644 --- a/apps/studio/components/interfaces/Explorer/ExplorerQueryTab.tsx +++ b/apps/studio/components/interfaces/Explorer/ExplorerQueryTab.tsx @@ -183,7 +183,7 @@ export const ExplorerQueryTab = () => { Intellisense enabled
    - {isIntellisenseEnabled && } + {isIntellisenseEnabled && } { }} > {isCopied ? ( - + ) : ( )} diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx index 204451e7b66..3e7fcc88027 100644 --- a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx +++ b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx @@ -322,7 +322,7 @@ export const EdgeFunctionDetails = () => { description: 'Download the function to your local machine', jsx: () => ( <> - supabase functions download{' '} + supabase functions download{' '} {selectedFunction?.slug} ), diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.utils.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.utils.tsx index 689faa5e1d6..fe6431a631a 100644 --- a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.utils.tsx +++ b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.utils.tsx @@ -19,7 +19,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - supabase functions deploy {selectedFunction?.slug} + supabase functions deploy {selectedFunction?.slug} ) }, @@ -31,7 +31,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - supabase functions delete {selectedFunction?.slug} + supabase functions delete {selectedFunction?.slug} ) }, @@ -46,7 +46,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - supabase secrets list + supabase secrets list ) }, @@ -58,7 +58,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - supabase secrets set NAME1=VALUE1 NAME2=VALUE2 + supabase secrets set NAME1=VALUE1 NAME2=VALUE2 ) }, @@ -70,7 +70,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - supabase secrets unset NAME1 NAME2 + supabase secrets unset NAME1 NAME2 ) }, @@ -87,7 +87,7 @@ export const generateCLICommands = ({ jsx: () => { return ( <> - curl -L -X POST '{functionUrl}'{' '} + curl -L -X POST '{functionUrl}'{' '} {selectedFunction?.verify_jwt ? `-H 'Authorization: Bearer [YOUR ANON KEY]' ` diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionOverview/EdgeFunctionRecentErrors.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionOverview/EdgeFunctionRecentErrors.tsx index f5a52cd2a14..76c96d9df43 100644 --- a/apps/studio/components/interfaces/Functions/EdgeFunctionOverview/EdgeFunctionRecentErrors.tsx +++ b/apps/studio/components/interfaces/Functions/EdgeFunctionOverview/EdgeFunctionRecentErrors.tsx @@ -176,7 +176,7 @@ export const EdgeFunctionRecentErrors = ({
    diff --git a/apps/studio/components/interfaces/JwtSecrets/jwt-secret-keys-table/rotate-key-dialog.tsx b/apps/studio/components/interfaces/JwtSecrets/jwt-secret-keys-table/rotate-key-dialog.tsx index 001c7c84bee..38886942491 100644 --- a/apps/studio/components/interfaces/JwtSecrets/jwt-secret-keys-table/rotate-key-dialog.tsx +++ b/apps/studio/components/interfaces/JwtSecrets/jwt-secret-keys-table/rotate-key-dialog.tsx @@ -60,7 +60,7 @@ export function RotateKeyDialog({ Rotate JWT signing key Change the key used by Supabase Auth to create new JSON Web Tokens. Non-expired tokens - remain valid and accepted! + remain valid and accepted! @@ -195,7 +195,7 @@ export function RotateKeyDialog({ text: (

    Rotating the signing key only changes what key is used by Supabase Auth to - issue new tokens + issue new tokens .

    To prevent users from being prematurely signed out, you have to manually @@ -250,9 +250,11 @@ export function RotateKeyDialog({

    Some of your Edge Functions are set up to require a JWT in the{' '} Authorization header signed with the{' '} - legacy JWT secret. Rotation + legacy JWT secret. Rotation causes{' '} - invocations by signed-in users{' '} + + invocations by signed-in users + {' '} to fail with HTTP 401 Unauthorized, as the JWT no longer meets this requirement.
    diff --git a/apps/studio/components/interfaces/JwtSecrets/jwt-settings.tsx b/apps/studio/components/interfaces/JwtSecrets/jwt-settings.tsx index 60470876c17..c5e15876cb2 100644 --- a/apps/studio/components/interfaces/JwtSecrets/jwt-settings.tsx +++ b/apps/studio/components/interfaces/JwtSecrets/jwt-settings.tsx @@ -436,14 +436,14 @@ export const JWTSettings = () => { >