Files
Ressources-relationnel/resources/views/layout/header.blade.php
T
sam dede70f70f
CI - Intégration continue / quality-and-tests (push) Successful in 3m56s
CD - Déploiement continu / deploy (push) Successful in 3m6s
feat: formulaire de suggestions créant un ticket Gitea
Les utilisateurs connectés peuvent proposer une modification / un ajout /
une correction via un formulaire. La soumission crée automatiquement une
issue dans le dépôt Gitea via son API (GiteaIssueService), avec le titre
préfixé par le type et l'auteur dans le corps.

- config/services.php + .env.example : GITEA_URL/TOKEN/REPO (token secret)
- SuggestionController (create/store) + validation
- vue suggestions/create + lien dans le header (utilisateurs connectés)
- tests: auth requise, création OK, validation, échec API

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:00:12 +02:00

63 lines
3.8 KiB
PHP

<header class="border-b border-gray-200 bg-white shadow-sm transition-smooth">
<div class="container mx-auto px-4 py-6 flex flex-wrap items-center justify-between gap-4">
<div class="flex items-center space-x-4">
<div class="flex items-center">
<div class="border-r border-gray-300 pr-4">
<p class="text-xs font-bold uppercase leading-tight text-gray-700">Gouvernement</p>
<p class="text-[10px] uppercase italic text-gray-600 mt-1">Liberté<br>Égalité<br>Fraternité</p>
</div>
</div>
<h1 class="text-xs font-bold uppercase max-w-[150px] text-gray-800 leading-snug">
<img
src="{{ asset('img/logo-ministere.png') }}"
alt="Logo du Ministère des Solidarités et de la Santé"
class="h-16 w-auto mr-4"
>
</h1>
</div>
<div class="hidden md:block flex-grow text-center">
<span class="text-3xl font-black italic tracking-tighter text-gray-900">
(RE)SOURCES <span class="text-niagara underline decoration-candlelight decoration-4 underline-offset-2">RELATIONNELLES</span>
</span>
</div>
<nav class="flex items-center gap-2 whitespace-nowrap">
@auth
<a href="{{ route('suggestions.create') }}" class="hidden sm:inline-flex items-center px-4 py-2.5 text-sm font-bold text-niagara border-2 border-niagara rounded-lg hover:bg-niagara hover:text-white transition-smooth duration-200">
💡 Proposer une amélioration
</a>
<div class="relative group">
<button class="flex items-center gap-2 p-2 rounded-lg hover:bg-gray-100 transition-smooth duration-200">
<img
src="https://ui-avatars.com/api/?name={{ urlencode(Auth::user()->Pseudo) }}&background=06989e&color=fff&size=40"
alt="Photo de profil de {{ Auth::user()->Pseudo }}"
class="w-10 h-10 rounded-full border-2 border-niagara"
>
<span class="text-sm text-gray-700 font-semibold hidden sm:inline">{{ Auth::user()->Pseudo }}</span>
</button>
<!-- Menu déroulant -->
<div class="absolute right-0 mt-0 w-48 bg-white rounded-lg shadow-xl border border-gray-200 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50">
<a href="{{ route('profile.settings') }}" class="block px-4 py-3 text-sm text-gray-700 hover:bg-gray-50 border-b border-gray-200 rounded-t-lg">
⚙️ Paramètres du profil
</a>
<form action="{{ route('logout') }}" method="POST">
@csrf
<button type="submit" class="w-full text-left px-4 py-3 text-sm text-red-600 hover:bg-red-50 rounded-b-lg font-semibold">
🚪 Déconnexion
</button>
</form>
</div>
</div>
@else
<a href="{{ route('login') }}" class="px-5 py-2.5 text-sm font-bold text-niagara border-2 border-niagara rounded-lg hover:bg-niagara hover:text-white transition-smooth duration-200">
Connexion
</a>
<a href="{{ route('register') }}" class="px-5 py-2.5 text-sm font-bold bg-candlelight text-gray-900 rounded-lg shadow-md hover:shadow-lg hover:-translate-y-0.5 transition-smooth duration-200">
S'inscrire
</a>
@endauth
</nav>
</div>
</header>