summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-07 21:04:26 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-07 21:04:26 -0400
commit5b84a7ab2782ce672b51dc9d608c63c9ac8ff3ab (patch)
treecf17bf8686aa59afb0235d90a96666370334fc21 /src/components
parent54acc36f16e1336772354f979a618cce65061f82 (diff)
downloaddecky-lsfg-vk-5b84a7ab2782ce672b51dc9d608c63c9ac8ff3ab.tar.gz
decky-lsfg-vk-5b84a7ab2782ce672b51dc9d608c63c9ac8ff3ab.zip
feat: show Flatpak runtime readiness
Diffstat (limited to 'src/components')
-rw-r--r--src/components/FlatpaksTab.tsx12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/components/FlatpaksTab.tsx b/src/components/FlatpaksTab.tsx
index 27204f4..8aab940 100644
--- a/src/components/FlatpaksTab.tsx
+++ b/src/components/FlatpaksTab.tsx
@@ -50,18 +50,21 @@ function RuntimeRow({ version, installed, busy, onAction }: RuntimeRowProps) {
interface AppRowProps {
app: FlatpakApp;
+ runtimeReady: boolean;
busy: boolean;
onToggle: () => void;
}
-function AppRow({ app, busy, onToggle }: AppRowProps) {
+function AppRow({ app, runtimeReady, busy, onToggle }: AppRowProps) {
const configured = app.has_filesystem_override && app.has_env_override;
const partial = app.has_filesystem_override || app.has_env_override;
const status = configured
- ? t("FLATPAK_STATUS_CONFIGURED", "Configured")
+ ? runtimeReady
+ ? t("FLATPAK_STATUS_READY", "Ready")
+ : t("FLATPAK_STATUS_RUNTIME_MISSING", "Runtime missing")
: partial
? t("FLATPAK_STATUS_PARTIAL", "Partial")
- : t("FLATPAK_STATUS_NO_OVERRIDES", "No overrides");
+ : t("FLATPAK_STATUS_NOT_ENABLED", "Not enabled");
return (
<PanelSectionRow>
@@ -82,6 +85,8 @@ export function FlatpaksTab() {
const [loading, setLoading] = useState(true);
const [operation, setOperation] = useState<string | null>(null);
const [error, setError] = useState<string | null>(null);
+ const runtimeReady = extensionStatus?.success === true
+ && runtimeVersions.some(({ key }) => extensionStatus[key]);
const load = async () => {
setLoading(true);
@@ -180,6 +185,7 @@ export function FlatpaksTab() {
<AppRow
key={app.app_id}
app={app}
+ runtimeReady={runtimeReady}
busy={operation === `app-${app.app_id}`}
onToggle={() => void toggleApp(app)}
/>