Fix syncing, repairing, add edit method (#111)

* Fix syncing, repairing, add edit method

* comp err

* temp push up

* fixes

* fix more

* add frontend
This commit is contained in:
Geometrically
2023-05-11 10:26:00 -07:00
committed by GitHub
parent 71cf2c53f5
commit 7a0798d9d0
24 changed files with 501 additions and 352 deletions

View File

@@ -12,28 +12,28 @@ const breadcrumbs = useBreadcrumbs()
breadcrumbs.setRootContext({ name: 'Library', link: route.path })
const profiles = await list()
const instances = shallowRef(
Object.values(profiles).filter((prof) => !prof.metadata.linked_project_id)
)
const modpacks = shallowRef(
Object.values(profiles).filter((prof) => prof.metadata.linked_project_id)
)
const instances = shallowRef(Object.values(profiles))
loading_listener(async (profile) => {
console.log(profile)
if (profile.event === 'loaded') {
const profiles = await list()
instances.value = Object.values(profiles).filter((prof) => !prof.metadata.linked_project_id)
modpacks.value = Object.values(profiles).filter((prof) => prof.metadata.linked_project_id)
instances.value = Object.values(profiles)
}
})
</script>
<template>
<div>
<GridDisplay v-if="instances.length > 0" label="Instances" :instances="instances" />
<GridDisplay v-if="modpacks.length > 0" label="Modpacks" :instances="modpacks" />
</div>
<GridDisplay
v-if="instances.length > 0"
label="Instances"
:instances="instances"
class="display"
/>
</template>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
.display {
background-color: rgb(30, 31, 34);
min-height: 100%;
}
</style>

View File

@@ -2,7 +2,14 @@
<div class="instance-container">
<div class="side-cards">
<Card class="instance-card">
<Avatar size="lg" :src="convertFileSrc(instance.metadata.icon)" />
<Avatar
size="lg"
:src="
instance.metadata.icon && instance.metadata.icon.startsWith('http')
? instance.metadata.icon
: convertFileSrc(instance.metadata?.icon)
"
/>
<div class="instance-info">
<h2 class="name">{{ instance.metadata.name }}</h2>
<span class="metadata">
@@ -136,7 +143,7 @@ const stopInstance = async () => {
}
const unlisten = await process_listener((e) => {
if (e.event === 'Finished' && uuid.value === e.uuid) playing.value = false
if (e.event === 'finished' && uuid.value === e.uuid) playing.value = false
})
onUnmounted(() => unlisten())

View File

@@ -291,10 +291,9 @@ async function install(version) {
.map((value) => value.metadata)
.find((pack) => pack.linked_data?.project_id === data.value.id)
) {
let id = await packInstall(queuedVersionData.id, data.value.title)
await router.push({ path: `/instance/${encodeURIComponent(id)}` })
await packInstall(queuedVersionData.id, data.value.title, data.value.icon_url)
} else {
confirmModal.value.show(queuedVersionData.id)
confirmModal.value.show(queuedVersionData.id, data.value.title, data.value.icon_url)
}
} else {
if (instance.value) {