From 7595b5f25a200a6a0f9f8742f11cc326dc1bd498 Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Fri, 21 Oct 2022 13:48:10 +0200 Subject: feat: Add initial skeleton for ModsView (#27) * feat: Backend code to get list of installed mods For now simply parses `enabledmods.json`. Note that this file will not be up-to-date if the user just installed a mod but hasn't launched Northstar yet. * feat: Empty skeleton page for ModsView Will be populated later with list of installed mods * chore: Remove leftover print statement --- src-vue/src/App.vue | 5 ++++- src-vue/src/main.ts | 2 ++ src-vue/src/utils/Tabs.ts | 3 ++- src-vue/src/views/DeveloperView.vue | 31 +++++++++++++++++++++++++++++++ src-vue/src/views/ModsView.vue | 22 ++++++++++++++++++++++ 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 src-vue/src/views/ModsView.vue (limited to 'src-vue') diff --git a/src-vue/src/App.vue b/src-vue/src/App.vue index 68372fc7..115330c3 100644 --- a/src-vue/src/App.vue +++ b/src-vue/src/App.vue @@ -2,6 +2,7 @@ import ChangelogView from './views/ChangelogView.vue'; import DeveloperView from './views/DeveloperView.vue'; import PlayView from './views/PlayView.vue'; +import ModsView from './views/ModsView.vue'; import SettingsView from './views/SettingsView.vue'; import { appWindow } from '@tauri-apps/api/window'; import { store } from './plugins/store'; @@ -12,7 +13,8 @@ export default { ChangelogView, DeveloperView, PlayView, - SettingsView + SettingsView, + ModsView }, data() { return {} @@ -43,6 +45,7 @@ export default { > Play Changelog + Mods Settings Dev diff --git a/src-vue/src/main.ts b/src-vue/src/main.ts index dc18b443..95bea7af 100644 --- a/src-vue/src/main.ts +++ b/src-vue/src/main.ts @@ -5,6 +5,7 @@ import * as ElementPlusIconsVue from '@element-plus/icons-vue' import { store } from './plugins/store'; import PlayView from "./views/PlayView.vue"; import ChangelogView from "./views/ChangelogView.vue"; +import ModsView from "./views/ModsView.vue"; import SettingsView from "./views/SettingsView.vue"; import DeveloperView from "./views/DeveloperView.vue"; import {createRouter, createWebHashHistory} from "vue-router"; @@ -32,6 +33,7 @@ app.use( store, '$store' ); const routes = [ { path: '/', name: 'Main', component: async () => PlayView}, { path: '/changelog', name: 'Changelog', component: async () => ChangelogView}, + { path: '/mods', name: 'Mods', component: async () => ModsView}, { path: '/settings', name: 'Settings', component: async () => SettingsView}, { path: '/dev', name: 'Dev', component: async () => DeveloperView} ]; diff --git a/src-vue/src/utils/Tabs.ts b/src-vue/src/utils/Tabs.ts index 48320950..027f9f0a 100644 --- a/src-vue/src/utils/Tabs.ts +++ b/src-vue/src/utils/Tabs.ts @@ -2,5 +2,6 @@ export enum Tabs { PLAY = '/', CHANGELOG = '/changelog', SETTINGS = '/settings', - DEV = '/dev' + DEV = '/dev', + MODS = '/mods' } diff --git a/src-vue/src/views/DeveloperView.vue b/src-vue/src/views/DeveloperView.vue index 3a7ec8f5..8bcd36ea 100644 --- a/src-vue/src/views/DeveloperView.vue +++ b/src-vue/src/views/DeveloperView.vue @@ -22,6 +22,10 @@ Disable all but core mods + + Get installed mods + + @@ -112,6 +116,33 @@ export default defineComponent({ position: 'bottom-right' }); }); + }, + 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_caller", { gameInstall: game_install }).then((message) => { + // Simply console logging for now + // In the future we should display the installed mods somewhere + console.log(message); + + // Just a visual indicator that it worked + ElNotification({ + title: 'Success', + message: "Success", + type: 'success', + position: 'bottom-right' + }); + }) + .catch((error) => { + ElNotification({ + title: 'Error', + message: error, + type: 'error', + position: 'bottom-right' + }); + }); } } }); diff --git a/src-vue/src/views/ModsView.vue b/src-vue/src/views/ModsView.vue new file mode 100644 index 00000000..c37f5fe2 --- /dev/null +++ b/src-vue/src/views/ModsView.vue @@ -0,0 +1,22 @@ + + + + + -- cgit v1.2.3