import { useEffect } from "react"; import { PanelSection, showModal, ButtonItem, PanelSectionRow } from "@decky/ui"; import { useInstallationStatus, useDllDetection, useLsfgConfig } from "../hooks/useLsfgHooks"; import { useProfileManagement } from "../hooks/useProfileManagement"; import { useInstallationActions } from "../hooks/useInstallationActions"; import { StatusDisplay } from "./StatusDisplay"; import { InstallationButton } from "./InstallationButton"; import { ConfigurationSection } from "./ConfigurationSection"; import { ProfileManagement } from "./ProfileManagement"; import { UsageInstructions } from "./UsageInstructions"; import { SmartClipboardButton } from "./SmartClipboardButton"; import { FgmodClipboardButton } from "./FgmodClipboardButton"; import { FpsMultiplierControl } from "./FpsMultiplierControl"; import { NerdStuffModal } from "./NerdStuffModal"; import { FlatpaksModal } from "./FlatpaksModal"; import { ConfigurationData } from "../config/configSchema"; export function Content() { const { isInstalled, installationStatus, setIsInstalled, setInstallationStatus } = useInstallationStatus(); const { dllDetected, dllDetectionStatus } = useDllDetection(); const { config, loadLsfgConfig, updateField } = useLsfgConfig(); const { currentProfile, updateProfileConfig, loadProfiles } = useProfileManagement(); const { isInstalling, isUninstalling, handleInstall, handleUninstall } = useInstallationActions(); useEffect(() => { if (isInstalled) { loadLsfgConfig(); } }, [isInstalled, loadLsfgConfig]); const handleConfigChange = async (fieldName: keyof ConfigurationData, value: boolean | number | string) => { if (currentProfile) { const newConfig = { ...config, [fieldName]: value }; const result = await updateProfileConfig(currentProfile, newConfig); if (result.success) { await loadLsfgConfig(); } } else { await updateField(fieldName, value); } }; const onInstall = () => { handleInstall(setIsInstalled, setInstallationStatus, loadLsfgConfig); }; const onUninstall = () => { handleUninstall(setIsInstalled, setInstallationStatus); }; const handleShowNerdStuff = () => { showModal(); }; const handleShowFlatpaks = () => { showModal(); }; return ( {!isInstalled && ( <> )} {isInstalled && ( <>
FPS Multiplier
)} {isInstalled && ( { await loadProfiles(); await loadLsfgConfig(); }} /> )} {isInstalled && ( )} {isInstalled && ( <> )} Nerd Stuff Flatpak Setup {isInstalled && ( <> )}
); }