diff --git a/theseus/src/state/children.rs b/theseus/src/state/children.rs index 9cb079881..e0ca2e404 100644 --- a/theseus/src/state/children.rs +++ b/theseus/src/state/children.rs @@ -127,6 +127,14 @@ impl Children { } } if !mc_exit_status.success() { + emit_process( + uuid, + current_pid, + ProcessPayloadType::Finished, + "Exited process", + ) + .await?; + return Ok(mc_exit_status); // Err for a non-zero exit is handled in helper } diff --git a/theseus_gui/src/App.vue b/theseus_gui/src/App.vue index a8880b6a7..eea974199 100644 --- a/theseus_gui/src/App.vue +++ b/theseus_gui/src/App.vue @@ -75,24 +75,24 @@ const loading = useLoading() Library -
+ diff --git a/theseus_gui/src/components/ui/InstallConfirmModal.vue b/theseus_gui/src/components/ui/InstallConfirmModal.vue index 8eecc3334..065a521d4 100644 --- a/theseus_gui/src/components/ui/InstallConfirmModal.vue +++ b/theseus_gui/src/components/ui/InstallConfirmModal.vue @@ -2,11 +2,15 @@ import { Button, Modal, XIcon, DownloadIcon } from 'omorphia' import { install as pack_install } from '@/helpers/pack' import { ref } from 'vue' +import { useRouter } from 'vue-router' + +const router = useRouter() const version = ref('') const title = ref('') const icon = ref('') const confirmModal = ref(null) +const installing = ref(false) defineExpose({ show: (id, projectTitle, projectIcon) => { @@ -18,8 +22,11 @@ defineExpose({ }) async function install() { - confirmModal.value.hide() + installing.value = true + let id = await pack_install(version.value) await pack_install(version.value, title.value, icon.value ? icon.value : null) + await router.push({ path: `/instance/${encodeURIComponent(id)}` }) + confirmModal.value.hide() } @@ -31,7 +38,9 @@ async function install() {

- +
diff --git a/theseus_gui/src/components/ui/Instance.vue b/theseus_gui/src/components/ui/Instance.vue index 59619d45c..44dfd1bfc 100644 --- a/theseus_gui/src/components/ui/Instance.vue +++ b/theseus_gui/src/components/ui/Instance.vue @@ -1,5 +1,5 @@