From ed888c8fd4c89df949899a3c0f1be1946ca0523a Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 6 Oct 2023 15:23:31 +0200 Subject: fix: Only fetch profiles if a game path is available (#500) --- src-vue/src/plugins/store.ts | 15 ++++++++++++++- src-vue/src/views/SettingsView.vue | 18 +++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts index 8f0c3fee..0a3b3e21 100644 --- a/src-vue/src/plugins/store.ts +++ b/src-vue/src/plugins/store.ts @@ -61,7 +61,7 @@ export const store = createStore({ state(): FlightCoreStore { return { developer_mode: false, - game_install: {} as unknown as GameInstall, + game_install: {game_path: undefined, profile: undefined, install_type: "UNKNOWN"} as unknown as GameInstall, available_profiles: [], @@ -151,8 +151,15 @@ export const store = createStore({ await persistentStore.set('game-install', { value: state.game_install }); await persistentStore.save(); // explicit save to disk + // We can no longer be sure if our last profile is valid, lets reset to be sure + state.game_install.profile = "R2Northstar"; + // Check for Northstar install store.commit('checkNorthstarUpdates'); + + // Since we are in a new game directory, lets see if there are any profiles + store.commit('fetchProfiles'); + } else { // Not valid Titanfall2 install @@ -320,6 +327,12 @@ export const store = createStore({ ); }, async fetchProfiles(state: FlightCoreStore) { + // To fetch profiles we need a valid game path + if (!state.game_install.game_path) { + return; + } + + await invoke("fetch_profiles", { gameInstall: state.game_install }) .then((message) => { state.available_profiles = message as string[]; diff --git a/src-vue/src/views/SettingsView.vue b/src-vue/src/views/SettingsView.vue index b1a62c56..88a5d588 100644 --- a/src-vue/src/views/SettingsView.vue +++ b/src-vue/src/views/SettingsView.vue @@ -34,9 +34,9 @@

{{ $t('settings.profile.active') }}

- + - {{ $store.state.game_install.profile }} + {{ activeProfile }}