Add inline script to root layout that reads the stored theme preference
from cookie/localStorage synchronously before React hydrates, eliminating
the light→dark flash for users who prefer dark mode.
Also guard the theme storage write with the hydrated flag so the initial
render does not overwrite a stored 'dark' preference with 'light'.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove 'medium' theme from dashboard and marketplace; keep only light/dark
- Marketplace: move public pages into (public)/ route group so header/footer
persist across navigations without re-rendering (eliminates usePathname)
- MarketplaceShell is now a pure context provider; chrome lives in
(public)/layout.tsx which Next.js holds stable across navigations
- WorkspaceFrame: remove history.replaceState and standalone-route logic
- Docker API: bypass npm run dev to avoid node --env-file in containers
- Add scripts/run-with-env-file.cjs for Node.js < 20.6 compatibility;
update apps/api/package.json dev script to use it
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add typescript.ignoreBuildErrors to public-site next.config.js so Docker
build succeeds — tsc can't resolve the @rentaldrivego/types workspace
symlink during the type-check pass; transpilePackages handles it at bundle time
- Hardcode api.rentaldrivego.ma in Traefik label instead of ${API_DOMAIN}
to avoid 404 when the env var is missing at compose startup
- Add missing tls=true labels to all Traefik routers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>