feat: Add Install button to script detail modal

- Add Install button that appears when script files are loaded
- Integrate with existing terminal component for script execution
- Pass correct script path to terminal (scripts/ct/script.sh)
- Close modal when installation starts
- Add proper TypeScript handling for union types
- Install button only shows when CT script is available locally
This commit is contained in:
Michel Roegl-Brunner
2025-09-10 15:04:02 +02:00
parent 17e0cea16b
commit c60e5e6a1d
6 changed files with 203 additions and 19 deletions

View File

@@ -6,7 +6,11 @@ import { ScriptCard } from './ScriptCard';
import { ScriptDetailModal } from './ScriptDetailModal';
import type { ScriptCard as ScriptCardType, Script } from '~/types/script';
export function ScriptsGrid() {
interface ScriptsGridProps {
onInstallScript?: (scriptPath: string, scriptName: string) => void;
}
export function ScriptsGrid({ onInstallScript }: ScriptsGridProps) {
const [selectedSlug, setSelectedSlug] = useState<string | null>(null);
const [isModalOpen, setIsModalOpen] = useState(false);
@@ -111,6 +115,7 @@ export function ScriptsGrid() {
script={scriptData?.success ? scriptData.script : null}
isOpen={isModalOpen}
onClose={handleCloseModal}
onInstallScript={onInstallScript}
/>
</>
);