106 lines
5.7 KiB
PHP
106 lines
5.7 KiB
PHP
@extends('app')
|
|
|
|
@section('title', 'Suivi de ma suggestion - (RE)Sources Relationnelles')
|
|
|
|
@section('content')
|
|
<section class="container mx-auto px-4 py-12">
|
|
<div class="max-w-3xl mx-auto">
|
|
<a href="{{ route('suggestions.index') }}" class="inline-block text-sm text-gray-500 hover:text-niagara mb-4">← Retour à mes suggestions</a>
|
|
|
|
<!-- En-tête -->
|
|
<div class="mb-6">
|
|
<div class="flex items-center gap-2 mb-2 flex-wrap">
|
|
<span class="px-2 py-0.5 text-xs font-bold rounded-full bg-gray-100 text-gray-700">{{ $suggestion->Type }}</span>
|
|
@if ($issue === null)
|
|
<span class="px-2 py-0.5 text-xs font-bold rounded-full bg-gray-100 text-gray-500">⚪ État indisponible</span>
|
|
@elseif ($issue['state'] === 'closed')
|
|
<span class="px-2 py-0.5 text-xs font-bold rounded-full bg-purple-100 text-purple-700">✔️ Traitée</span>
|
|
@else
|
|
<span class="px-2 py-0.5 text-xs font-bold rounded-full bg-green-100 text-green-700">🟢 En cours de traitement</span>
|
|
@endif
|
|
@if ($suggestion->GiteaIssueNumber)
|
|
<span class="text-xs text-gray-400">Ticket n°{{ $suggestion->GiteaIssueNumber }}</span>
|
|
@endif
|
|
</div>
|
|
<h1 class="text-3xl font-bold text-gray-900">{{ $suggestion->Titre }}</h1>
|
|
<p class="text-sm text-gray-500 mt-1">Envoyée le {{ $suggestion->DateCreation->format('d/m/Y à H\hi') }}</p>
|
|
</div>
|
|
|
|
<!-- Messages -->
|
|
@if (session('success'))
|
|
<div class="mb-6 p-4 bg-green-50 border border-green-200 rounded-lg">
|
|
<p class="text-green-700 font-semibold">✅ {{ session('success') }}</p>
|
|
</div>
|
|
@endif
|
|
@if ($errors->any())
|
|
<div class="mb-6 p-4 bg-red-50 border border-red-200 rounded-lg">
|
|
@foreach ($errors->all() as $error)
|
|
<p class="text-red-700 text-sm">{{ $error }}</p>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
|
|
<!-- Ma demande -->
|
|
<div class="bg-white rounded-xl border-2 border-niagara p-6 mb-6">
|
|
<p class="text-xs font-bold text-niagara uppercase mb-2">Votre demande</p>
|
|
<p class="text-gray-800 whitespace-pre-line">{{ $suggestion->Description }}</p>
|
|
</div>
|
|
|
|
<!-- Fil de discussion -->
|
|
<h2 class="text-xl font-bold text-gray-900 mb-4">
|
|
Réponses {{ count($commentaires) > 0 ? '('.count($commentaires).')' : '' }}
|
|
</h2>
|
|
|
|
@forelse ($commentaires as $commentaire)
|
|
<div class="bg-white rounded-xl border border-gray-200 p-5 mb-3">
|
|
<div class="flex items-center gap-2 mb-2">
|
|
<img
|
|
src="https://ui-avatars.com/api/?name={{ urlencode($commentaire['auteur']) }}&background=06989e&color=fff&size=32"
|
|
alt=""
|
|
class="w-8 h-8 rounded-full"
|
|
>
|
|
<span class="font-bold text-gray-900 text-sm">{{ $commentaire['auteur'] }}</span>
|
|
@if ($commentaire['date'])
|
|
<span class="text-xs text-gray-400">· {{ \Illuminate\Support\Carbon::parse($commentaire['date'])->format('d/m/Y à H\hi') }}</span>
|
|
@endif
|
|
</div>
|
|
<p class="text-gray-800 text-sm whitespace-pre-line">{{ $commentaire['corps'] }}</p>
|
|
</div>
|
|
@empty
|
|
<div class="bg-gray-50 rounded-xl border border-dashed border-gray-300 p-6 mb-3 text-center">
|
|
<p class="text-gray-500 text-sm">
|
|
Pas encore de réponse de l'équipe — vous serez notifié ici dès qu'une réponse sera publiée.
|
|
</p>
|
|
</div>
|
|
@endforelse
|
|
|
|
<!-- Répondre -->
|
|
@if ($suggestion->GiteaIssueNumber && ($issue['state'] ?? 'open') !== 'closed')
|
|
<form action="{{ route('suggestions.repondre', $suggestion) }}" method="POST" class="bg-white rounded-xl border border-gray-200 p-6 mt-6">
|
|
@csrf
|
|
<label for="message" class="block text-sm font-bold mb-2 text-gray-700">Répondre sur le ticket</label>
|
|
<textarea
|
|
id="message"
|
|
name="message"
|
|
required
|
|
minlength="2"
|
|
maxlength="2000"
|
|
rows="4"
|
|
placeholder="Apportez une précision, répondez à l'équipe…"
|
|
class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-niagara outline-none @error('message') border-red-500 @enderror">{{ old('message') }}</textarea>
|
|
@error('message')
|
|
<p class="text-red-600 text-xs mt-1">{{ $message }}</p>
|
|
@enderror
|
|
<button type="submit" class="mt-3 px-6 py-2.5 font-bold gradient-niagara text-white rounded-lg hover:shadow-lg transition-smooth duration-200">
|
|
📨 Envoyer ma réponse
|
|
</button>
|
|
</form>
|
|
@elseif (($issue['state'] ?? null) === 'closed')
|
|
<p class="text-sm text-gray-500 mt-6 text-center">
|
|
Cette suggestion a été traitée : le ticket est clôturé. Merci pour votre contribution !
|
|
</p>
|
|
@endif
|
|
</div>
|
|
</section>
|
|
@endsection
|