initial commit

This commit is contained in:
2026-02-26 21:29:34 +01:00
commit d9d84634e8
72 changed files with 18491 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
<template>
<h1>{{ $t('confirmation.title') }}</h1>
<uiLoading v-if="result === null" />
<div class="confirm-main-text" v-if="result!=null">
<div v-if="result === true">
<p v-if="authStore.isLoggedIn" >{{ $t('confirmation.successConnected') }}
<NuxtLink :to="localePath('/lists')">{{ $t('confirmation.listsLink') }}</NuxtLink>
</p>
<p v-else>{{ $t('confirmation.successNotConnected') }} <NuxtLink :to="localePath('/login')">{{ $t('confirmation.loginLink') }}</NuxtLink></p>
</div>
<div v-else>
<p class="confirm-main-text" v-if="result === 'expired'">{{ $t('confirmation.failureMessage')}}<br/><span>{{ $t('confirmation.failureCauseExpired') }}</span></p>
<p class="confirm-main-text" v-else>{{ $t('confirmation.failureMessage')}}<br/><span>{{ $t('confirmation.failureCauseInvalid') }}</span></p>
<p class="confirm-main-text last">{{ $t('confirmation.failureYouCan')}} <NuxtLink :to="localePath('/signup')">{{ $t('confirmation.failureCreateNewAccount') }}</NuxtLink> {{ $t('confirmation.failureOr') }} <NuxtLink :to="localePath('/')">{{ $t('confirmation.backHome') }}</NuxtLink>
</p>
</div>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: 'confirmation', // utilisation du layout confirm
public: true,
})
import type { ConfirmResult} from '~/types/auth';
const authStore = useAuthStore()
const localePath = useLocalePath()
const loading = ref<boolean>(true)
const result = ref<ConfirmResult | null>(null)
const userConnected = ref<boolean>(false)
onMounted(async () => {
const route = useRoute()
// const user = route.query.user as string
const token = route.query.token as string
if (!token) {
loading.value = false
return
}
try {
result.value = await authStore.confirmUser(token)
if (result.value === true) {
if (authStore.isLoggedIn && authStore.user){
authStore.user.confirmed = true;
}
}
} catch {
throw new Error("Invalid !");
}
finally{
loading.value=false
}
})
</script>
<style scoped lang="scss">
p > span{
color:red;
text-align: center;
display: block;
margin-block: 1.2em;
font-weight: bold;
}
.confirm-main-text:first-of-type{
margin-top: 2em;
}
</style>