Replace all Coolify branding with MapleDeploy across 111 files:
- Logo, favicon, and color palette (Canadian red scale, stone greys)
- Fonts: Overlock for headings, Inter for body (self-hosted woff2/ttf)
- All ~70 page titles updated to "| MapleDeploy"
- Auth pages, navbar, footer, email templates, settings, boarding flow
- Remove Hetzner provider, Coolify Cloud upsells, sponsorship popups
- Disable telemetry (Sentry DSN null, undead.coolify.io ping disabled)
- Point auto-update to MapleDeploy Forgejo registry image
- Redirect help/support links to mapledeploy.ca/contact
- Add AGPL source code link to Forgejo repo in navbar
- OpenAPI docs rebranded to MapleDeploy
The livewire:init event fires before inline scripts execute in Livewire
components, so wrapping Livewire.on() in document.addEventListener('livewire:init')
prevents the callback from ever firing, breaking chart data updates.
This removes the wrapper to match the working pattern in metrics.blade.php.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Wraps inline chart initialization scripts in IIFEs to create local scope for variables. This prevents "Identifier has already been declared" errors when Livewire's SPA navigation re-executes scripts, allowing smooth navigation between metrics pages without page refresh.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Implement instance-wide SPA navigation toggle that enables smooth page transitions with prefetching on hover. Excludes terminal links which require full page lifecycle for WebSocket connections. Adds defensive checks to global-search component for SPA navigation compatibility.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>