- 29 Jun, 2026 10 commits
-
-
Mahmoud Aglan authored
1. app.js was importing and starting Alpine manually, but Livewire 3/4 already bundles Alpine. Two instances meant $wire magic was unavailable. Now app.js just registers the focus plugin via Livewire's alpine:init hook. 2. Wizard x-data used @entangle which compiled to the old window.Livewire.find(id).entangle() syntax. Replaced with $wire getters which is the canonical Livewire 3+ approach. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Livewire components use $this->authorize() which goes through Laravel's Gate system. Without a Gate callback, super_admin gets 403 because no policies exist. Gate::before delegates all ability checks to our PermissionService (which returns true for is_super_admin). Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Sidebar: route names in navigation array didn't match actual registered routes (e.g. 'participants.index' vs 'participants.list'). Remapped all entries to match the real route names from route:list. Login: replaced `redirect(navigate: true)` with `redirectIntended()` — Livewire SPA navigation between different layouts (guest→app) fails silently, requiring a manual page refresh. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
The @php block starting at line 1 was never closed before another @php was opened at line 99, causing "unexpected variable $permissionService". Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
1. Remove double <aside> wrapper (app.blade.php was wrapping sidebar in its own aside, conflicting with sidebar's own fixed positioning) 2. Replace auth()->user()->can() with PermissionService->can() which properly handles is_super_admin bypass Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
Laravel 13's Symfony dependencies require PHP >= 8.4.1. The container was crash-looping because the entrypoint hit Composer's platform check against the 8.3 runtime. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Handles transient GitHub CDN 400 errors during Docker build. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- All 14 domain modules with models, services, events, listeners - Auto-enrollment with auto-group creation when capacity full - SuperAdmin setup wizard (8-step first-login onboarding) - Receptionist desk wizards (registration, enrollment, payment, POS) - Complete permission seeder (138 permissions, 10 roles) - Full sidebar navigation with permission gates - Docker + supervisor (PHP-FPM, nginx, queue worker, scheduler) - Pre-deploy checklist and FK verification scripts - All 35 events registered with ShouldDispatchAfterCommit - All listeners queued with ShouldQueue - RTL Arabic-first UI with logical Tailwind properties Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-