Problem: Vite 7 serviert CSS-Entry-Points als JavaScript-Module
(Content-Type: text/javascript). Browser ignoriert JS-Response bei
<link rel="stylesheet"> — CSS wurde nie angewandt.
Lösung:
- CSS aus @vite()-Aufrufen entfernt (kein <link>-Tag mehr)
- CSS aus vite.config.js input entfernt
- import '../css/app.css' zu resources/js/app.js hinzugefügt
- Vite injiziert CSS via JS-Modul → <style>-Tags im Browser
In Prod: CSS wird aus JS-Import extrahiert, Manifest linkt sie korrekt.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Overwrites the Analytics Index stub with a full Livewire component that
loads today's click count from the clicks table (workspace_id is a direct
column) and listens for live updates via Echo/Reverb using the
#[On('echo:workspace.{workspaceId}.analytics,click.recorded')] attribute.
Creates the corresponding blade view with a today-counter card and a
live recent-clicks feed (last 10 entries).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Links Livewire page (Index component + blade view) with live search,
status filter, paginated table, and delete action using DeleteLink for
cache invalidation. Register workspace-scoped route group under
w/{workspace} with ResolveWorkspace middleware. Add stub Livewire pages
for QrCodes, Bio, Analytics, Domains, Settings, and Billing with a shared
coming-soon view.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implement Nimuli-specific authenticated layout with:
- Sidebar navigation with 7 main menu items (dashboard, links, qr codes, link-in-bio, analytics, domains, settings)
- Topbar header with user email and logout button
- Safe route checking using Route::has() for undefined routes
- Workspace display in sidebar when available
- Livewire AppLayout base class for future Livewire components