Files
Danny White ec53175b8a refactor(ui): rename text-brand to text-primary (#50564)
## 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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## 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.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-09-22 16:19:03 +10:00

65 lines
2.3 KiB
TypeScript

import { PermissionAction } from '@supabase/shared-types/out/constants'
import { useParams } from 'common'
import { Calendar } from 'lucide-react'
import Link from 'next/link'
import { getPITRRetentionDuration } from './PITR.utils'
import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
import { FormPanel } from '@/components/ui/Forms/FormPanel'
import { useProjectAddonsQuery } from '@/data/subscriptions/project-addons-query'
import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions'
export const PITRNotice = () => {
const { ref: projectRef } = useParams()
const { data: addonsResponse } = useProjectAddonsQuery({ projectRef })
const retentionPeriod = getPITRRetentionDuration(addonsResponse?.selected_addons ?? [])
const { can: canUpdateSubscription } = useAsyncCheckPermissions(
PermissionAction.BILLING_WRITE,
'stripe.subscriptions'
)
return (
<FormPanel
disabled={true}
footer={
<div className="flex items-center justify-between p-6">
<span className="text-sm text-foreground-light">
You can also increase your recovery retention period updating your PITR add-on
</span>
<ButtonTooltip
asChild
disabled={!canUpdateSubscription}
tooltip={{
content: {
side: 'bottom',
text: !canUpdateSubscription
? 'You need additional permissions to amend subscriptions'
: undefined,
},
}}
>
<Link href={`/project/${projectRef}/settings/addons?panel=pitr`}>
Increase retention period
</Link>
</ButtonTooltip>
</div>
}
>
<div className="flex p-6 space-x-6">
<div className="flex items-center justify-center w-10 h-10 rounded-sm bg-border-strong">
<Calendar strokeWidth={2} />
</div>
<div className="space-y-2">
<p className="text-sm">Recovery retention period</p>
<p className="text-sm text-foreground-light">
Database changes are logged every <span className="text-foreground">2 minutes</span>,
with a total recovery period of up to{' '}
<span className="text-primary">{retentionPeriod} days</span>.
</p>
</div>
</div>
</FormPanel>
)
}