diff --git a/server/pages/admin/library/[id]/import.vue b/server/pages/admin/library/[id]/import.vue
index d5d6ad85..53ab061c 100644
--- a/server/pages/admin/library/[id]/import.vue
+++ b/server/pages/admin/library/[id]/import.vue
@@ -297,7 +297,7 @@
{{ $t("library.admin.import.import") }}
@@ -363,6 +363,7 @@ import {
MinusIcon,
PlusIcon,
} from "@heroicons/vue/20/solid";
+import { FetchError } from "ofetch";
import { GameType } from "~/prisma/client/enums";
import type { ImportVersion } from "~/server/api/v1/admin/import/version/index.post";
import type { VersionGuess } from "~/server/internal/library";
@@ -414,26 +415,27 @@ async function updateCurrentlySelectedVersion(value: number) {
}
async function startImport() {
- if (!versionSettings.value) return;
- const taskId = await $dropFetch("/api/v1/admin/import/version", {
- method: "POST",
- body: {
- ...versionSettings.value,
- id: gameId,
- version: versions[currentlySelectedVersion.value],
- },
- });
- router.push(`/admin/task/${taskId.taskId}`);
-}
-
-function startImport_wrapper() {
importLoading.value = true;
- startImport()
- .catch((error) => {
- importError.value = error.statusMessage ?? t("errors.unknown");
- })
- .finally(() => {
- importLoading.value = false;
+
+ if (!versionSettings.value) return;
+ try {
+ const taskId = await $dropFetch("/api/v1/admin/import/version", {
+ method: "POST",
+ body: {
+ ...versionSettings.value,
+ id: gameId,
+ version: versions[currentlySelectedVersion.value],
+ },
});
+ router.push(`/admin/task/${taskId.taskId}`);
+ } catch (error) {
+ if (error instanceof FetchError) {
+ importError.value = error.data?.message ?? t("errors.unknown");
+ } else {
+ importError.value = (error as string)?.toString();
+ }
+ } finally {
+ importLoading.value = false;
+ }
}
diff --git a/server/pages/auth/mfa/totp.vue b/server/pages/auth/mfa/totp.vue
index 449dd7c6..833e146d 100644
--- a/server/pages/auth/mfa/totp.vue
+++ b/server/pages/auth/mfa/totp.vue
@@ -26,6 +26,7 @@
signin(code)"
/>