diff --git a/app/components/header/AvatarButton.vue b/app/components/header/AvatarButton.vue index ed4b388..545e3dd 100644 --- a/app/components/header/AvatarButton.vue +++ b/app/components/header/AvatarButton.vue @@ -2,10 +2,12 @@ import Menu from "primevue/menu"; import Button from "primevue/button"; import { useRuntimeConfig } from "nuxt/app"; +import { useToast } from "primevue/usetoast"; import CleanupDialog from "~/components/header/CleanupDialog.vue"; const { signIn, signOut } = useAuth(); const { status: authStatus, data: authData } = useAuthState(); +const toast = useToast(); const menu = ref(); const showCleanupDialog = ref(false); @@ -21,6 +23,10 @@ const toggle = (event) => { menu.value.toggle(event); }; +const attemptSignIn = async () => { + if (await checkIdpReachable(toast)) await signIn(`${idpProvider}`); +}; + const menuItems = computed(() => [ { label: "Options", @@ -32,7 +38,7 @@ const menuItems = computed(() => [ // eslint-disable-next-line @typescript-eslint/no-unused-expressions isAuthenticated.value ? signOut({ callbackUrl: "/" }) - : signIn(`${idpProvider}`); + : attemptSignIn(); }, }, { diff --git a/app/components/landing/IdpAuthBtns.vue b/app/components/landing/IdpAuthBtns.vue index 7c3a0b5..89dd645 100644 --- a/app/components/landing/IdpAuthBtns.vue +++ b/app/components/landing/IdpAuthBtns.vue @@ -1,12 +1,18 @@