mirror of
https://github.com/luxfi/lux-network.git
synced 2026-10-30 16:20:39 +00:00
The live site had been stripped to a static export (output:'export') to fit GitHub Pages, which forced removal of every dynamic feature: the @luxfi/ui Header/Footer chrome rendered as plain 'LUX' text, the @hanzo/commerce checkout, the lux.id auth API routes + middleware, and leaked gold/amber accents. Restore the full app on top of the post-quantum landing content: - Dynamic output:'standalone' Node server (next.config.mjs); drop static export. - Real @luxfi/ui Header/Footer with the canonical @luxfi/logo ▼ mark (logoVariant='full'); mega-menus + full footer. - @hanzo/commerce /checkout + commerce bag, login routed to lux.id, restored src/app/api/auth/* routes and src/middleware.ts (device + auth). - Pure monochrome: neutralize all rainbow/gold chain + app gradients to from-foreground/[0.06]; kill the gold 'Bridge Assets' button. - site-def: re-enable auth (login->lux.id) + commerce (both stripped before). Fixes uncovered along the way: - patch @hanzo/[email protected]: invalid 'type App' in a runtime await-import destructure broke the auth API route compile. - next.config SVGR loader: @luxfi/ui's footer imports an inline .svg as a component; without the loader it resolves to an object -> hydration crash (black page). This was the real root cause behind a cascade of symptoms. - ShowBody MutationObserver: @luxfi/ui RootLayout ships <body display:none> and reveals it from an effect that loses a hydration race on standalone; pin it. - src/middleware: react-device-detect throws on UA-less requests (k8s probes, curl) -> 500; default to 'desktop' and add a static-asset matcher. Build, real-browser verify (e2e/restore-verify.mjs + rewritten homepage.spec): logo, 0 gold/amber, mega-menu, full footer, checkout host, login->lux.id, no console crash, monochrome — 8/8 green. Dockerfile = standalone Node runner.