Merge development into main (#42)
* feat: improve button layout and UI organization (#35) - Reorganize control buttons into a structured container with proper spacing - Add responsive design for mobile and desktop layouts - Improve SettingsButton and ResyncButton component structure - Enhance visual hierarchy with better typography and spacing - Add background container with shadow and border for better grouping - Make layout responsive with proper flexbox arrangements * Add category sidebar and filtering to scripts grid (#36) * Add category sidebar and filtering to scripts grid Introduces a CategorySidebar component with icon mapping and category selection. Updates metadata.json to include icons for each category. Enhances ScriptsGrid to support category-based filtering and integrates the sidebar, improving script navigation and discoverability. Also refines ScriptDetailModal layout for better modal presentation. * Add category metadata to scripts and improve filtering Introduces category metadata loading and exposes it via new API endpoints. Script cards are now enhanced with category information, allowing for accurate category-based filtering and counting in the ScriptsGrid component. Removes hardcoded category logic and replaces it with dynamic data from metadata.json. * Add reusable Badge component and refactor badge usage (#37) Introduces a new Badge component with variants for type, updateable, privileged, status, execution mode, and note. Refactors ScriptCard, ScriptDetailModal, and InstalledScriptsTab to use the new Badge components, improving consistency and maintainability. Also updates DarkModeProvider and layout.tsx for better dark mode handling and fallback. * Add advanced filtering and sorting to ScriptsGrid (#38) Introduces a new FilterBar component for ScriptsGrid, enabling filtering by search query, updatable status, script types, and sorting by name or creation date. Updates scripts API to include creation date in card data, improves deduplication and category counting logic, and adds error handling for missing script directories. * refactore installed scipts tab (#41) * feat: Add inline editing and manual script entry functionality - Add inline editing for script names and container IDs in installed scripts table - Add manual script entry form for pre-installed containers - Update database and API to support script_name editing - Improve dark mode hover effects for table rows - Add form validation and error handling - Support both local and SSH execution modes for manual entries * feat: implement installed scripts functionality and clean up test files - Add installed scripts tab with filtering and execution capabilities - Update scripts grid with better type safety and error handling - Remove outdated test files and update test configuration - Fix TypeScript and ESLint issues in components - Update .gitattributes for proper line ending handling * fix: resolve TypeScript error with categoryNames type mismatch - Fixed categoryNames type from (string | undefined)[] to string[] in scripts router - Added proper type filtering and assertion in getScriptCardsWithCategories - Added missing ScriptCard import in scripts router - Ensures type safety for categoryNames property throughout the application --------- Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a05185db1b
commit
e09c1bbf5d
@@ -1,31 +1,186 @@
|
||||
{
|
||||
"categories": [
|
||||
{ "name": "Proxmox & Virtualization", "id": 1, "sort_order": 1.0, "description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively." },
|
||||
{ "name": "Operating Systems", "id": 2, "sort_order": 2.0, "description": "Scripts for deploying and managing various operating systems." },
|
||||
{ "name": "Containers & Docker", "id": 3, "sort_order": 3.0, "description": "Solutions for containerization using Docker and related technologies." },
|
||||
{ "name": "Network & Firewall", "id": 4, "sort_order": 4.0, "description": "Enhance network security and configure firewalls with ease." },
|
||||
{ "name": "Adblock & DNS", "id": 5, "sort_order": 5.0, "description": "Optimize your network with DNS and ad-blocking solutions." },
|
||||
{ "name": "Authentication & Security", "id": 6, "sort_order": 6.0, "description": "Secure your infrastructure with authentication and security tools." },
|
||||
{ "name": "Backup & Recovery", "id": 7, "sort_order": 7.0, "description": "Reliable backup and recovery scripts to protect your data." },
|
||||
{ "name": "Databases", "id": 8, "sort_order": 8.0, "description": "Deploy and manage robust database systems with ease." },
|
||||
{ "name": "Monitoring & Analytics", "id": 9, "sort_order": 9.0, "description": "Monitor system performance and analyze data seamlessly." },
|
||||
{ "name": "Dashboards & Frontends", "id": 10, "sort_order": 10.0, "description": "Create interactive dashboards and user-friendly frontends." },
|
||||
{ "name": "Files & Downloads", "id": 11, "sort_order": 11.0, "description": "Manage file sharing and downloading solutions efficiently." },
|
||||
{ "name": "Documents & Notes", "id": 12, "sort_order": 12.0, "description": "Organize and manage documents and note-taking tools." },
|
||||
{ "name": "Media & Streaming", "id": 13, "sort_order": 13.0, "description": "Stream and manage media effortlessly across devices." },
|
||||
{ "name": "*Arr Suite", "id": 14, "sort_order": 14.0, "description": "Automated media management with the popular *Arr suite tools." },
|
||||
{ "name": "NVR & Cameras", "id": 15, "sort_order": 15.0, "description": "Manage network video recorders and camera setups." },
|
||||
{ "name": "IoT & Smart Home", "id": 16, "sort_order": 16.0, "description": "Control and automate IoT devices and smart home systems." },
|
||||
{ "name": "ZigBee, Z-Wave & Matter", "id": 17, "sort_order": 17.0, "description": "Solutions for ZigBee, Z-Wave, and Matter-based device management." },
|
||||
{ "name": "MQTT & Messaging", "id": 18, "sort_order": 18.0, "description": "Set up reliable messaging and MQTT-based communication systems." },
|
||||
{ "name": "Automation & Scheduling", "id": 19, "sort_order": 19.0, "description": "Automate tasks and manage scheduling with powerful tools." },
|
||||
{ "name": "AI / Coding & Dev-Tools", "id": 20, "sort_order": 20.0, "description": "Leverage AI and developer tools for smarter coding workflows." },
|
||||
{ "name": "Webservers & Proxies", "id": 21, "sort_order": 21.0, "description": "Deploy and configure web servers and proxy solutions." },
|
||||
{ "name": "Bots & ChatOps", "id": 22, "sort_order": 22.0, "description": "Enhance collaboration with bots and ChatOps integrations." },
|
||||
{ "name": "Finance & Budgeting", "id": 23, "sort_order": 23.0, "description": "Track expenses and manage budgets efficiently." },
|
||||
{ "name": "Gaming & Leisure", "id": 24, "sort_order": 24.0, "description": "Scripts for gaming servers and leisure-related tools." },
|
||||
{ "name": "Business & ERP", "id": 25, "sort_order": 25.0, "description": "Streamline business operations with ERP and management tools." },
|
||||
{ "name": "Miscellaneous", "id": 0, "sort_order": 99.0, "description": "General scripts and tools that don't fit into other categories." }
|
||||
{
|
||||
"name": "Proxmox & Virtualization",
|
||||
"id": 1,
|
||||
"sort_order": 1.0,
|
||||
"description": "Tools and scripts to manage Proxmox VE and virtualization platforms effectively.",
|
||||
"icon": "server"
|
||||
},
|
||||
{
|
||||
"name": "Operating Systems",
|
||||
"id": 2,
|
||||
"sort_order": 2.0,
|
||||
"description": "Scripts for deploying and managing various operating systems.",
|
||||
"icon": "monitor"
|
||||
},
|
||||
{
|
||||
"name": "Containers & Docker",
|
||||
"id": 3,
|
||||
"sort_order": 3.0,
|
||||
"description": "Solutions for containerization using Docker and related technologies.",
|
||||
"icon": "box"
|
||||
},
|
||||
{
|
||||
"name": "Network & Firewall",
|
||||
"id": 4,
|
||||
"sort_order": 4.0,
|
||||
"description": "Enhance network security and configure firewalls with ease.",
|
||||
"icon": "shield"
|
||||
},
|
||||
{
|
||||
"name": "Adblock & DNS",
|
||||
"id": 5,
|
||||
"sort_order": 5.0,
|
||||
"description": "Optimize your network with DNS and ad-blocking solutions.",
|
||||
"icon": "ban"
|
||||
},
|
||||
{
|
||||
"name": "Authentication & Security",
|
||||
"id": 6,
|
||||
"sort_order": 6.0,
|
||||
"description": "Secure your infrastructure with authentication and security tools.",
|
||||
"icon": "lock"
|
||||
},
|
||||
{
|
||||
"name": "Backup & Recovery",
|
||||
"id": 7,
|
||||
"sort_order": 7.0,
|
||||
"description": "Reliable backup and recovery scripts to protect your data.",
|
||||
"icon": "archive"
|
||||
},
|
||||
{
|
||||
"name": "Databases",
|
||||
"id": 8,
|
||||
"sort_order": 8.0,
|
||||
"description": "Deploy and manage robust database systems with ease.",
|
||||
"icon": "database"
|
||||
},
|
||||
{
|
||||
"name": "Monitoring & Analytics",
|
||||
"id": 9,
|
||||
"sort_order": 9.0,
|
||||
"description": "Monitor system performance and analyze data seamlessly.",
|
||||
"icon": "bar-chart"
|
||||
},
|
||||
{
|
||||
"name": "Dashboards & Frontends",
|
||||
"id": 10,
|
||||
"sort_order": 10.0,
|
||||
"description": "Create interactive dashboards and user-friendly frontends.",
|
||||
"icon": "layout"
|
||||
},
|
||||
{
|
||||
"name": "Files & Downloads",
|
||||
"id": 11,
|
||||
"sort_order": 11.0,
|
||||
"description": "Manage file sharing and downloading solutions efficiently.",
|
||||
"icon": "download"
|
||||
},
|
||||
{
|
||||
"name": "Documents & Notes",
|
||||
"id": 12,
|
||||
"sort_order": 12.0,
|
||||
"description": "Organize and manage documents and note-taking tools.",
|
||||
"icon": "file-text"
|
||||
},
|
||||
{
|
||||
"name": "Media & Streaming",
|
||||
"id": 13,
|
||||
"sort_order": 13.0,
|
||||
"description": "Stream and manage media effortlessly across devices.",
|
||||
"icon": "play"
|
||||
},
|
||||
{
|
||||
"name": "*Arr Suite",
|
||||
"id": 14,
|
||||
"sort_order": 14.0,
|
||||
"description": "Automated media management with the popular *Arr suite tools.",
|
||||
"icon": "tv"
|
||||
},
|
||||
{
|
||||
"name": "NVR & Cameras",
|
||||
"id": 15,
|
||||
"sort_order": 15.0,
|
||||
"description": "Manage network video recorders and camera setups.",
|
||||
"icon": "camera"
|
||||
},
|
||||
{
|
||||
"name": "IoT & Smart Home",
|
||||
"id": 16,
|
||||
"sort_order": 16.0,
|
||||
"description": "Control and automate IoT devices and smart home systems.",
|
||||
"icon": "home"
|
||||
},
|
||||
{
|
||||
"name": "ZigBee, Z-Wave & Matter",
|
||||
"id": 17,
|
||||
"sort_order": 17.0,
|
||||
"description": "Solutions for ZigBee, Z-Wave, and Matter-based device management.",
|
||||
"icon": "radio"
|
||||
},
|
||||
{
|
||||
"name": "MQTT & Messaging",
|
||||
"id": 18,
|
||||
"sort_order": 18.0,
|
||||
"description": "Set up reliable messaging and MQTT-based communication systems.",
|
||||
"icon": "message-circle"
|
||||
},
|
||||
{
|
||||
"name": "Automation & Scheduling",
|
||||
"id": 19,
|
||||
"sort_order": 19.0,
|
||||
"description": "Automate tasks and manage scheduling with powerful tools.",
|
||||
"icon": "clock"
|
||||
},
|
||||
{
|
||||
"name": "AI / Coding & Dev-Tools",
|
||||
"id": 20,
|
||||
"sort_order": 20.0,
|
||||
"description": "Leverage AI and developer tools for smarter coding workflows.",
|
||||
"icon": "code"
|
||||
},
|
||||
{
|
||||
"name": "Webservers & Proxies",
|
||||
"id": 21,
|
||||
"sort_order": 21.0,
|
||||
"description": "Deploy and configure web servers and proxy solutions.",
|
||||
"icon": "globe"
|
||||
},
|
||||
{
|
||||
"name": "Bots & ChatOps",
|
||||
"id": 22,
|
||||
"sort_order": 22.0,
|
||||
"description": "Enhance collaboration with bots and ChatOps integrations.",
|
||||
"icon": "bot"
|
||||
},
|
||||
{
|
||||
"name": "Finance & Budgeting",
|
||||
"id": 23,
|
||||
"sort_order": 23.0,
|
||||
"description": "Track expenses and manage budgets efficiently.",
|
||||
"icon": "dollar-sign"
|
||||
},
|
||||
{
|
||||
"name": "Gaming & Leisure",
|
||||
"id": 24,
|
||||
"sort_order": 24.0,
|
||||
"description": "Scripts for gaming servers and leisure-related tools.",
|
||||
"icon": "gamepad-2"
|
||||
},
|
||||
{
|
||||
"name": "Business & ERP",
|
||||
"id": 25,
|
||||
"sort_order": 25.0,
|
||||
"description": "Streamline business operations with ERP and management tools.",
|
||||
"icon": "building"
|
||||
},
|
||||
{
|
||||
"name": "Miscellaneous",
|
||||
"id": 0,
|
||||
"sort_order": 99.0,
|
||||
"description": "General scripts and tools that don't fit into other categories.",
|
||||
"icon": "more-horizontal"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user