Première grosse version fonctionnel
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>@yield('title', 'CESIZen') | Ministère de la Santé</title>
|
||||
@vite(['resources/css/app.css', 'resources/js/app.js'])
|
||||
<style>
|
||||
:root {
|
||||
--fr-blue: #000091;
|
||||
--cz-navy: #000074;
|
||||
--cz-mustard: #715200;
|
||||
--cz-mustard-bg: #F8B803;
|
||||
--cz-jade: #00635B;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@include('layouts.header')
|
||||
<body class="bg-[#F6F6F6] text-[#161616] min-h-screen font-sans">
|
||||
<div class="flex min-h-screen">
|
||||
<!-- Sidebar Simplifiée pour les sous-pages -->
|
||||
@include('layouts.sidebar')
|
||||
|
||||
<main class="flex-1">
|
||||
<!-- <header class="bg-white border-b border-slate-200 px-8 py-4 flex items-center justify-between">
|
||||
<h1 class="text-xl font-bold">@yield('header_title')</h1>
|
||||
@auth
|
||||
<span class="text-sm font-bold text-slate-600">{{ Auth::user()->name }}</span>
|
||||
@endauth
|
||||
</header> -->
|
||||
<div class="p-8">
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,21 @@
|
||||
<footer class="mt-auto bg-white border-t border-slate-200 pt-12 pb-8" role="contentinfo">
|
||||
<div class="container mx-auto px-8">
|
||||
<div class="flex flex-col lg:flex-row justify-between gap-10 mb-10 border-b border-slate-100 pb-10">
|
||||
<div class="flex items-center gap-6">
|
||||
<img src="img/ministere.png" alt="Logo du Ministère de la Santé et de la Prévention" class="w-24 h-auto">
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-6 text-xs font-bold text-slate-600">
|
||||
<a href="#" class="hover:text-[--fr-blue] underline">legifrance.gouv.fr</a>
|
||||
<a href="#" class="hover:text-[--fr-blue] underline">service-public.fr</a>
|
||||
<a href="#" class="hover:text-[--fr-blue] underline">data.gouv.fr</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap gap-6 text-[11px] font-bold text-slate-500 uppercase tracking-wider">
|
||||
<a href="#" class="hover:underline">Mentions légales</a>
|
||||
<a href="#" class="hover:underline">Accessibilité : partiellement conforme</a>
|
||||
<a href="#" class="hover:underline">Données personnelles</a>
|
||||
<a href="#" class="hover:underline">Cookies</a>
|
||||
<span class="ml-auto text-slate-400 font-normal">© {{ date('Y') }} Ministère de la Santé - CESIZen</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,41 @@
|
||||
<header role="banner" class="bg-white border-b-2 border-[--fr-blue] sticky top-0 z-50 shadow-sm">
|
||||
<div class="container mx-auto px-4 lg:px-8 py-3 flex items-center justify-between">
|
||||
<div class="flex items-start justify-start gap-8">
|
||||
<div class="flex flex-col border-r-2 border-slate-200 pr-8" aria-hidden="true">
|
||||
<img src="img/ministere.png" alt="Logo du Ministère de la Santé et de la Prévention" class="w-24 h-auto">
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col">
|
||||
<h1 class="text-2xl font-black text-[--fr-blue] tracking-tight">
|
||||
<a href="{{ route('home') }}"><img src="img/CesiZen.png" alt="Logo CesiZen" class="w-32 h-auto"></a>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="flex items-center gap-6" role="navigation" aria-label="Menu utilisateur">
|
||||
@auth
|
||||
<a href="{{ route('profile.index') }}" class="flex items-center gap-3 px-4 py-1.5 bg-slate-50 rounded-lg border border-slate-200 shadow-sm hover:border-[#000091] transition-all group">
|
||||
<div class="text-right">
|
||||
<p class="text-sm font-bold leading-none text-slate-900 group-hover:text-[#000091]">{{ Auth::user()->name }}</p>
|
||||
<p class="text-[10px] text-slate-500 font-bold uppercase tracking-tighter">Mon Profil</p>
|
||||
</div>
|
||||
<img src="https://ui-avatars.com/api/?name={{ urlencode(Auth::user()->name) }}&background=000091&color=fff" class="w-9 h-9 rounded-lg border border-slate-200" alt="Avatar de {{ Auth::user()->name }}">
|
||||
</a>
|
||||
<form action="{{ route('logout') }}" method="POST" class="inline">
|
||||
@csrf
|
||||
<button type="submit" class="text-xs font-bold text-slate-500 hover:text-[#E1000F] uppercase tracking-tighter flex items-center gap-1">
|
||||
<x-heroicon-o-arrow-left-on-rectangle class="h-4 w-4" />
|
||||
Quitter
|
||||
</button>
|
||||
</form>
|
||||
@else
|
||||
<div class="flex items-center gap-4">
|
||||
<a href="/login" class="text-sm font-bold text-[#000091] hover:underline px-2 py-2">Se connecter</a>
|
||||
<a href="/register" class="px-6 py-2.5 bg-[#000091] text-white text-sm font-bold rounded-sm shadow-md hover:bg-blue-800 transition-all">
|
||||
Créer un compte
|
||||
</a>
|
||||
</div>
|
||||
@endauth
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
@@ -0,0 +1,67 @@
|
||||
<aside class="hidden lg:flex w-80 flex-col bg-white border-r border-slate-200 overflow-y-auto" role="navigation" aria-label="Menu latéral">
|
||||
<nav class="flex-1 px-6 py-10 space-y-1">
|
||||
<p class="text-[10px] font-bold text-slate-500 uppercase tracking-[0.2em] mb-4 px-4">Navigation</p>
|
||||
|
||||
<!-- Tableau de bord -->
|
||||
<a href="{{ route('home') }}"
|
||||
class="flex items-center gap-4 px-4 py-3 rounded-sm transition-all {{ request()->routeIs('home') ? 'text-white bg-[#000091] font-bold shadow-md' : 'text-slate-700 hover:bg-slate-50 font-medium' }}"
|
||||
{!! request()->routeIs('home') ? 'aria-current="page"' : '' !!}>
|
||||
<x-heroicon-o-home class="h-5 w-5" aria-hidden="true" />
|
||||
Tableau de bord
|
||||
</a>
|
||||
|
||||
<!-- Mon Journal Émotionnel -->
|
||||
<a href="{{ route('emotions.index') }}"
|
||||
class="flex items-center gap-4 px-4 py-3 rounded-sm transition-all group {{ request()->routeIs('emotions.*') ? 'text-white bg-[#000091] font-bold shadow-md' : 'text-slate-700 hover:bg-slate-50 font-medium border-b border-slate-100/50' }}"
|
||||
{!! request()->routeIs('emotions.*') ? 'aria-current="page"' : '' !!}>
|
||||
<div class="w-8 h-8 rounded-sm flex items-center justify-center transition-colors {{ request()->routeIs('emotions.*') ? 'bg-white/20 text-white' : 'bg-teal-50 text-[--cz-jade]' }}" aria-hidden="true">
|
||||
<x-heroicon-o-clock class="h-4 w-4" />
|
||||
</div>
|
||||
Mon Journal Émotionnel
|
||||
</a>
|
||||
|
||||
<!-- Diagnostics Stress -->
|
||||
<a href="{{ route('diagnostics.index') }}"
|
||||
class="flex items-center gap-4 px-4 py-3 rounded-sm transition-all group {{ request()->routeIs('diagnostics.*') ? 'text-white bg-[#000091] font-bold shadow-md' : 'text-slate-700 hover:bg-slate-50 font-medium border-b border-slate-100/50' }}"
|
||||
{!! request()->routeIs('diagnostics.*') ? 'aria-current="page"' : '' !!}>
|
||||
<div class="w-8 h-8 rounded-sm flex items-center justify-center transition-colors {{ request()->routeIs('diagnostics.*') ? 'bg-white/20 text-white' : 'bg-orange-50 text-[--cz-mustard]' }}" aria-hidden="true">
|
||||
<x-heroicon-o-chart-bar class="h-4 w-4" />
|
||||
</div>
|
||||
Diagnostics Stress
|
||||
</a>
|
||||
|
||||
<!-- Exercices de Respiration -->
|
||||
<a href="{{ route('relaxation.index') }}"
|
||||
class="flex items-center gap-4 px-4 py-3 rounded-sm transition-all group {{ request()->routeIs('relaxation.*') ? 'text-white bg-[#000091] font-bold shadow-md' : 'text-slate-700 hover:bg-slate-50 font-medium border-b border-slate-100/50' }}"
|
||||
{!! request()->routeIs('relaxation.*') ? 'aria-current="page"' : '' !!}>
|
||||
<div class="w-8 h-8 rounded-sm flex items-center justify-center transition-colors {{ request()->routeIs('relaxation.*') ? 'bg-white/20 text-white' : 'bg-indigo-50 text-indigo-700' }}" aria-hidden="true">
|
||||
<x-heroicon-o-heart class="h-4 w-4" />
|
||||
</div>
|
||||
Exercices de Respiration
|
||||
</a>
|
||||
|
||||
<div class="pt-10 space-y-1">
|
||||
<p class="text-[10px] font-bold text-slate-500 uppercase tracking-[0.2em] mb-4 px-4">Services de l'État</p>
|
||||
<a href="#" class="flex items-center justify-between px-4 py-2 text-sm text-slate-600 hover:text-[--fr-blue] font-medium transition-colors">
|
||||
<span>Guide Santé Étudiante</span>
|
||||
<x-heroicon-o-document-text class="h-4 w-4" aria-hidden="true" />
|
||||
</a>
|
||||
<a href="#" class="flex items-center justify-between px-4 py-2 text-sm text-slate-600 hover:text-[--fr-blue] font-medium transition-colors">
|
||||
<span>Ligne d'Urgence</span>
|
||||
<x-heroicon-o-phone class="h-4 w-4" aria-hidden="true" />
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Alert Block -->
|
||||
<div class="p-6">
|
||||
<div class="bg-slate-900 rounded-sm p-6 text-white relative overflow-hidden">
|
||||
<p class="text-[10px] font-bold uppercase tracking-widest text-slate-400 mb-2">Besoin d'aide ?</p>
|
||||
<p class="text-xs font-medium leading-relaxed mb-4">Une ligne d'écoute gratuite est disponible pour tous les étudiants.</p>
|
||||
<a href="tel:0800130000" class="flex items-center justify-center gap-2 w-full py-2.5 bg-white text-slate-900 text-sm font-bold rounded-sm hover:bg-slate-100 transition-colors">
|
||||
<x-heroicon-o-phone class="h-4 w-4" aria-hidden="true" />
|
||||
0 800 130 000
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
Reference in New Issue
Block a user