docs(desktop): add DESIGN.md design-system guide + close two consistency gaps (#40823)
Codify the desktop overlay/design conventions in apps/desktop/DESIGN.md: surfaces & elevation (shadow-nous + --stroke-nous), stroke/color tokens, the single Button (variants/sizes, no per-call overrides), shared form controls (controlVariants / SearchField / SegmentedControl / Switch), flat layout (PAGE_INSET_X, OverlaySplitLayout, ListRow, no card-in-card), feedback states (Loader / ErrorState / LogView / EmptyState), BrandMark, motion, i18n, and the nanostore state model. Ends with a pre-merge checklist. Two fixes so the doc isn't aspirational: - brand-mark: rounded-md + overflow-hidden (doc says "softly rounded") - i18n ja/zh/zh-hant: mirror en's "Begin" + drop trailing period on connectedProvider (doc says update all locales together)
This commit is contained in:
parent
f033b7dbfb
commit
d165933c56
5 changed files with 178 additions and 8 deletions
|
|
@ -3,11 +3,14 @@ import { cn } from '@/lib/utils'
|
|||
const assetPath = (path: string) => `${import.meta.env.BASE_URL}${path.replace(/^\/+/, '')}`
|
||||
|
||||
// Brand badge: nous-girl mark on a white tile, identical in light/dark.
|
||||
// Fills the tile (no padding/radius); size via className (default size-14).
|
||||
// Fills the tile (softly rounded); size via className (default size-14).
|
||||
export function BrandMark({ className, ...props }: React.ComponentProps<'span'>) {
|
||||
return (
|
||||
<span
|
||||
className={cn('inline-flex size-14 shrink-0 items-center justify-center bg-white', className)}
|
||||
className={cn(
|
||||
'inline-flex size-14 shrink-0 items-center justify-center overflow-hidden rounded-md bg-white',
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
>
|
||||
<img alt="" className="size-full object-contain" src={assetPath('nous-girl.jpg')} />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue