Repository navigation
[Core]: Front — master layout #12
Copy link
Copy link
Labels
refinedRefined with SMART plan / test suggestionsRefined with SMART plan / test suggestions
Milestone
Description
Epic: Front — Master Layout
Establish the unified, responsive master layout that wraps every panel page: navigation shell, sidebar, top bar, breadcrumbs, tenant-switcher, and footer scaffold. This layout is the visual foundation all other UI epics build on.
Sub-issues
- [Core]: Features & Improvements collection (v1 community) #2 — Admin panel global layout shell
- [Infrastructure]: Documentation efforts tracker #10 — Company panel sidebar navigation
- [Core]: Login screen #11 — Responsive mobile navigation / hamburger drawer
- [Core]: Admin users are not supposed to be deleted #22 — Top-bar: user avatar, tenant label, notification bell, account dropdown
- Feature/prep filament v4 #23 — Breadcrumb component
- [Projects]: change dropdown client menu to add name to client if not on the list but need to change required fields in client for name only #24 — Dark-mode / Nord theme wiring for all panels
- create's need to auto incremint their id's instead of text fields and check for no duplicates etc #25 — Footer scaffold (version badge, support link)
Acceptance Criteria
- All three panels (admin, company, user) share the same layout blade/component hierarchy with panel-specific slot overrides.
- Sidebar collapses to an icon-only rail on
lgbreakpoint and to a drawer belowlg. - Top bar renders tenant name and
search_codefor company panel; renders "Admin" label for admin panel. - Breadcrumbs auto-generate from the Filament breadcrumb API for every page.
- Nord CSS theme applies across company panel pages with no unstyled flash.
- All layout elements pass Filament v4's built-in accessibility checks (ARIA roles, focus order).
Test Scenarios (PHPUnit + Livewire)
/* Arrange */ $this->testLivewire(Dashboard::class)
/* Act */ ->assertSuccessful()
/* Assert */ ->assertSeeHtml('data-sidebar')
->assertSeeHtml($this->company->name);/* Arrange */ Livewire::actingAs($this->superAdmin())
->test(\Modules\Core\Filament\Admin\Pages\Dashboard::class)
/* Act */ ->assertSuccessful()
/* Assert */ ->assertDontSeeHtml('data-tenant');Notes
- Filament v4 uses the
FilamentLayoutblade component as the shell — customise via the panel provider's->renderHook()API, not by overriding the component directly. - Nord palette tokens live in
resources/css/filament/company/nord.css; any new tokens must be added there. - Mobile nav drawer must be implemented as a Livewire component to support keyboard-accessible open/close without Alpine duplication.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
refinedRefined with SMART plan / test suggestionsRefined with SMART plan / test suggestions
Activity
[-]Front: master layout[/-][+][Core]: Front — master layout[/+]nielsdrost7 commentedon Jul 16, 2026
SMART Plan — Front — master layout epic status
Specific
Establish the shared Filament layout shell (navigation, sidebar, top bar, breadcrumbs, theming, footer) used by all three panels (
admin,company,user).Measurable
Modules/Core/Providers/AdminPanelProvider.php,CompanyPanelProvider.php, andUserPanelProvider.phpeach call->viteTheme('resources/css/filament/company/nord.css').->sidebarCollapsibleOnDesktop().AdminPanelProvider,CompanyPanelProvider,UserPanelProviderare real, registered, and resource-discovering perCLAUDE.md.Modules/Core/Filament.CompanyPanelProviderexplicitly calls->tenantMenu(false), disabling Filament's built-in tenant menu, and no notification bell or custom account dropdown component was found. The avatar piece of this depends on [Core]: Client & user avatars #399 (client & user avatars), which found the Gravatar driver unwired.Modules/Core/Providersorresources/views.Definition of done for this epic: all capabilities above are checked off, with real Filament accessibility checks passing (per the epic's own acceptance criteria), and the epic body's sub-issue links are corrected to point at real, matching issues (or removed if no such issues exist).
Achievable
#2,#10,#11,#22,#23,#24,#25) — they currently misdirect anyone trying to navigate from this epic to its actual sub-work, and three of them point at issues that don't exist.Relevant
The master layout is the visual foundation every other panel page builds on; the fact that its own sub-issue checklist doesn't point at real tracked work means progress on this epic is currently unmeasurable through the issue tracker itself — fixing the links is as important as building the remaining capabilities.
Time-bound
No fixed date — re-review once the sub-issue links are corrected and each remaining capability (top bar, mobile drawer, footer) has its own real issue number to track against.