Files
Virtnet.bond/memory-bank/systemPatterns.md

9 lines
1.2 KiB
Markdown

# System Patterns
- **Extension Boot Flow**: Each extension extends `App\Classes\Extension\Extension`, declaring migrations in `enabled()`, registering Livewire components, Blade namespaces, and event listeners inside `boot()`. Navigation hooks (`navigation`, `navigation.account-dropdown`, `pages.*`) return arrays consumed by `App\Classes\Navigation`.
- **Filament Admin Integration**: Resources live under `extensions/<Type>/<Name>/Admin/Resources`. Paymenter auto-discovers these through `AdminPanelProvider`, 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`, optional `params`, `spa` flag, and nested `children`. Conditions guard link visibility based on auth role (admin/client/guest).***