Files
id/apps/web/package.json
zooqueen e7b303e57a feat(id): restore split-view login + apps launcher (ported from legacy-nextjs)
Login/Signup are now the polished two-column split — auth card on the left,
per-org marketing/branding panel on the right — and the Portal shows the
apps launcher grid for signed-in users, both ported from the frozen
legacy-nextjs design. Auth wiring is untouched: LoginForm from @hanzo/id-auth
still drives the /v1/iam/login + responseType=code flow with a type=text
username input.

- apps/web/src/marketing.ts: per-org marketing copy + app links + billing
  URLs keyed by tenant.orgId (ported from legacy staticBranding.content +
  orgApps). Keeps the brand-neutral BrandContract visual-only.
- apps/web/src/components/MarketingPanel.tsx: rotating-quote branding panel.
- apps/web/src/components/BrandLogo.tsx: brand.logoUrl with self-hosted
  /brand/<pkg>/assets/logo/logo.svg fallback (fixes the broken-logo CDN 404).
- Portal detects auth via /v1/iam/get-account OR the signed_in=1 marker the
  bare-login flow now returns (cross-proxy get-account does not echo the
  session). pkgs/auth response shaping only — wire contract unchanged.
- app.css: split-view + marketing + apps-launcher styles (no Tailwind).
- LLM.md: document the UI surfaces.

Deployed registry.digitalocean.com/hanzo/id:0.1.10. Verified on hanzo.id and
lux.id: split-view renders, apps launcher shows post-login, sign-in still
works (authenticated, no Unable to sign in).
2026-06-19 11:07:01 -07:00

35 lines
978 B
JSON

{
"name": "@hanzo/id-web",
"private": true,
"version": "0.1.10",
"description": "Hanzo ID \u2014 white-label login / signup / IDV portal. Vite + React 19 + @hanzo/gui. Same image serves hanzo.id / lux.id / zoo.id / pars.id.",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview --port 5174",
"tc": "tsc --noEmit"
},
"dependencies": {
"@hanzo/brand": "^1.3.0",
"@hanzo/gui": "^7.2.4",
"@hanzo/iam": "^0.9.4",
"@hanzo/id-auth": "workspace:*",
"@hanzo/id-idv": "workspace:*",
"@hanzo/id-shared": "workspace:*",
"@luxfi/brand": "^1.0.0",
"@parsdao/brand": "^1.0.0",
"@tanstack/react-router": "^1.168.0",
"@zooai/brand": "^1.3.0",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
"devDependencies": {
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.4",
"typescript": "^5.9.3",
"vite": "^7.0.0"
}
}