App shell
On a phone the navy column becomes a bar, four tabs and a Menu sheet. The place you are in stays in the bar.
Two shells on a phone
The bar carries the place. HQ adds a steel hairline above it and HQ tabs; a brand gets its own tabs.
Global Store
214 products · 38 drafts
My Products
38 products · 6 drafts
Sidebar[collapsible=offcanvas] · custom tab barUses.phone.p-bar.tabbar.sh-hqrail.sh-pcrumb.sh-tbTab bar
Four tabs in thumb reach; Menu holds the rest. No hover on touch.
custom (no shadcn tab bar)Uses.tabbar a.tabbar a.on.sh-tb.sh-tb.warn--control-h-mMenu drawer
Menu opens the whole registry as a bottom sheet: same groups, counts and amber as the desktop column.
My Products
38 products · 6 drafts
Sheet[side=bottom] · DrawerUses.k-sheet.k-bottom.sh-mrow.sh-mgrp.sh-cnt.warn[data-k-stage]--motion-sheet-in--e-phone-sheetPlace switcher
Tap the place in the bar. Full-height sheet, 52px rows.
The brand list did not answer. Your current brand is unchanged.
Drawer · Command · CommandInput · CommandItem · CommandEmptyUses.k-sheet.k-bottom.sh-pop-s.sh-row.sh-grp.sh-mono.smJump to
The search icon in the bar opens it full screen, keyboard up, results grouped like the menu.
CommandDialog (full screen) · CommandGroup · CommandEmptyUses.sh-full.sh-cmd-in.sh-row.actmarkEnvironment and notices
Staging stays visible in the bar; the banner and access notice stack under it.
Badge · AlertUses.staging.env-prod.sh-banner.sh-noticeEmbedded Payload CMS
Same frame header, taller touch targets; Payload's editor fills the width.
Pages
| Title | Slug | Status | Updated |
|---|---|---|---|
| Home | home | Published | 2 Oct |
| Suits | suits | Published | 29 Sep |
| Our cloths | our-cloths | Draft | Today 14:20 |
| Book a fitting | book-a-fitting | Published | Yesterday |
Card · Badge · Button[size=icon]Uses.sh-frame.sh-pframe.sh-frame-b.mid