initial commit

This commit is contained in:
2025-02-12 22:13:31 +01:00
commit 047b2e9f4a
52 changed files with 8552 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<script setup lang="ts">
import { Reactive, onMounted, reactive } from 'vue';
import Fieldset from 'primevue/fieldset';
import { invoke } from '@tauri-apps/api/core';
import ModListEntry from './ModListEntry.vue';
import { ModEntry, Profile } from '../types';
const mods: Reactive<{ [key: string]: ModEntry[] }> = reactive({});
const props = defineProps({
profile: Object as () => Profile,
});
onMounted(async () => {
const modsRaw: ModEntry[] = await invoke('get_packages');
modsRaw.forEach((m) => {
if (props.profile?.mods.includes(`${m.namespace}-${m.name}`)) {
m.enabled = true;
}
});
Object.assign(
mods,
Object.groupBy(modsRaw, ({ namespace }) => namespace)
);
});
</script>
<template>
<Fieldset v-for="(namespace, key) in mods" :legend="key.toString()">
<ModListEntry v-for="m in namespace" :mod="m" />
</Fieldset>
</template>