diff options
author | GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> | 2022-10-25 14:43:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-25 14:43:02 +0200 |
commit | 20c92238a8ffb2bfd2b2ae6a208844434fb7ebfb (patch) | |
tree | f87e86a2af0e682e40fea66149166cb8a71aa434 /src-vue/src/views | |
parent | d64c3b64c9623f341b761a692ac0012452c69d8f (diff) | |
download | FlightCore-20c92238a8ffb2bfd2b2ae6a208844434fb7ebfb.tar.gz FlightCore-20c92238a8ffb2bfd2b2ae6a208844434fb7ebfb.zip |
feat: Show installed mods (#28)
Simply parses `enabledmods.json`.
In the future we should also opt to check individual mods and compare
with the JSON file.
Diffstat (limited to 'src-vue/src/views')
-rw-r--r-- | src-vue/src/views/ModsView.vue | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src-vue/src/views/ModsView.vue b/src-vue/src/views/ModsView.vue index c37f5fe2..934d6b9d 100644 --- a/src-vue/src/views/ModsView.vue +++ b/src-vue/src/views/ModsView.vue @@ -1,15 +1,50 @@ <template> <div class="fc__mods__container"> <h3>Installed Mods:</h3> - TODO + <div> + <el-card shadow="hover" v-for="mod in installed_mods"> + <el-switch style="--el-switch-on-color: #13ce66; --el-switch-off-color: #8957e5" v-model="mod.enabled" + disabled /> + {{mod.name}} + </el-card> + </div> </div> </template> <script lang="ts"> import { defineComponent } from "vue"; +import { ElNotification } from "element-plus"; +import { invoke } from '@tauri-apps/api/tauri'; +import { GameInstall } from "../utils/GameInstall"; +import { NorthstarMod } from "../utils/NorthstarMod" export default defineComponent({ name: "ModsView", + data() { + return { + installed_mods: [] as NorthstarMod[], + } + }, + async mounted() { + let game_install = { + game_path: this.$store.state.game_path, + install_type: this.$store.state.install_type + } as GameInstall; + // Call back-end for installed mods + await invoke("get_installed_mods_caller", { gameInstall: game_install }) + .then((message) => { + this.installed_mods = (message as NorthstarMod[]); + }) + .catch((error) => { + console.error(error); + ElNotification({ + title: 'Error', + message: error, + type: 'error', + position: 'bottom-right' + }); + }); + } }); </script> |