summaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorKurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com>2026-09-10 15:39:09 -0400
committerKurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com>2026-09-10 15:39:09 -0400
commit9f09fe0438c52922ac4f36eddb8c6e5808eb26b2 (patch)
treec29e0f793c13071fea185b2bb9dcc5c487c5d405 /src/api
parent769cd7f03990bf1d03c1b57f0929be9c3158e463 (diff)
downloaddecky-lsfg-vk-9f09fe0438c52922ac4f36eddb8c6e5808eb26b2.tar.gz
decky-lsfg-vk-9f09fe0438c52922ac4f36eddb8c6e5808eb26b2.zip
refactor: expose explicit flatpak app api
Diffstat (limited to 'src/api')
-rw-r--r--src/api/lsfgApi.ts46
1 files changed, 27 insertions, 19 deletions
diff --git a/src/api/lsfgApi.ts b/src/api/lsfgApi.ts
index 567e1ae..3e93620 100644
--- a/src/api/lsfgApi.ts
+++ b/src/api/lsfgApi.ts
@@ -30,10 +30,6 @@ export interface SteamBranchStatus extends ApiResult {
}
export type LsfgConfig = ConfigurationData;
-export type TargetTransport =
- | { kind: "host" }
- | { kind: "flatpak"; flatpakAppId: string };
-export type FlatpakTargetSupportStatus = "ready" | "needs-runtime" | "unsupported" | "error";
export interface GameConfigEntry {
appid: string;
@@ -45,11 +41,10 @@ export interface InstalledGame {
appid: string;
name: string;
nonSteam: boolean;
- transport: TargetTransport;
+ directFlatpak?: boolean;
executable?: string;
arguments?: string;
startDir?: string;
- flatpakSupport?: FlatpakTargetSupport;
}
export interface GlobalConfig {
@@ -57,15 +52,6 @@ export interface GlobalConfig {
no_fp16: boolean;
}
-export interface FlatpakTargetSupport extends ApiResult {
- flatpak_app_id?: string;
- runtime?: string | null;
- runtime_branch?: string | null;
- support_status: FlatpakTargetSupportStatus;
- extension_installed: boolean;
- installed_branches: string[];
-}
-
export interface WorkaroundState {
dxvkFrameRate: number;
disableGamescopeWsi: boolean;
@@ -82,7 +68,6 @@ export interface WorkaroundStateResult extends ApiResult {
wrapper_owned?: boolean;
shortcut_exe?: string | null;
command_token_added?: boolean;
- transport?: TargetTransport | null;
}
export interface GameConfigsResult extends ApiResult {
@@ -133,14 +118,38 @@ export interface FlatpakExtensionToggleResult extends ApiResult {
installed: boolean;
}
+export interface FlatpakApp {
+ app_id: string;
+ app_name: string;
+ runtime?: string | null;
+ runtime_branch?: string | null;
+ runtime_ready: boolean;
+ prepared: boolean;
+ owned: boolean;
+ error?: string | null;
+}
+
+export interface FlatpakAppsResult extends ApiResult {
+ apps?: FlatpakApp[];
+}
+
+export interface FlatpakAppResult extends ApiResult {
+ app_id: string;
+ runtime?: string | null;
+ runtime_branch?: string | null;
+ prepared: boolean;
+ owned: boolean;
+}
+
export const installLsfgVk = callable<[], InstallationResult>("install_lsfg_vk");
export const uninstallLsfgVk = callable<[], InstallationResult>("uninstall_lsfg_vk");
export const checkLsfgVkInstalled = callable<[], InstallationStatus>("check_lsfg_vk_installed");
export const getLosslessScalingBranchStatus = callable<[], SteamBranchStatus>("get_lossless_scaling_branch_status");
export const getConfigFileContent = callable<[], FileContentResult>("get_config_file_content");
export const getFlatpakSupportStatus = callable<[], FlatpakExtensionStatus>("get_flatpak_support_status");
-export const ensureFlatpakSupport = callable<[string], FlatpakTargetSupport>("ensure_flatpak_support");
-export const repairFlatpakSupport = callable<[string], FlatpakTargetSupport>("repair_flatpak_support");
+export const getFlatpakApps = callable<[], FlatpakAppsResult>("get_flatpak_apps");
+export const prepareFlatpakApp = callable<[string], FlatpakAppResult>("prepare_flatpak_app");
+export const removeFlatpakApp = callable<[string], FlatpakAppResult>("remove_flatpak_app");
export const setFlatpakExtensionEnabled = callable<[string, boolean], FlatpakExtensionToggleResult>("set_flatpak_extension_enabled");
export const getGameConfigs = callable<[], GameConfigsResult>("get_game_configs");
export const getInstalledGames = callable<[], InstalledGamesResult>("get_installed_games");
@@ -153,7 +162,6 @@ export const setWorkaroundState = callable<[
WorkaroundState,
string | null | undefined,
boolean,
- TargetTransport | null | undefined,
], WorkaroundStateResult>("set_workaround_state");
export const removeWorkaroundState = callable<[string], WorkaroundStateResult>("remove_workaround_state");
export const getDebugFileContents = callable<[], DebugFileContentsResult>("get_debug_file_contents");