open-design/apps/web/app/[[...slug]]/client-app.tsx
PerishFire cfebff9653
Align app directories and isolate e2e tests (#102)
* chore: align app directories

* test: consolidate external suites under e2e
2026-04-30 09:47:03 +08:00

17 lines
619 B
TypeScript

'use client';
import dynamic from 'next/dynamic';
// The product is a fully client-driven SPA — every component reads
// localStorage, window.location, etc. — so we opt out of static-time
// rendering for the entire tree. This keeps `next build --output export`
// from trying to evaluate browser-only code while still emitting a real
// shell HTML the daemon can serve as the SPA fallback.
const App = dynamic(() => import('../../src/App').then((m) => m.App), {
ssr: false,
loading: () => <div className="od-loading-shell">Loading Open Design</div>,
});
export function ClientApp() {
return <App />;
}