Files
zeekayandHanzo Dev 35f27c9bd4 feat(dash): investor-grade Vite SPA — true-black @hanzo/gui tokens, Geist, mobile-first
- Full redesign on @hanzo/gui design tokens (true-black, Geist, single accent, hairline
  borders, calm motion) via Tailwind v4 @theme + self-hosted Geist (no CDN)
- Flows: signup → IAM (lux.id) → sandbox KYC onboarding → dashboard → accounts → cards
  (virtual card visual, freeze/unfreeze, issue w/ one-time CVV) → send + beneficiaries +
  receive → exchange (unified FX + crypto buy/sell/convert) → crypto wallet (testnet addr,
  holdings) → activity
- Mobile-first shell: desktop sidebar + mobile bottom-tab bar; designed empty/loading states
- Reusable UI kit (Button/Card/Money/StatusBadge/Modal/AssetAvatar/Skeleton/EmptyState/Icon)
- API client + OverviewProvider mapped to the new bankd contract
- dashd: tiny stdlib static+proxy server (SPA fallback + /v1 → bankd) — no nginx/caddy;
  same-origin so IAM PKCE + bank API share the app origin
- Dockerfiles: app/dash multi-stage (Vite build + dashd); bankd GOSUMDB=off for re-tagged luxfi deps
- add GET /v1/bank/transactions (full activity feed with decimals)

tsc --strict + --noUnusedLocals clean; pnpm build green; landing/login verified via headless render.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-17 17:12:53 -07:00

16 lines
805 B
HTML

<!DOCTYPE html>
<html lang="en" class="h-full">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Lux ▼ mark: white downward triangle on black. -->
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Crect%20width='100'%20height='100'%20fill='black'/%3E%3Cpath%20d='M50%2078%20L20%2030%20L80%2030%20Z'%20fill='white'/%3E%3C/svg%3E" />
<title>Lux Financial</title>
<meta name="description" content="Lux Financial — regulated multi-currency banking, global payments, and FX." />
</head>
<body class="h-full">
<div id="root" class="h-full"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>