- 28 Jun, 2026 5 commits
-
-
Mahmoud Aglan authored
Tabs component: The <x-ui.tabs> was creating its own x-data Alpine scope which shadowed the parent's activeTab state, preventing tab clicks from toggling panel visibility. Now detects slot mode (ComponentSlot) and skips emitting x-data, letting the parent scope handle state. Sidebar: Profile edit and dashboard pages had hardcoded href="#" links for Projects, Campaigns, Messages, Portfolio. Replaced with the shared creator-sidebar include that uses real routes. Also fixed dropdown profile/ settings links in the main layout. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
- Mail: Use verify_peer=false for internal Docker SMTP (self-signed cert on srv-captain--mail). Without this, STARTTLS fails with certificate verify error and no emails are sent. - Livewire: Add livewire:publish --assets to entrypoint.sh so the JS file is available after container restarts (assets live in public/ which isn't in a persistent volume). Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
CapRover terminates SSL before forwarding to the container, so Laravel needs to trust the X-Forwarded-* headers to generate https:// URLs in redirects. Without this, all redirects pointed to http:// which then triggered another redirect loop through CapRover's force-SSL setting. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
All auth controllers were always returning JSON responses via the ApiResponse trait, even for standard HTML form submissions. Browser forms don't set Accept: application/json, so they received raw JSON text instead of proper redirects/error displays. Now all controllers check expectsJson() to serve both web and API clients correctly. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
- 27 Jun, 2026 15 commits
-
-
Mahmoud Aglan authored
The tabs component receives tabs either as an array prop (for simple label-based tabs) or as a named slot (for custom tab button HTML). Now it handles both patterns without crashing on count(). Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- campaigns: deadline -> application_deadline - applications: creator_profile_id -> creator_id - company_profiles: approval_status -> status Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Use IF NOT EXISTS checks to avoid duplicate index errors when original table migrations already define the same indexes. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- Install laravel/sanctum (fixes all 13 API route files that use auth:sanctum) - Add HasApiTokens trait to User model - Create missing sidebar partials (admin-sidebar, creator-sidebar) fixing 8 pages - Add missing DB columns: last_active_at, reputation_tier (creator_profiles), admin_notes (projects) - Fix ForceProjectStatusRequest validation to match DB CHECK constraint - Fix Submission::revisionRequest() relationship type (belongsTo -> hasOne) - Add eager-load for company+creator in project show controllers - Create missing InvitationCancelled event class - Add missing translation keys (en+ar) for sidebar navigation Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Registration no longer crashes if email verification fails to send. Also fix mail host: srv-captain--poste-io -> srv-captain--mail. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
- Rename portfolio_items migration to run before application_portfolio_items pivot - Fix materialized view referencing cp.niches (should be cp.content_niches) and remove nonexistent last_active_at column - Make entrypoint non-fatal on migration failure with DB wait loop - Health endpoint always returns 200 (degraded status in body) to prevent Docker killing healthy containers Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
symfony/translation in the lock file requires PHP >= 8.4.1, causing container crash on startup with the 8.3 image. Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
Covers Auth (registration, login, email verification, password reset, username validation), Admin (user management, company approval, impersonation, audit log, dashboard stats), Companies (profile CRUD, social link normalization, completion scoring, approval flow), Creators (profile CRUD, username throttle, completion scoring, scopes, policies), and Settings (platform settings CRUD, caching, CSS generation, feature flags). Co-Authored-By:Claude Opus 4.6 <noreply@anthropic.com>
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
-
Mahmoud Aglan authored
-
- 25 Jun, 2026 1 commit
-
-
Mahmoud Aglan authored
-