import { ButtonItem, Field, PanelSection, PanelSectionRow } from "@decky/ui"; import { type FlatpakExtensionStatus, type SteamBranchStatus } from "../api/lsfgApi"; import t from "../i18n/i18n"; interface SetupTabProps { isInstalled: boolean; installationStatus: string; losslessScalingInstalled: boolean; losslessScalingStatus: string; flatpakStatus: FlatpakExtensionStatus | null; steamBranchStatus: SteamBranchStatus | null; isInstalling: boolean; isUninstalling: boolean; isRepairingFlatpak: boolean; onInstall: () => void; onUninstall: () => void; onRepairFlatpak: () => void; } export function SetupTab(props: SetupTabProps) { const { isInstalled, installationStatus, losslessScalingInstalled, losslessScalingStatus, flatpakStatus, steamBranchStatus, isInstalling, isUninstalling, isRepairingFlatpak, onInstall, onUninstall, onRepairFlatpak, } = props; const losslessScalingAppInstalled = losslessScalingInstalled || steamBranchStatus?.installed === true; const buttonLabel = isInstalling ? t("INSTALL_INSTALLING", "Installing...") : isUninstalling ? t("INSTALL_UNINSTALLING", "Uninstalling...") : isInstalled ? t("INSTALL_UNINSTALL_BTN", "Uninstall LSFG-VK") : t("INSTALL_INSTALL_BTN", "Install LSFG-VK"); return ( {flatpakStatus?.available && !flatpakStatus.ready && ( {isRepairingFlatpak ? "Repairing Flatpak support..." : "Repair Flatpak support"} )} {steamBranchStatus?.installed && ( )} {buttonLabel} ); }