summaryrefslogtreecommitdiff
path: root/src/components/SetupTab.tsx
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-10 14:32:16 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-10 14:32:16 -0400
commitd7115074060a3e9e682d511eae3c47a1c64042b8 (patch)
tree84362580dc7ab5d72be7d3ccf811d99c66d893d5 /src/components/SetupTab.tsx
parent684929fe850b744ef841475f88cf2a3189fbb986 (diff)
downloaddecky-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.tsx33
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