Add hero sections to Queue index pages and soften analytics cards.
Deploy Ladill Queue / deploy (push) Successful in 36s

Introduce shared x-qms.page-hero with summary stats across queues,
tickets, counters, admin pages, and insights; remove bordered cards on
Analytics, Reports, Feedback, and Branches list views.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-06 07:32:10 +00:00
co-authored by Cursor
parent 29bf896f21
commit bf879d6abe
26 changed files with 850 additions and 526 deletions
+34 -26
View File
@@ -1,29 +1,37 @@
<x-app-layout title="Customer feedback">
<div class="mb-6">
<h1 class="text-2xl font-semibold">Customer feedback</h1>
<p class="mt-1 text-sm text-slate-600">Average rating: {{ $avgRating ?: '—' }} / 5</p>
<div class="space-y-6">
<x-qms.page-hero
badge="Ratings · Comments · Service quality"
title="Customer feedback"
description="Reviews collected after service — track average ratings and read customer comments by ticket."
:stats="[
['value' => number_format($heroStats['total']), 'label' => 'Responses'],
['value' => $heroStats['avg_rating'] ?: '—', 'label' => 'Avg rating'],
['value' => number_format($heroStats['this_month']), 'label' => 'This month'],
]" />
<div class="overflow-hidden rounded-2xl bg-white">
<table class="min-w-full divide-y divide-slate-200">
<thead class="bg-slate-50"><tr>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Ticket</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Rating</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Comments</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">When</th>
</tr></thead>
<tbody class="divide-y divide-slate-200">
@forelse ($feedback as $item)
<tr>
<td class="px-4 py-3 text-sm">{{ $item->ticket?->ticket_number }}</td>
<td class="px-4 py-3 text-sm">{{ $item->rating }}/5</td>
<td class="px-4 py-3 text-sm text-slate-600">{{ Str::limit($item->comments, 80) }}</td>
<td class="px-4 py-3 text-sm">{{ $item->created_at->diffForHumans() }}</td>
</tr>
@empty
<tr><td colspan="4" class="px-6 py-12 text-center text-sm text-slate-500">No feedback yet.</td></tr>
@endforelse
</tbody>
</table>
</div>
<div>{{ $feedback->links() }}</div>
</div>
<div class="overflow-hidden rounded-2xl border bg-white dark:border-slate-700 dark:bg-slate-900">
<table class="min-w-full divide-y divide-slate-200">
<thead class="bg-slate-50"><tr>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Ticket</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Rating</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">Comments</th>
<th class="px-4 py-3 text-left text-xs font-semibold uppercase text-slate-500">When</th>
</tr></thead>
<tbody class="divide-y divide-slate-200">
@forelse ($feedback as $item)
<tr>
<td class="px-4 py-3 text-sm">{{ $item->ticket?->ticket_number }}</td>
<td class="px-4 py-3 text-sm">{{ $item->rating }}/5</td>
<td class="px-4 py-3 text-sm text-slate-600">{{ Str::limit($item->comments, 80) }}</td>
<td class="px-4 py-3 text-sm">{{ $item->created_at->diffForHumans() }}</td>
</tr>
@empty
<tr><td colspan="4" class="px-6 py-12 text-center text-sm text-slate-500">No feedback yet.</td></tr>
@endforelse
</tbody>
</table>
</div>
<div class="mt-4">{{ $feedback->links() }}</div>
</x-app-layout>