mirror of
https://github.com/supabase/supabase.git
synced 2026-10-06 01:45:10 +03:00
## What kind of change does this PR introduce? Mechanical cleanup on top of the Button default-variant change (#50160). ## What is the current behavior? Many callsites still pass `variant="default"` even though that is now the component default. ## What is the new behavior? Removes redundant static `variant="default"` from legacy `Button` and `ButtonTooltip` callsites. Keeps explicit defaults where they document the API: - `button-default.tsx` and `button-sizes.tsx` demos - `DocsButton`, which pins neutral styling at the wrapper boundary ## To test Studio: - [Auth → Rate Limits](https://studio-staging-2s957kwc4-supabase.vercel.app/dashboard/project/_/auth/rate-limits): dirty the form so Cancel appears; Cancel stays neutral, Save stays green - [Project Settings → API Keys](https://studio-staging-2s957kwc4-supabase.vercel.app/dashboard/project/_/settings/api-keys): `DocsButton` in the header actions stays neutral Design system: - [Design system → Button](https://design-system-git-dnywh-dc924ac1-supabase.vercel.app/design-system/docs/components/button): `button-default` / `button-sizes` still show explicit default styling; Primary (green) is restricted to the Primary section (and `asChild`) WWW: - [www → Brand assets](https://zone-www-dot-com-git-dnywh-dc924ac1-supabase.vercel.app/brand-assets): Download logo kit / Download button kit stay neutral
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
import { Menu } from 'lucide-react'
|
|
import { useEffect, useState } from 'react'
|
|
import { Button, Sheet, SheetContent, SheetHeader, SheetTitle } from 'ui'
|
|
|
|
import type { ShowApiKey } from '../../Docs/Docs.types'
|
|
import { LangSelector } from '../../Docs/LangSelector'
|
|
import { DocsMenu } from '@/components/interfaces/Integrations/DataApi/DocsMenu'
|
|
import { ProductMenuGroup } from '@/components/ui/ProductMenu/ProductMenu.types'
|
|
|
|
interface DocsMobileNavProps {
|
|
activePage: string
|
|
menu: Array<ProductMenuGroup>
|
|
selectedLang: 'js' | 'bash'
|
|
selectedApiKey: ShowApiKey
|
|
setSelectedLang: (lang: 'js' | 'bash') => void
|
|
setSelectedApiKey: (key: ShowApiKey) => void
|
|
}
|
|
|
|
export const DocsMobileNav = ({
|
|
activePage,
|
|
menu,
|
|
selectedLang,
|
|
selectedApiKey,
|
|
setSelectedLang,
|
|
setSelectedApiKey,
|
|
}: DocsMobileNavProps) => {
|
|
const [open, setOpen] = useState(false)
|
|
|
|
// Close mobile nav when the active page changes
|
|
useEffect(() => {
|
|
setOpen(false)
|
|
}, [activePage])
|
|
|
|
return (
|
|
<>
|
|
<div className="sticky top-0 z-10 flex lg:hidden items-center border-b bg-surface-100 px-4 py-3">
|
|
<Button icon={<Menu size={16} />} onClick={() => setOpen(true)}>
|
|
Menu
|
|
</Button>
|
|
</div>
|
|
|
|
<Sheet open={open} onOpenChange={setOpen}>
|
|
<SheetContent side="left" size="content" className="w-72 overflow-y-auto">
|
|
<SheetHeader className="border-b-0">
|
|
<SheetTitle>Data API Docs</SheetTitle>
|
|
</SheetHeader>
|
|
<div className="flex flex-col gap-y-6 px-5 pb-6">
|
|
<LangSelector
|
|
selectedLang={selectedLang}
|
|
selectedApiKey={selectedApiKey}
|
|
setSelectedLang={setSelectedLang}
|
|
setSelectedApiKey={setSelectedApiKey}
|
|
/>
|
|
<DocsMenu activePage={activePage} menu={menu} />
|
|
</div>
|
|
</SheetContent>
|
|
</Sheet>
|
|
</>
|
|
)
|
|
}
|