Fix sessions, start profile UI and add middleware

This commit is contained in:
2024-11-06 17:38:15 +01:00
parent b3fae0b5db
commit a392841012
14 changed files with 74 additions and 26 deletions

View File

@@ -23,6 +23,7 @@ import { Icon } from '@iconify/vue/dist/iconify.js';
definePageMeta({
layout: 'login',
usersGoesTo: '/user/profile',
});
const { add: addToast, clear: clearToasts } = useToast();

View File

@@ -1,9 +1,28 @@
<script setup lang="ts">
const { user } = useUserSession();
definePageMeta({
guestsGoesTo: '/user/login',
})
let { user, clear } = useUserSession();
</script>
<template>
<Head>
<Title>Mon profil</Title>
</Head>
<div class="flex w-full items-start py-8 gap-6" v-if="user">
<div class="flex gap-4 min-w-1/3 max-w-2/3 border border-light-35 dark:border-dark-35 p-4">
<Avatar icon="radix-icons:person" :src="`/users/${user?.id}.medium.jpg`" class="w-32 h-32" />
<div class="flex flex-col items-start">
<ProseH5>{{ user.username }}</ProseH5>
<ProseH5>{{ user.email }}</ProseH5>
<HoverCard>
<template v-slot:default><div class="border-light-red dark:border-dark-red bg-light-red bg-opacity-25 dark:bg-dark-red dark:bg-opacity-25 text-light-red dark:text-dark-red py-1 px-3" v-if="user.state === 0">Votre adresse mail n'as pas encore été validée. <Button class="ms-4">Renvoyez un mail</Button></div></template>
<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>
</div>
</div>
<div class="flex-1">
<Button @click="async () => await clear()">Se deconnecter</Button>
</div>
</div>
</template>

View File

@@ -39,6 +39,7 @@ import { Icon } from '@iconify/vue/dist/iconify.js';
definePageMeta({
layout: 'login',
usersGoesTo: '/user/profile',
});
const state = reactive<Registration>({