diff options
author | Jan <sentrycraft123@gmail.com> | 2023-07-24 13:51:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-24 13:51:34 +0200 |
commit | 44583f739af9db81751655f7391757a28e949239 (patch) | |
tree | a381c8c968833c21a1277052a2d8b605b7ee69c1 /src-vue/src/views | |
parent | dac7b0b18ab5a36d3a25154108e9acecc6c5fe93 (diff) | |
download | FlightCore-44583f739af9db81751655f7391757a28e949239.tar.gz FlightCore-44583f739af9db81751655f7391757a28e949239.zip |
chore: Store `game_path` and `install_type` as `GameInstall` in store (#445)
We pass the `GameInstall` object to backend on most calls, yet we store the parameters individually in frontend.
This PR resolves that by storing the whole object instead of individual parameters, simplifying a lot of the code that calls the backend.
* chore: Store game_path and install_type as GameInstall in store
* Add missed uses of old attributes
* fix: Update missed attribute in DevView
* fix: Update missed attribute in SettingsView
* refactor: Update functions to use new object
in RepairView
* Initialize game_install as empty object
---------
Co-authored-by: GeckoEidechse <gecko.eidechse+git@pm.me>
Diffstat (limited to 'src-vue/src/views')
-rw-r--r-- | src-vue/src/views/DeveloperView.vue | 22 | ||||
-rw-r--r-- | src-vue/src/views/RepairView.vue | 26 | ||||
-rw-r--r-- | src-vue/src/views/SettingsView.vue | 4 |
3 files changed, 10 insertions, 42 deletions
diff --git a/src-vue/src/views/DeveloperView.vue b/src-vue/src/views/DeveloperView.vue index 28ab3892..e95154f1 100644 --- a/src-vue/src/views/DeveloperView.vue +++ b/src-vue/src/views/DeveloperView.vue @@ -132,7 +132,6 @@ <script lang="ts"> import { defineComponent } from "vue"; import { invoke } from "@tauri-apps/api"; -import { GameInstall } from "../utils/GameInstall"; import { TagWrapper } from "../../../src-tauri/bindings/TagWrapper"; import { NorthstarThunderstoreReleaseWrapper } from "../../../src-tauri/bindings/NorthstarThunderstoreReleaseWrapper"; import PullRequestsSelector from "../components/PullRequestsSelector.vue"; @@ -209,11 +208,7 @@ export default defineComponent({ this.$store.commit('launchGameSteam', true); }, async getInstalledMods() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - await invoke("get_installed_mods_and_properties", { gameInstall: game_install }).then((message) => { + await invoke("get_installed_mods_and_properties", { gameInstall: this.$store.state.game_install }).then((message) => { // Simply console logging for now // In the future we should display the installed mods somewhere console.log(message); @@ -226,12 +221,8 @@ export default defineComponent({ }); }, async installMod() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; let mod_to_install = this.mod_to_install_field_string; - await invoke<string>("install_mod_caller", { gameInstall: game_install, thunderstoreModString: mod_to_install }).then((message) => { + await invoke<string>("install_mod_caller", { gameInstall: this.$store.state.game_install, thunderstoreModString: mod_to_install }).then((message) => { // Show user notification if mod install completed. showNotification(`Installed ${mod_to_install}`, message); }) @@ -266,7 +257,7 @@ export default defineComponent({ const notification = showNotification(`Installing git main`, 'Please wait', 'info', 0); - await invoke<string>("install_git_main", { gameInstallPath: this.$store.state.game_path }) + await invoke<string>("install_git_main", { gameInstallPath: this.$store.state.game_install.game_path }) .then((message) => { this.release_notes_text = message; showNotification("Done", `Installed launcher build from ${message}`); @@ -290,11 +281,6 @@ export default defineComponent({ }); }, async installNorthstarVersion() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - // Send notification telling the user to wait for the process to finish const notification = showNotification( `Installing Northstar version v${this.selected_ns_version.value.version}`, @@ -303,7 +289,7 @@ export default defineComponent({ 0 ); - let install_northstar_result = invoke("install_northstar_caller", { gamePath: game_install.game_path, northstarPackageName: this.selected_ns_version.value.package, versionNumber: this.selected_ns_version.value.version }); + let install_northstar_result = invoke("install_northstar_caller", { gamePath: this.$store.state.game_install.game_path, northstarPackageName: this.selected_ns_version.value.package, versionNumber: this.selected_ns_version.value.version }); await install_northstar_result .then((message) => { diff --git a/src-vue/src/views/RepairView.vue b/src-vue/src/views/RepairView.vue index e284e824..614c1e56 100644 --- a/src-vue/src/views/RepairView.vue +++ b/src-vue/src/views/RepairView.vue @@ -54,11 +54,7 @@ export default defineComponent({ }, methods: { async disableAllModsButCore() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - await invoke("disable_all_but_core", { gameInstall: game_install }) + await invoke("disable_all_but_core", { gameInstall: this.$store.state.game_install }) .then((message) => { showNotification(this.$t('generic.success'), this.$t('settings.repair.window.disable_all_but_core_success')); }) @@ -67,11 +63,6 @@ export default defineComponent({ }); }, async forceInstallNorthstar() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - // Send notification telling the user to wait for the process to finish const notification = showNotification( this.$t('settings.repair.window.reinstall_title'), @@ -80,7 +71,7 @@ export default defineComponent({ 0 ); - let install_northstar_result = invoke("install_northstar_caller", { gamePath: game_install.game_path, northstarPackageName: ReleaseCanal.RELEASE }); + let install_northstar_result = invoke("install_northstar_caller", { gamePath: this.$store.state.game_install.game_path, northstarPackageName: ReleaseCanal.RELEASE }); appWindow.listen<InstallProgress>( 'northstar-install-download-progress', @@ -107,11 +98,7 @@ export default defineComponent({ }); }, async cleanUpDownloadFolder() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - await invoke("clean_up_download_folder_caller", { gameInstall: game_install, force: true }).then((message) => { + await invoke("clean_up_download_folder_caller", { gameInstall: this.$store.state.game_install, force: true }).then((message) => { // Show user notification if task completed. showNotification(this.$t('generic.done'), this.$t('generic.done')); }) @@ -126,12 +113,7 @@ export default defineComponent({ await persistentStore.save(); }, async disableModsettingsMod() { - let game_install = { - game_path: this.$store.state.game_path, - install_type: this.$store.state.install_type - } as GameInstall; - - await invoke("set_mod_enabled_status", { gameInstall: game_install, modName: "Mod Settings", isEnabled: false }) + await invoke("set_mod_enabled_status", { gameInstall: this.$store.state.game_install, modName: "Mod Settings", isEnabled: false }) .then((message) => { showNotification(this.$t('generic.success'), this.$t('settings.repair.window.disable_modsettings_success')); }) diff --git a/src-vue/src/views/SettingsView.vue b/src-vue/src/views/SettingsView.vue index c4e94c80..dcc787ae 100644 --- a/src-vue/src/views/SettingsView.vue +++ b/src-vue/src/views/SettingsView.vue @@ -6,7 +6,7 @@ <div class="fc_parameter__panel"> <h3>{{ $t('settings.manage_install') }}</h3> <el-input - v-model="$store.state.game_path" + v-model="$store.state.game_install.game_path" :placeholder="$t('settings.choose_folder')" @click="updateGamePath" > @@ -171,7 +171,7 @@ export default defineComponent({ }, async openGameInstallFolder() { // Opens the folder in default file explorer application - await open(`${this.$store.state.game_path}`); + await open(`${this.$store.state.game_install.game_path}`); } }, mounted() { |