diff --git a/src/app/_components/HelpModal.tsx b/src/app/_components/HelpModal.tsx index 7fe996c..871ceed 100644 --- a/src/app/_components/HelpModal.tsx +++ b/src/app/_components/HelpModal.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import { Button } from './ui/button'; -import { HelpCircle, Server, Settings, RefreshCw, Clock, Package, HardDrive, FolderOpen, Search, Download, Lock } from 'lucide-react'; +import { HelpCircle, Server, Settings, RefreshCw, Clock, Package, HardDrive, FolderOpen, Search, Download, Lock, GitBranch } from 'lucide-react'; import { useRegisterModal } from './modal/ModalStackProvider'; interface HelpModalProps { @@ -11,7 +11,7 @@ interface HelpModalProps { initialSection?: string; } -type HelpSection = 'server-settings' | 'general-settings' | 'auth-settings' | 'sync-button' | 'auto-sync' | 'available-scripts' | 'downloaded-scripts' | 'installed-scripts' | 'lxc-settings' | 'update-system'; +type HelpSection = 'server-settings' | 'general-settings' | 'auth-settings' | 'sync-button' | 'auto-sync' | 'available-scripts' | 'downloaded-scripts' | 'installed-scripts' | 'lxc-settings' | 'update-system' | 'repositories'; export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' }: HelpModalProps) { useRegisterModal(isOpen, { id: 'help-modal', allowEscape: true, onClose }); @@ -25,6 +25,7 @@ export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' { id: 'auth-settings' as HelpSection, label: 'Authentication Settings', icon: Lock }, { id: 'sync-button' as HelpSection, label: 'Sync Button', icon: RefreshCw }, { id: 'auto-sync' as HelpSection, label: 'Auto-Sync', icon: Clock }, + { id: 'repositories' as HelpSection, label: 'Repositories', icon: GitBranch }, { id: 'available-scripts' as HelpSection, label: 'Available Scripts', icon: Package }, { id: 'downloaded-scripts' as HelpSection, label: 'Downloaded Scripts', icon: HardDrive }, { id: 'installed-scripts' as HelpSection, label: 'Installed Scripts', icon: FolderOpen }, @@ -379,6 +380,106 @@ export function HelpModal({ isOpen, onClose, initialSection = 'server-settings' ); + case 'repositories': + return ( +
+ Manage script repositories (GitHub repositories) and configure which repositories to use for syncing scripts. +
++ Repositories are GitHub repositories that contain scripts and their metadata. Scripts are organized by repositories, allowing you to add custom repositories or manage which repositories are active. +
++ You can add custom repositories or manage existing ones in General Settings > Repositories. +
++ For a repository to work with this system, it must follow this structure: +
+frontend/public/json/ folder at the repository root. Each JSON file contains metadata for a script (name, description, installation methods, etc.).ct/ - Container scripts (LXC)install/ - Installation scriptstools/ - Tool scriptsvm/ - Virtual machine scripts+ The system comes with two default repositories that cannot be deleted: +
+github.com/community-scripts/ProxmoxVE. This is enabled by default and contains stable, production-ready scripts. This repository cannot be deleted.github.com/community-scripts/ProxmoxVED. This is disabled by default and contains experimental or in-development scripts. This repository cannot be deleted.+ You can enable or disable repositories to control which scripts are available: +
++ Note: Disabling a repository doesn't delete scripts you've already downloaded from it. They remain on your system but are hidden from the Available Scripts list. +
++ When multiple repositories are enabled, filter buttons appear in the filter bar on the Available Scripts tab. +
++ Note: Filter buttons only appear when more than one repository is enabled. If only one repository is enabled, all scripts from that repository are shown by default. +
++ You can add your own GitHub repositories to access custom scripts: +
+https://github.com/owner/repo)+ Important: Custom repositories must follow the repository structure described above. Repositories that don't follow this structure may not work correctly. +
+- Scripts are organized by repositories (GitHub repositories). You can add custom repositories or manage existing ones in General Settings. -
- -- For a repository to work with this system, it must follow this structure: -
-frontend/public/json/ folder at the repository rootct/ - Container scriptsinstall/ - Installation scriptstools/ - Tool scriptsvm/ - Virtual machine scripts- When multiple repositories are enabled, filter buttons appear in the filter bar. Click a repository button to toggle showing/hiding scripts from that repository. Active buttons are highlighted. This allows you to quickly focus on scripts from specific repositories. -
-