Deploy Ladill Meet / deploy (push) Successful in 51s
List org summaries with status and preview, wire sidebar navigation, and link back from the individual summary view.
59 lines
2.9 KiB
PHP
59 lines
2.9 KiB
PHP
<x-app-layout title="AI Summaries">
|
|
<div class="flex items-center justify-between">
|
|
<div>
|
|
<h1 class="text-xl font-semibold text-slate-900">AI Summaries</h1>
|
|
<p class="mt-1 text-sm text-slate-500">Meeting summaries, decisions, and action items from your sessions.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 space-y-2">
|
|
@forelse ($summaries as $summary)
|
|
@php
|
|
$title = $summary->session?->room?->title ?? 'Meeting';
|
|
$status = $summary->status ?? 'ready';
|
|
$statusLabel = match ($status) {
|
|
'ready' => 'Ready',
|
|
'processing' => 'Processing',
|
|
'failed' => 'Failed',
|
|
default => ucfirst((string) $status),
|
|
};
|
|
$statusClass = match ($status) {
|
|
'ready' => 'bg-emerald-50 text-emerald-700',
|
|
'processing' => 'bg-amber-50 text-amber-800',
|
|
'failed' => 'bg-rose-50 text-rose-700',
|
|
default => 'bg-slate-100 text-slate-600',
|
|
};
|
|
$preview = \Illuminate\Support\Str::limit(trim((string) $summary->summary), 140);
|
|
@endphp
|
|
<div class="flex items-center justify-between gap-4 rounded-2xl border border-slate-200 bg-white p-4">
|
|
<div class="min-w-0">
|
|
<div class="flex flex-wrap items-center gap-2">
|
|
<h3 class="font-medium text-slate-900">{{ $title }}</h3>
|
|
<span class="inline-flex rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide {{ $statusClass }}">
|
|
{{ $statusLabel }}
|
|
</span>
|
|
</div>
|
|
<p class="mt-0.5 text-sm text-slate-500">
|
|
{{ $summary->created_at?->format('M j, Y g:i A') }}
|
|
@if ($summary->actionItems->isNotEmpty())
|
|
· {{ $summary->actionItems->count() }} action item{{ $summary->actionItems->count() === 1 ? '' : 's' }}
|
|
@endif
|
|
</p>
|
|
@if ($preview !== '')
|
|
<p class="mt-2 line-clamp-2 text-sm text-slate-600">{{ $preview }}</p>
|
|
@endif
|
|
</div>
|
|
<div class="btn-group shrink-0">
|
|
<x-btn :href="route('meet.summaries.show', $summary)" variant="link" size="sm" plain>View</x-btn>
|
|
</div>
|
|
</div>
|
|
@empty
|
|
<p class="rounded-2xl border border-dashed border-slate-200 bg-white p-8 text-center text-sm text-slate-500">
|
|
No AI summaries yet. Summaries appear after meetings end when auto-summary is enabled.
|
|
</p>
|
|
@endforelse
|
|
</div>
|
|
|
|
<div class="mt-4">{{ $summaries->links() }}</div>
|
|
</x-app-layout>
|