Add revalidation email

This commit is contained in:
2024-11-26 16:23:33 +01:00
parent 3e463ea286
commit e83d8e802f
5 changed files with 81 additions and 4 deletions

View File

@@ -4,13 +4,26 @@ import { hasPermissions } from "#shared/auth.util";
definePageMeta({
guestsGoesTo: '/user/login',
})
let { user, clear } = useUserSession();
const { user, clear } = useUserSession();
const toaster = useToast();
const loading = ref<boolean>(false);
async function revalidateUser()
{
loading.value = true;
await $fetch(`/api/users/${user.value?.id}/revalidate`, {
method: 'get'
});
loading.value = false;
toaster.add({ closeable: false, duration: 10000, timer: true, content: 'Un mail vous a été envoyé.', type: 'info' });
}
async function deleteUser()
{
loading.value = true;
await $fetch(`/api/users/${user.value?.id}`, {
method: 'delete'
});
loading.value = false;
clear();
}
</script>
@@ -36,14 +49,14 @@ async function deleteUser()
<template v-slot:content><span>Tant que votre adresse mail n'as pas été validée, vous n'avez que
des droits de lecture.</span></template>
</HoverCard>
<Tooltip message="En cours de développement"><Button class="ms-4" disabled>Renvoyez un mail</Button></Tooltip>
<Button class="ms-4" @click="revalidateUser" :loading="loading">Renvoyez un mail</Button>
</div>
</div>
<div class="flex flex-col self-center flex-1 gap-4">
<Button @click="async () => await clear()">Se deconnecter</Button>
<Button @click="clear">Se deconnecter</Button>
<Button disabled><Tooltip message="En cours de développement">Modifier mon profil</Tooltip></Button>
<AlertDialogRoot>
<AlertDialogTrigger asChild><Button
<AlertDialogTrigger asChild><Button :loading="loading"
class="border-light-red dark:border-dark-red hover:border-light-red dark:hover:border-dark-red hover:bg-light-redBack dark:hover:bg-dark-redBack text-light-red dark:text-dark-red focus:shadow-light-red dark:focus:shadow-dark-red">Supprimer
mon compte</Button></AlertDialogTrigger>
<AlertDialogPortal>