1.2 KiB
1.2 KiB
System Patterns
- Extension Boot Flow: Each extension extends
App\Classes\Extension\Extension, declaring migrations inenabled(), registering Livewire components, Blade namespaces, and event listeners insideboot(). Navigation hooks (navigation,navigation.account-dropdown,pages.*) return arrays consumed byApp\Classes\Navigation. - Filament Admin Integration: Resources live under
extensions/<Type>/<Name>/Admin/Resources. Paymenter auto-discovers these throughAdminPanelProvider, so resources should avoid manual registration and rely on Filament forms/tables for CRUD. - Livewire + Alpine UI: Client dashboards (e.g., Proxmox firewall logs) rely on Livewire components returning data arrays, while Alpine handles filtering, pagination, modals, and CSS-driven state (e.g., multi-select filters, modals showing connection state).
- CSS/Icons: Tailwind utility classes are augmented with raw CSS for precise styling. Remix Icon names are used throughout; recent changes normalize any
ri-*classes and permit raw icon names. - Navigation Data Contracts: Formatted links require
name,route, optionalparams,spaflag, and nestedchildren. Conditions guard link visibility based on auth role (admin/client/guest).***