<script setup>\r
import { computed } from "vue";\r
import { RouterView, useRoute } from "vue-router";\r
+import { useToast } from "primevue/usetoast";\r
\r
import { getConfig } from "./api.js";\r
import { useGlobalStore } from "./globalStore.js";\r
import NavBar from "./partials/NavBar.vue";\r
import { loadStoredToken } from "./tokenStorage.js";\r
import PrimeToast from "./components/PrimeToast.vue";\r
+import { getUnknownServerErrorToastOptions } from "./helpers.js";\r
\r
const globalStore = useGlobalStore();\r
const route = useRoute();\r
+const toast = useToast();\r
\r
getConfig()\r
.then((data) => {\r
globalStore.authType = data.authType;\r
})\r
- .catch(function (error) {\r
- if (!error.handled) {\r
- // TODO: Trigger unknown error toast\r
- console.error(error);\r
- }\r
+ .catch(() => {\r
+ toast.add(getUnknownServerErrorToastOptions());\r
});\r
loadStoredToken();\r
\r
--- /dev/null
+export function getToastOptions(title, description, isFailure = false) {
+ return {
+ summary: title,
+ detail: description,
+ severity: isFailure ? "error" : "success",
+ closable: false,
+ life: 5000,
+ };
+}
+
+export function getUnknownServerErrorToastOptions() {
+ return getToastOptions(
+ "Unknown Error",
+ "Unknown error communicating with the server. Please try again.",
+ true,
+ );
+}
import { authTypes } from "../constants.js";
import { useGlobalStore } from "../globalStore.js";
import { storeToken } from "../tokenStorage.js";
+import {
+ getToastOptions,
+ getUnknownServerErrorToastOptions,
+} from "../helpers.js";
const props = defineProps({ redirect: String });
const globalStore = useGlobalStore();
const router = useRouter();
-const route = useRoute();
const toast = useToast();
const username = ref("");
totp.value = "";
if (response.response?.status === 401) {
- toast.add({
- summary: "Login Failed",
- detail: "Please check your credentials and try again.",
- severity: "error",
- closable: false,
- life: 5000,
- });
- // TODO: Trigger unknown error toast
+ toast.add(
+ getToastOptions(
+ "Login Failed",
+ "Please check your credentials and try again.",
+ true,
+ ),
+ );
+ } else {
+ toast.add(getUnknownServerErrorToastOptions());
}
});
}