From bf6da20fd83f65d78d6ada5feec7987a368daa7d Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Tue, 24 Mar 2026 16:08:24 -0700 Subject: [PATCH] Improvements here --- src/componets/popups/ModDownloads.tsx | 73 ++++++++++++++++----------- src/types/VersionsConfig.ts | 5 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/componets/popups/ModDownloads.tsx b/src/componets/popups/ModDownloads.tsx index 09e3b5b..96a8262 100644 --- a/src/componets/popups/ModDownloads.tsx +++ b/src/componets/popups/ModDownloads.tsx @@ -9,7 +9,12 @@ import { arch, platform } from '@tauri-apps/plugin-os' import { useEffect, useState } from 'react' export default function ModDownloadsPopup () { - const { getGameInfo, getVersionInfo, managingVersion } = useGlobal() + const { + getGameInfo, + getVersionInfo, + managingVersion, + downloadedVersionsConfig + } = useGlobal() const [mods, setMods] = useState(0) const [tab, setTab] = useState(0) @@ -40,7 +45,7 @@ export default function ModDownloadsPopup () { {versionInfo?.displayName} Mod Manager

{typeof mods != 'number' ? ( -
+
-
-
+ : mods + .filter( + v => + !downloadedVersionsConfig || + !Object.keys(downloadedVersionsConfig.mods).includes( + String(v.id) + ) ) - })} + .map(v => { + return ( +
+
+

+ {v.name}{' '} + + v{v.latestVersion} + +

+

+ Made by {v.creators[0]} + {v.creators.length > 1 + ? ' + ' + (v.creators.length - 1) + ' more' + : null} +

+
+
+

+ {v.downloads} +

+ +
+
+ ) + })} )} diff --git a/src/types/VersionsConfig.ts b/src/types/VersionsConfig.ts index 29ef400..39bce6d 100644 --- a/src/types/VersionsConfig.ts +++ b/src/types/VersionsConfig.ts @@ -1,17 +1,20 @@ export type VersionsConfigData = { version: string list: Record + mods: Record } export class VersionsConfig { constructor ( public version: string, - public list: Record = {} + public list: Record = {}, + public mods: Record = {} ) {} static import (data: VersionsConfigData) { const cfg = new VersionsConfig(data.version) cfg.list = { ...data.list } + cfg.mods = { ...data.mods } return cfg } }