Files
bank/app/dash/hanzogui.config.ts
zeekayandHanzo Dev dfe6ebb039 feat(dash): grid-native on @hanzo/gui — CSS grid everywhere, no flexbox
Migrate the entire bank dashboard to @hanzo/gui (the Tamagui/Tauri fork whose
custom Yoga engine does full CSS Grid) — one component tree that renders grid
natively on web, desktop, and mobile, with no flexbox anywhere.

Foundation: hanzoguiPlugin compiles grid-css in the Vite build, hanzogui.config
wires the design off the v4 defaults, GuiProvider wraps the app, react-native
resolves to react-native-web, node-linker hoisted for the 65-package umbrella.

Every screen (Landing, Dashboard, Wallet, Cards, Send, Exchange, Earn, Activity,
Accounts, Onboarding, Callback, auth) and the shared UI layer (ui.tsx, Layout,
TxnRow, CardFace, Coordinates, Allocation, Brand) lay out with @hanzo/gui View
and real CSS grid. The shared layer names the five arrangements the product uses
(line/split/stack/center/pill) so call sites share one definition. Colours,
type, and spacing stay on the existing design tokens — look unchanged, proved by
bounding-box/pixel diff against the prior build across every screen at 1280 and
390 (identical).

Regressions found and fixed, all one class — @hanzo/gui base styles outrank
Tailwind: absolute decorative glows stay plain divs; stacks carry
gridTemplateColumns minmax(0,1fr); main fills its column via justifySelf; bare
text is wrapped (RN semantics); DOM-only props (title, role=meter) stay on divs.

tsc clean, build clean, 34/34 e2e green, zero console errors, no 390 overflow.
The .hanzogui/ compiler cache is generated on build and gitignored.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-23 14:35:49 -07:00

20 lines
644 B
TypeScript

import { createGui } from '@hanzo/gui'
import { defaultConfig } from '@hanzogui/config/v4'
// The bank's design system on the @hanzo/gui (Tamagui-fork) runtime — grid-css
// native across web, desktop, and mobile. We start from the v4 default config
// (tokens, fonts, animations, the full style-prop set incl. the grid props the
// custom Yoga engine adds) and layer the bank's dark palette on top so existing
// $color tokens resolve to our surfaces.
const conf = createGui(defaultConfig)
export type Conf = typeof conf
declare module '@hanzo/gui' {
interface TypeOverride {
groupNames(): 'card' | 'row'
}
}
export default conf