Ajout de l'assistant d'installation web et corrections de navigation
- Wizard d'installation en 5 étapes (/setup) : prérequis PHP, base de données (PostgreSQL/MySQL avec test de connexion AJAX), paramètres app, compte admin, résultat — génère le .env, migre et crée l'administrateur - CheckInstallation middleware : redirige vers /setup si non installé, protège /setup si déjà installé ; storage/installed comme marqueur - Menu Administration : remplacé par le composant x-dropdown Breeze (même positionnement que le menu utilisateur — corrige le débordement en haut) - Logo navbar : adaptatif via h-full/py-1.5 (s'adapte à la hauteur de la barre) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<title>@yield('title', 'Installation') — MesRelevés</title>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.14.1/dist/cdn.min.js"></script>
|
||||
<style>[x-cloak]{display:none!important}</style>
|
||||
</head>
|
||||
<body class="bg-slate-100 min-h-screen">
|
||||
<div class="max-w-2xl mx-auto py-10 px-4">
|
||||
|
||||
{{-- En-tête --}}
|
||||
<div class="text-center mb-8">
|
||||
<div class="inline-flex items-center justify-center w-14 h-14 rounded-2xl bg-blue-600 text-white text-2xl font-bold mb-3 select-none">M</div>
|
||||
<h1 class="text-2xl font-bold text-slate-800">MesRelevés</h1>
|
||||
<p class="text-slate-500 text-sm mt-1">Assistant d'installation</p>
|
||||
</div>
|
||||
|
||||
{{-- Indicateur d'étapes --}}
|
||||
@php
|
||||
$wizardSteps = ['Prérequis', 'Base de données', 'Application', 'Administrateur', 'Installation'];
|
||||
$currentStep = $currentStep ?? 1;
|
||||
@endphp
|
||||
<div class="flex items-start justify-center mb-8 gap-0">
|
||||
@foreach($wizardSteps as $i => $label)
|
||||
@php $num = $i + 1; @endphp
|
||||
<div class="flex items-center">
|
||||
@if($i > 0)
|
||||
<div class="h-px w-6 sm:w-10 mt-4 {{ $currentStep > $num ? 'bg-blue-500' : 'bg-slate-300' }}"></div>
|
||||
@endif
|
||||
<div class="flex flex-col items-center">
|
||||
<div class="w-8 h-8 rounded-full flex items-center justify-center text-xs font-semibold border-2 transition
|
||||
@if($currentStep === $num) border-blue-600 bg-blue-600 text-white
|
||||
@elseif($currentStep > $num) border-blue-400 bg-blue-100 text-blue-600
|
||||
@else border-slate-300 bg-white text-slate-400
|
||||
@endif">
|
||||
@if($currentStep > $num) ✓ @else {{ $num }} @endif
|
||||
</div>
|
||||
<span class="text-xs mt-1 text-center w-14 leading-tight
|
||||
@if($currentStep === $num) text-blue-600 font-medium
|
||||
@elseif($currentStep > $num) text-blue-400
|
||||
@else text-slate-400
|
||||
@endif">{{ $label }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
{{-- Carte principale --}}
|
||||
<div class="bg-white rounded-2xl shadow-sm border border-slate-200">
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user