nimuli/tests
boban fa9985cc33 feat: modal infrastructure + 11 modals (links, team, settings, workspace)
wire-elements/modal v3 integration:
- Replace custom Alpine modal-container with <livewire:livewire-ui-modal />
- Customize vendor modal view with design tokens (bg-s1, dark overlay, smooth transitions)
- All modals extend ModalComponent, use $this->closeModal()

Modals built (PHP + Blade view + tests):
- ConfirmAction — reusable danger confirm with custom event dispatch
- CreateLink, EditLink, DeleteLink — full CRUD with workspace isolation
- InviteMember, EditMemberRole, RemoveMember — team management
- CreateApiToken, RevokeApiToken — Sanctum token lifecycle
- CreateWebhook, DeleteWebhook — webhook CRUD
- CreateWorkspace (uses CreateWorkspaceAction), DeleteWorkspace (confirmation input)

Fixes:
- Remove SoftDeletes from Webhook model (table has no deleted_at column)
- Auto-generate webhook secret when user leaves field empty
- Use correct role enum: owner/admin/editor/viewer (not member)
- Protected Livewire model properties replaced with re-query pattern
- Sidebar "New Workspace" button now dispatches openModal

Tests: 105/105 passing, 211 assertions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 12:41:14 +02:00
..
Feature feat: modal infrastructure + 11 modals (links, team, settings, workspace) 2026-05-16 12:41:14 +02:00
Unit fix(quality): PHPStan level 6 compliance, Pint formatting 2026-05-16 08:28:10 +02:00
Pest.php feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker 2026-05-15 23:51:57 +02:00
TestCase.php feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker 2026-05-15 23:51:57 +02:00
bootstrap.php fix: tests green + logout route + smoke test 2026-05-16 11:57:32 +02:00