diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-10-19 12:05:11 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-10-19 12:05:11 -0400 |
| commit | cb294a6cec4507e98fedc1b4d38f9c32102e354c (patch) | |
| tree | 64e7e002ef428350d9e51bf269912140812bb5a9 /src | |
| parent | cecbefc71eacf8ae61a36bbb7fe06eb8c1fa03c6 (diff) | |
| download | decky-lsfg-vk-cb294a6cec4507e98fedc1b4d38f9c32102e354c.tar.gz decky-lsfg-vk-cb294a6cec4507e98fedc1b4d38f9c32102e354c.zip | |
feat: add 25.08 flatpak layer and FE BE logic and UI for flatpak installer
Diffstat (limited to 'src')
| -rw-r--r-- | src/api/lsfgApi.ts | 1 | ||||
| -rw-r--r-- | src/components/FlatpaksModal.tsx | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/api/lsfgApi.ts b/src/api/lsfgApi.ts index d08cd42..dda6c23 100644 --- a/src/api/lsfgApi.ts +++ b/src/api/lsfgApi.ts @@ -103,6 +103,7 @@ export interface FlatpakExtensionStatus { error?: string; installed_23_08: boolean; installed_24_08: boolean; + installed_25_08: boolean; } export interface FlatpakApp { diff --git a/src/components/FlatpaksModal.tsx b/src/components/FlatpaksModal.tsx index bd81013..ae0c333 100644 --- a/src/components/FlatpaksModal.tsx +++ b/src/components/FlatpaksModal.tsx @@ -216,6 +216,46 @@ const FlatpaksModal: FC<FlatpaksModalProps> = ({ closeModal }) => { </ButtonItem> </Field> </PanelSectionRow> + + {/* 25.08 Runtime */} + <PanelSectionRow> + <Field + label="Runtime 25.08" + description={extensionStatus.installed_25_08 ? "Installed" : "Not installed"} + icon={extensionStatus.installed_25_08 ? <FaCheck style={{color: 'green'}} /> : <FaTimes style={{color: 'red'}} />} + > + <ButtonItem + layout="below" + onClick={() => { + const operation = extensionStatus.installed_25_08 ? 'uninstall' : 'install'; + const action = () => handleExtensionOperation(operation, '25.08'); + + if (operation === 'uninstall') { + confirmOperation( + action, + 'Uninstall Runtime Extension', + 'Are you sure you want to uninstall the 25.08 runtime extension?' + ); + } else { + action(); + } + }} + disabled={operationInProgress === 'install-25.08' || operationInProgress === 'uninstall-25.08'} + > + {operationInProgress === 'install-25.08' || operationInProgress === 'uninstall-25.08' ? ( + <Spinner /> + ) : extensionStatus.installed_25_08 ? ( + <> + <FaTrash /> Uninstall + </> + ) : ( + <> + <FaDownload /> Install + </> + )} + </ButtonItem> + </Field> + </PanelSectionRow> </> ) : ( <PanelSectionRow> |
