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

1.2 KiB

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).***