Improvements here
This commit is contained in:
2 files changed
+22
-6
No files matched your search
@@ -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<Mod[] | 0 | 1>(0)
|
||||
const [tab, setTab] = useState<number>(0)
|
||||
@@ -40,7 +45,7 @@ export default function ModDownloadsPopup () {
|
||||
{versionInfo?.displayName} Mod Manager
|
||||
</p>
|
||||
{typeof mods != 'number' ? (
|
||||
<div className='flex flex-row justify-center items-center -mb-2.5 gap-1.5'>
|
||||
<div className='flex flex-row justify-center items-center -mb-2 mt-0.5 gap-1.5'>
|
||||
<button
|
||||
className={`button ${tab == 0 ? 'btntheme3' : 'btntheme2'}`}
|
||||
onClick={() => setTab(0)}
|
||||
@@ -66,7 +71,15 @@ export default function ModDownloadsPopup () {
|
||||
<div className='flex flex-col items-center justify-center gap-2 p-2'>
|
||||
{tab == 0
|
||||
? null
|
||||
: mods.map(v => {
|
||||
: mods
|
||||
.filter(
|
||||
v =>
|
||||
!downloadedVersionsConfig ||
|
||||
!Object.keys(downloadedVersionsConfig.mods).includes(
|
||||
String(v.id)
|
||||
)
|
||||
)
|
||||
.map(v => {
|
||||
return (
|
||||
<div
|
||||
key={v.id}
|
||||
@@ -81,8 +94,8 @@ export default function ModDownloadsPopup () {
|
||||
</p>
|
||||
<p className='text-yellow-200'>
|
||||
Made by {v.creators[0]}
|
||||
{v.creators.length < 2
|
||||
? ' + ' + v.creators.length + ' more'
|
||||
{v.creators.length > 1
|
||||
? ' + ' + (v.creators.length - 1) + ' more'
|
||||
: null}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
export type VersionsConfigData = {
|
||||
version: string
|
||||
list: Record<string, number>
|
||||
mods: Record<string, string>
|
||||
}
|
||||
|
||||
export class VersionsConfig {
|
||||
constructor (
|
||||
public version: string,
|
||||
public list: Record<string, number> = {}
|
||||
public list: Record<string, number> = {},
|
||||
public mods: Record<string, string> = {}
|
||||
) {}
|
||||
|
||||
static import (data: VersionsConfigData) {
|
||||
const cfg = new VersionsConfig(data.version)
|
||||
cfg.list = { ...data.list }
|
||||
cfg.mods = { ...data.mods }
|
||||
return cfg
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user