- Reverted Component.php to original state (was breaking all Livewire modals)
- Icon properties and methods now only in Overview.php where they belong
- Icon button only shows as clickable on Overview page
- Other pages show the icon as display-only (not a button)
- Icon modal only renders on Overview page
- Fixed saveIcon method to accept icon and color arguments
- Moved icon loading to openIconModal() method instead
- This prevents any potential issues with child component mount methods
- Icon values are now lazy-loaded when modal is opened
- Fixed escaped quotes in Alpine.js directives that were breaking the modal
- Changed icon button styling to match server list (bg-secondary/10 p-2 rounded-lg)
- Use x-dynamic-component for custom icons, x-ri-server-line for default
- Properly format all x-transition and @click attributes
- Added inline CSS link as fallback (in addition to @push)
- Changed default icon to use <x-ri-server-line> SVG component instead of font icon
- This ensures icon displays even if CDN CSS hasn't loaded yet
- Moved icon modal properties and methods from Overview.php to base Component.php
- All Proxmox Livewire components now inherit icon customization functionality
- Removed view restriction so modal works on all server pages (not just overview)
- Icon button is now clickable and functional on Network, Storage, Backups, etc.
- Added Remix Icon CDN CSS (remixicon@4.5.0) to layout
- Replaced Heroicon components with Remix Icon font classes (ri-*)
- Using dynamic icon class binding in Alpine.js for modal grid
- Icon names updated to Remix format (e.g., server-line, github-line)
- Added more icons including gaming, OS, and brand icons
- Simplified icon rendering - no more individual template/x-if blocks
- Added blade-ui-kit/blade-heroicons to composer.json
- Replaced all ri-* icons with heroicon-o-* equivalents
- Updated icon names to use simple names (e.g., 'server' instead of 'ri-server-line')
- Updated icon button display switch statement
- Updated modal icon grid with Heroicons
- 80+ icons available for server customization
- Add user_set_icon and user_set_icon_color to Server model fillable
- Add icon modal properties and methods to Overview component
- Add clickable icon button next to server hostname in layout
- Add icon picker modal with search, color selection, and preview
- Support for 100+ Remix icons across various categories
- Icons persist to database and display on page load
Users with cached Livewire state from before rollback were getting errors
because their browser was trying to set showIconModal which no longer existed.
Adding an empty property prevents these errors until they refresh.
- Remove @entangle which caused server round-trip on modal open
- Pass statistic data inline via Alpine event dispatch instead of fetching from DB
- Add direct deleteStatistic(id) method for simpler deletion
- Modal now opens immediately without any server communication
Alpine.js @event.window modifier listens on window object, not document.
This fix ensures the chartsLoaded state becomes true, removing the
max-h-[260px] constraint and allowing all 4 graphs to display.
- Registered Livewire component for storage management.
- Updated routes to include storage management endpoint.
- Modified layout to add storage management link.
- Created storage management view with features to add, edit, and manage drives.
- Implemented modals for adding and editing drives with appropriate validations and options.