diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-10 14:32:16 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2026-09-10 14:32:16 -0400 |
| commit | d7115074060a3e9e682d511eae3c47a1c64042b8 (patch) | |
| tree | 84362580dc7ab5d72be7d3ccf811d99c66d893d5 /src/components/SetupTab.tsx | |
| parent | 684929fe850b744ef841475f88cf2a3189fbb986 (diff) | |
| download | decky-lsfg-vk-d7115074060a3e9e682d511eae3c47a1c64042b8.tar.gz decky-lsfg-vk-d7115074060a3e9e682d511eae3c47a1c64042b8.zip | |
refactor: wrap only direct Flatpak shortcut targets
Diffstat (limited to 'src/components/SetupTab.tsx')
| -rw-r--r-- | src/components/SetupTab.tsx | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/components/SetupTab.tsx b/src/components/SetupTab.tsx index d769200..0095a7b 100644 --- a/src/components/SetupTab.tsx +++ b/src/components/SetupTab.tsx @@ -1,5 +1,5 @@ import { ButtonItem, Field, PanelSection, PanelSectionRow } from "@decky/ui"; -import { type SteamBranchStatus } from "../api/lsfgApi"; +import { type FlatpakExtensionStatus, type SteamBranchStatus } from "../api/lsfgApi"; import t from "../i18n/i18n"; interface SetupTabProps { @@ -7,11 +7,14 @@ interface SetupTabProps { 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) { @@ -20,11 +23,14 @@ export function SetupTab(props: SetupTabProps) { installationStatus, losslessScalingInstalled, losslessScalingStatus, + flatpakStatus, steamBranchStatus, isInstalling, isUninstalling, + isRepairingFlatpak, onInstall, onUninstall, + onRepairFlatpak, } = props; const losslessScalingAppInstalled = losslessScalingInstalled || steamBranchStatus?.installed === true; const buttonLabel = isInstalling @@ -46,6 +52,31 @@ export function SetupTab(props: SetupTabProps) { <PanelSectionRow> <Field label="LSFG-VK" description={installationStatus} /> </PanelSectionRow> + <PanelSectionRow> + <Field + label="Flatpak support" + description={ + !flatpakStatus + ? "Status unavailable" + : !flatpakStatus.available + ? "Flatpak is not available" + : flatpakStatus.ready + ? "Configured for 23.08, 24.08, and 25.08" + : flatpakStatus.error || "Needs repair" + } + /> + </PanelSectionRow> + {flatpakStatus?.available && !flatpakStatus.ready && ( + <PanelSectionRow> + <ButtonItem + layout="below" + onClick={onRepairFlatpak} + disabled={isRepairingFlatpak || isInstalling || isUninstalling} + > + {isRepairingFlatpak ? "Repairing Flatpak support..." : "Repair Flatpak support"} + </ButtonItem> + </PanelSectionRow> + )} {steamBranchStatus?.installed && ( <PanelSectionRow> <Field |
