From 83b6b454bf88cb80aea478f8b46f95bec4d9ea00 Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Tue, 7 Feb 2023 23:39:59 +0100 Subject: feat: Show mod version in LocalMods View (#159) * refactor: Parse using serde deserialisation * refactor: Parse using serde deserial. (TS mod str) Reduce code by making use of serde deserialisation. Still supports legacy method * chore: Remove commented out fields While useful, it just made the code messy... * feat: Show mod version in LocalMods view * refactor: Move mod version to new line in source code Makes diffing in git easier * fix: Hide version number if not available --- src-tauri/bindings/NorthstarMod.ts | 2 +- src-tauri/src/lib.rs | 1 + src-tauri/src/mod_management/mod.rs | 3 +++ src-vue/src/views/mods/LocalModsView.vue | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src-tauri/bindings/NorthstarMod.ts b/src-tauri/bindings/NorthstarMod.ts index ed9d9297..3686485b 100644 --- a/src-tauri/bindings/NorthstarMod.ts +++ b/src-tauri/bindings/NorthstarMod.ts @@ -1,3 +1,3 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -export interface NorthstarMod { name: string, thunderstore_mod_string: string | null, enabled: boolean, directory: string, } \ No newline at end of file +export interface NorthstarMod { name: string, version: string | null, thunderstore_mod_string: string | null, enabled: boolean, directory: string, } \ No newline at end of file diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 1ae55a6f..5688512c 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -36,6 +36,7 @@ pub struct GameInstall { #[ts(export)] pub struct NorthstarMod { pub name: String, + pub version: Option, pub thunderstore_mod_string: Option, pub enabled: bool, pub directory: String, diff --git a/src-tauri/src/mod_management/mod.rs b/src-tauri/src/mod_management/mod.rs index 90dc85da..75d63972 100644 --- a/src-tauri/src/mod_management/mod.rs +++ b/src-tauri/src/mod_management/mod.rs @@ -57,6 +57,8 @@ pub struct ModJson { name: String, #[serde(rename = "ThunderstoreModString")] thunderstore_mod_string: Option, + #[serde(rename = "Version")] + version: Option, } /// Gets all currently installed and enabled/disabled mods to rebuild `enabledmods.json` @@ -212,6 +214,7 @@ fn parse_installed_mods(game_install: GameInstall) -> Result, let ns_mod = NorthstarMod { name: parsed_mod_json.name, + version: parsed_mod_json.version, thunderstore_mod_string: thunderstore_mod_string, enabled: false, // Placeholder directory: mod_directory, diff --git a/src-vue/src/views/mods/LocalModsView.vue b/src-vue/src/views/mods/LocalModsView.vue index 59b51936..ed801b7a 100644 --- a/src-vue/src/views/mods/LocalModsView.vue +++ b/src-vue/src/views/mods/LocalModsView.vue @@ -14,6 +14,7 @@ {{ mod.name }} + (v{{ mod.version }})