Seed: - DevUserSeeder: idempotent — creates workspace + WorkspaceMember + sets default_workspace_id. Auto-recreates everything on migrate:fresh --seed. - DatabaseSeeder: PlanSeeder first (nexxo needs a plan), then DevUserSeeder always, DemoDataSeeder only in local/dev env. - DevUserSeederTest: create + idempotent + in-DatabaseSeeder + order check. - Removed WithoutModelEvents trait from DatabaseSeeder (was suppressing model observers needed for workspace creation). UI (nimuli-app.blade.php): - Inline JS theme-init before first paint: reads localStorage nimuli_theme, falls back to server-side user preference. Eliminates theme flash on reload. - Critical CSS in <head>: CSS vars, body opacity 0 → 1 fade (120ms), skeleton sidebar + topbar visible during JS load. - app-spinner shown until app-ready class added by markReady(). - Skeleton + spinner hidden via body.app-ready CSS selector. - livewire:navigated event re-triggers markReady() for SPA navigation. - x-cloak on mobile sidebar overlay to prevent pre-Alpine flash. Bash aliases added to ~/.bashrc: - seed-dev → db:seed --class=DevUserSeeder - migrate-fresh → migrate:fresh --seed - reset-db → migrate:fresh --seed (with confirmation message) Tests: 109/109 passing. Smoke: all routes ✅. DB sanity ✅. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bio | ||
| components | ||
| layouts | ||
| livewire | ||
| vendor | ||
| dashboard.blade.php | ||
| profile.blade.php | ||
| welcome.blade.php | ||