import React, { useState } from "react"; import Head from "@docusaurus/Head"; import { BlogFooter } from "@site/src/refine-theme/blog-footer"; import { CommonHeader } from "@site/src/refine-theme/common-header"; import { CommonLayout } from "@site/src/refine-theme/common-layout"; import clsx from "clsx"; const Install: React.FC = () => { const [installOptions, setInstallOptions] = useState({ hostname: "", version: "", skipRequirements: false, skipPanelCheck: false, skipAptUpdate: false, overlay2: false, skipFirewall: false, skipImages: false, skipBlacklists: false, skipSSL: false, withModsec: false, ips: "", noSSH: false, enableFTP: false, enableMail: false, postInstall: "", screenshots: "", debug: false, repair: false, }); const handleInputChange = (e: React.ChangeEvent) => { const { name, value, type, checked } = e.target; setInstallOptions(prevState => ({ ...prevState, [name]: type === "checkbox" ? checked : value, })); }; const generateInstallCommand = () => { let command = "bash <(curl -sSL https://get.openpanel.co/)"; for (const option in installOptions) { if (installOptions[option]) { if (typeof installOptions[option] === "boolean") { command += ` --${option}`; } else { command += ` --${option}=${installOptions[option]}`; } } } return command; }; return (

Installation

Install Command:

{generateInstallCommand()}

Advanced Install Settings:

{/* Input fields for advanced install settings */} {Object.entries(installOptions).map(([key, value]) => (
))}
); }; export default Install;