7609d35287
- Laravel 12 sur PHP 8.5, Breeze (Blade/Tailwind/Alpine.js) - Docker Compose dev (PostgreSQL 18 + Redis) et prod (stack complète + nginx) - Migrations et models : lieux, sections, dépôts, source_types/fields, sources, relevés - Colonne JSONB data sur releves avec colonnes générées indexées (nom, prenom, date_evenement) - Index GIN pour la recherche fulltext - Enums : UserRole, SourceStatus (avec transitions), CalendarType, FieldType - RoleMiddleware (alias `role`) + helpers isAdmin/isSectionManager sur User - CRUD Lieux (arbre hiérarchique, calcul nom_long en cascade) - CRUD admin : Sections (+ gestion membres), Dépôts, Types de sources (+ champs dynamiques, drag & drop) - CRUD Sources : visibilité filtrée par rôle, assignation membres, workflow de statut Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
48 lines
1.9 KiB
PHP
48 lines
1.9 KiB
PHP
<x-guest-layout>
|
|
<!-- Session Status -->
|
|
<x-auth-session-status class="mb-4" :status="session('status')" />
|
|
|
|
<form method="POST" action="{{ route('login') }}">
|
|
@csrf
|
|
|
|
<!-- Email Address -->
|
|
<div>
|
|
<x-input-label for="email" :value="__('Email')" />
|
|
<x-text-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus autocomplete="username" />
|
|
<x-input-error :messages="$errors->get('email')" class="mt-2" />
|
|
</div>
|
|
|
|
<!-- Password -->
|
|
<div class="mt-4">
|
|
<x-input-label for="password" :value="__('Password')" />
|
|
|
|
<x-text-input id="password" class="block mt-1 w-full"
|
|
type="password"
|
|
name="password"
|
|
required autocomplete="current-password" />
|
|
|
|
<x-input-error :messages="$errors->get('password')" class="mt-2" />
|
|
</div>
|
|
|
|
<!-- Remember Me -->
|
|
<div class="block mt-4">
|
|
<label for="remember_me" class="inline-flex items-center">
|
|
<input id="remember_me" type="checkbox" class="rounded border-gray-300 text-indigo-600 shadow-sm focus:ring-indigo-500" name="remember">
|
|
<span class="ms-2 text-sm text-gray-600">{{ __('Remember me') }}</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="flex items-center justify-end mt-4">
|
|
@if (Route::has('password.request'))
|
|
<a class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" href="{{ route('password.request') }}">
|
|
{{ __('Forgot your password?') }}
|
|
</a>
|
|
@endif
|
|
|
|
<x-primary-button class="ms-3">
|
|
{{ __('Log in') }}
|
|
</x-primary-button>
|
|
</div>
|
|
</form>
|
|
</x-guest-layout>
|