From 9608affcf6adc8df4709266d01fb840fd7c8d221 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner Date: Thu, 13 Nov 2025 15:37:20 +0100 Subject: [PATCH] Change Position of text --- src/app/_components/HelpModal.tsx | 155 ++++++++++++++++++--------- src/app/_components/ResyncButton.tsx | 2 +- 2 files changed, 104 insertions(+), 53 deletions(-) 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 ( +
+
+

Repositories

+

+ Manage script repositories (GitHub repositories) and configure which repositories to use for syncing scripts. +

+
+ +
+
+

What Are Repositories?

+

+ 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. +

+
+ +
+

Repository Structure

+

+ For a repository to work with this system, it must follow this structure: +

+
    +
  • JSON files: Must be located in a frontend/public/json/ folder at the repository root. Each JSON file contains metadata for a script (name, description, installation methods, etc.).
  • +
  • Script files: Must be organized in subdirectories: +
      +
    • ct/ - Container scripts (LXC)
    • +
    • install/ - Installation scripts
    • +
    • tools/ - Tool scripts
    • +
    • vm/ - Virtual machine scripts
    • +
    +
  • +
+
+ +
+

Default Repositories

+

+ The system comes with two default repositories that cannot be deleted: +

+
    +
  • Main Repository (ProxmoxVE): The primary repository at github.com/community-scripts/ProxmoxVE. This is enabled by default and contains stable, production-ready scripts. This repository cannot be deleted.
  • +
  • Dev Repository (ProxmoxVED): The development/testing repository at github.com/community-scripts/ProxmoxVED. This is disabled by default and contains experimental or in-development scripts. This repository cannot be deleted.
  • +
+
+ +
+

Enable vs Disable

+

+ You can enable or disable repositories to control which scripts are available: +

+
    +
  • Enabled: Scripts from this repository are included in the Available Scripts tab and will be synced when you sync repositories. Enabled repositories are checked for updates during sync operations.
  • +
  • Disabled: Scripts from this repository are excluded from the Available Scripts tab and will not be synced. Scripts already downloaded from a disabled repository remain on your system but won't appear in the list. Disabled repositories are not checked for updates.
  • +
+

+ 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. +

+
+ +
+

Repository Filter Buttons

+

+ When multiple repositories are enabled, filter buttons appear in the filter bar on the Available Scripts tab. +

+
    +
  • Each enabled repository gets its own filter button
  • +
  • Click a repository button to toggle showing/hiding scripts from that repository
  • +
  • Active buttons are highlighted with primary styling
  • +
  • Inactive buttons have muted styling
  • +
  • This allows you to quickly focus on scripts from specific repositories
  • +
+

+ 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. +

+
+ +
+

Adding Custom Repositories

+

+ You can add your own GitHub repositories to access custom scripts: +

+
    +
  1. Go to General Settings > Repositories
  2. +
  3. Enter the GitHub repository URL (format: https://github.com/owner/repo)
  4. +
  5. Choose whether to enable it immediately
  6. +
  7. Click "Add Repository"
  8. +
+

+ Important: Custom repositories must follow the repository structure described above. Repositories that don't follow this structure may not work correctly. +

+
+
+
+ ); + case 'available-scripts': return (
@@ -411,56 +512,6 @@ export function HelpModal({ isOpen, onClose, initialSection = 'server-settings'
-
-

Repository Management

-

- Scripts are organized by repositories (GitHub repositories). You can add custom repositories or manage existing ones in General Settings. -

- -
-
-
Repository Structure
-

- For a repository to work with this system, it must follow this structure: -

-
    -
  • JSON files: Must be located in a frontend/public/json/ folder at the repository root
  • -
  • Script files: Must be organized in subdirectories: -
      -
    • ct/ - Container scripts
    • -
    • install/ - Installation scripts
    • -
    • tools/ - Tool scripts
    • -
    • vm/ - Virtual machine scripts
    • -
    -
  • -
-
- -
-
Default Repositories
-
    -
  • Main Repository (ProxmoxVE): The primary repository, enabled by default. This repository cannot be deleted.
  • -
  • Dev Repository (ProxmoxVED): Development/testing repository, disabled by default. This repository cannot be deleted.
  • -
-
- -
-
Enable vs Disable
-
    -
  • Enabled: Scripts from this repository are included in the Available Scripts tab and will be synced when you sync repositories.
  • -
  • Disabled: Scripts from this repository are excluded from the Available Scripts tab and will not be synced. Scripts already downloaded from a disabled repository remain on your system but won't appear in the list.
  • -
-
- -
-
Repository Filter Buttons
-

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

-
-
-
-

Script Actions