feat: add team invitation acceptance flow with email link routing

Implement end-to-end invitation acceptance: neutral entry route validates
token and routes to register (new users), login (existing users), or
auto-accepts (authenticated users). Handles 2FA token survival via
session, email case-insensitive matching, and dedicated error pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 15:16:45 +01:00
parent 8f39bd9b73
commit 88e5803061
13 changed files with 422 additions and 19 deletions

View File

@@ -0,0 +1,31 @@
<script setup lang="ts">
import { Head } from '@inertiajs/vue3';
import TextLink from '@/components/TextLink.vue';
import AuthBase from '@/layouts/AuthLayout.vue';
type Props = {
title: string;
message: string;
homeUrl: string;
};
defineProps<Props>();
</script>
<template>
<AuthBase
:title="title"
:description="message"
>
<Head :title="title" />
<div class="flex flex-col items-center gap-4">
<TextLink
:href="homeUrl"
class="underline underline-offset-4"
>
Retour à l'accueil
</TextLink>
</div>
</AuthBase>
</template>