Initial commit: SuiviCPT personal finance tracker
Laravel 11 + Livewire 3/Volt + Alpine.js + Tailwind app for household budget planning, transaction tracking, and financial dashboards. - Multi-tenant households with member invites - Plan: monthly/yearly budget per category with overrides - Suivi: transaction log with running balance (desktop + mobile quick-entry) - Dashboard: budget vs tracked breakdown + Chart.js donuts - Flux: Sankey diagram of income allocation - WCAG 2.1 AA color tokens, dark mode, accessible tables/forms - 50 Pest tests Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<div class="max-w-md mx-auto mt-10 bg-surface shadow rounded-lg p-6 text-center">
|
||||
@if ($invalid)
|
||||
<h1 class="text-lg font-semibold text-text">Invitation invalide ou expirée</h1>
|
||||
<p class="mt-2 text-sm text-text-muted">Demandez une nouvelle invitation à l'administrateur du foyer.</p>
|
||||
<a href="{{ route('login') }}" wire:navigate class="mt-4 inline-block text-brand underline rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring">Retour à la connexion</a>
|
||||
@else
|
||||
<h1 class="text-lg font-semibold text-text">
|
||||
Rejoindre {{ $invite->household->name }}
|
||||
</h1>
|
||||
<p class="mt-2 text-sm text-text-muted">
|
||||
{{ $invite->inviter->name }} vous invite à rejoindre ce foyer sur SuiviCPT.
|
||||
</p>
|
||||
|
||||
@auth
|
||||
@if (auth()->user()->email === $invite->email)
|
||||
<button wire:click="accept" class="mt-4 inline-flex items-center px-4 py-2 bg-brand text-white text-sm rounded-md hover:bg-brand-emphasis focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface">
|
||||
Accepter l'invitation
|
||||
</button>
|
||||
@else
|
||||
<p class="mt-4 text-sm text-danger">
|
||||
Cette invitation est destinée à {{ $invite->email }}. Déconnectez-vous pour l'accepter avec le bon compte.
|
||||
</p>
|
||||
@endif
|
||||
@else
|
||||
<div class="mt-4 flex flex-col gap-2">
|
||||
<a href="{{ route('register', ['invite' => $invite->token]) }}" wire:navigate class="inline-flex items-center justify-center px-4 py-2 bg-brand text-white text-sm rounded-md hover:bg-brand-emphasis focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface">
|
||||
Créer un compte et rejoindre
|
||||
</a>
|
||||
<a href="{{ route('login') }}" wire:navigate class="text-sm text-brand underline rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring">
|
||||
J'ai déjà un compte
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
Reference in New Issue
Block a user