- Calculate total installed plugins count
- Calculate total active/enabled plugins count
- Display statistics in page header with icons
- Shows 'Installed: X' and 'Active: Y' counts
- Statistics only shown when plugins are installed
- Improves visibility of plugin status at a glance
- Make toggleView more flexible - only require the specific view element needed
- Store view can now work even when gridView/tableView don't exist (no plugins installed)
- Fix initialization to directly show store view without calling toggleView recursively
- Find store button by text content instead of array index for reliability
- Prevents 'View elements not found' errors when loading Plugin Store with no installed plugins
- Hide Grid and Table view buttons when plugins list is empty
- Only show Plugin Store button when no plugins are installed
- Improves UX by preventing clicks on non-functional buttons
- Combined with null checks, ensures no JavaScript errors occur
- Add null checks for gridView, tableView, and storeView elements
- Prevent 'Cannot read properties of null' errors when elements don't exist
- Add null checks for viewBtns array access
- Add function existence checks before calling setupStoreSearch, loadPluginStore, displayStorePlugins
- Improve initialization code with better error handling
- Fixes Plugin Store loading errors when no plugins are installed
- Added NEW badge for plugins updated within last 3 months (90 days)
- Added Stale badge for plugins not updated in last 2 years (730 days)
- Removed Author, Status, and Active columns from Plugin Store view
- Fixed intermittent old table display with cache-busting v7
- Added column count validation to ensure correct 8-column structure
- Added tooltips for NEW and Stale badges with descriptive messages
- Cleared plugin store cache to prevent stale data display
- Updated cache-busting version to v7 to force browser refresh
- Added code to detect and remove any duplicate view-toggle divs
- Keeps only the one with id='plugins-view-toggle'
- This handles cases where browser cache or template cache shows duplicates
- Added id='plugins-view-toggle' to view-toggle div to prevent duplicates
- Updated toggleView() to only select buttons from the main view-toggle
- This should prevent any duplicate button issues
- Moved view toggle (Grid View, Table View, Plugin Store, Plugin Development Guide) to top of plugins section
- Removed duplicate view toggle that appeared at bottom
- Now only one set of view toggle buttons appears at the top
- Removed duplicate view toggle section that appeared when plugins exist
- Kept single view toggle that's always visible (after plugins section)
- Fixes issue where Grid View, Table View, Plugin Store buttons appeared twice
- Added author display to Grid View plugin cards
- Added Author column to Table View
- Added Author column to Plugin Store table view
- Author information is extracted from plugin meta.xml files
- Displays 'Unknown' if author is not specified in meta.xml
- Update examplePlugin and emailMarketing meta.xml to use 1.0.0 format
- Add comprehensive semantic versioning section to plugin help page
- Explain major/minor/patch version numbers with examples
- Standardize all plugins to use three-number version format (X.Y.Z)
- Improve version tracking and update clarity for plugin developers
- Add author field extraction from meta.xml in both plugin processing loops
- Update discordWebhooks meta.xml to include author: Master3395
- Update examplePlugin meta.xml to include author: usmannasir
- Add Plugin Settings button next to Deactivate/Uninstall buttons in both grid and table views
- Special handling for emailMarketing core plugin URL (/emailMarketing/ instead of /plugins/emailMarketing/)
- Add btn-settings styling for Settings button with hover effects
- Add specific CSS rules for a.view-btn to ensure proper styling
- Help button now displays correctly next to Plugin Store button
- Matches styling of other view toggle buttons (hover effects, colors)
- Button is clearly visible and accessible for users
- Add help button next to CyberPanel Plugin Store button
- Links to /plugins/help/ (Plugin Development Guide)
- Helps users understand how to work with plugins
- Button appears in both view toggle sections (with and without plugins)
- Styled consistently with other view toggle buttons
- Wrap second Django template code example (line 500) with {% verbatim %} tags
- Ensures all Django template syntax in code examples is properly escaped
- Fixes remaining 'Invalid block tag' error on line 660
- Replace {% with {%% in code examples to prevent template parsing errors
- Fixes 'block tag with name title appears more than once' error
- Code examples now display correctly without being parsed as actual template blocks
- Inform users that plugin store data is cached for 1 hour
- Explain that new plugins may take up to 1 hour to appear
- Improve transparency about cache behavior
- Added Modify Date column to both Table View and Plugin Store
- Implemented GitHub API integration to fetch last commit dates
- Added caching system for plugin store to prevent rate limit errors
- Enhanced plugin store with installed/enabled status enrichment
- Added comprehensive plugin development guide
- Updated testPlugin meta.xml author to usmannasir