feat: show invite expiration status in UI

Signed-off-by: Miguel Nogueira <me@nogueira.codes>
This commit is contained in:
2025-08-07 22:29:42 +01:00
parent 298a8c7c47
commit 26eff56cb2

View File

@@ -50,6 +50,7 @@
<th scope="col"><i class="fas fa-clipboard-check"></i> {{ __('Status') }}</th> <th scope="col"><i class="fas fa-clipboard-check"></i> {{ __('Status') }}</th>
<th scope="col"><i class="fas fa-bell"></i> {{ __('Notified?') }}</th> <th scope="col"><i class="fas fa-bell"></i> {{ __('Notified?') }}</th>
<th scope="col"><i class="fas fa-calendar-alt"></i> {{ __('Received at') }}</th> <th scope="col"><i class="fas fa-calendar-alt"></i> {{ __('Received at') }}</th>
<th scope="col"><i class="fas fa-hourglass-end"></i> {{ __('Expiration') }}</th>
<th scope="col"><i class="fas fa-tasks"></i> {{ __('Actions') }}</th> <th scope="col"><i class="fas fa-tasks"></i> {{ __('Actions') }}</th>
</tr> </tr>
</thead> </thead>
@@ -87,6 +88,19 @@
<td> <td>
<span class="text-muted">{{ $invite->created_at->format('Y-m-d H:i') }}</span> <span class="text-muted">{{ $invite->created_at->format('Y-m-d H:i') }}</span>
</td> </td>
<td>
@php
$now = \Carbon\Carbon::now();
$expiration = $invite->expiration;
$isExpired = $expiration < $now;
$expirationDate = $expiration->format('Y-m-d H:i');
$relative = $isExpired ? __('EXPIRED') : $expiration->diffForHumans($now, ['parts' => 2, 'short' => true, 'syntax' => \Carbon\CarbonInterface::DIFF_RELATIVE_TO_NOW]);
$color = $isExpired ? 'danger' : 'info';
@endphp
<span class="badge badge-{{ $color }} text-uppercase px-3 py-2" title="{{ $expirationDate }}">
<i class="fas fa-hourglass-end"></i> {{ $relative }}
</span>
</td>
<td> <td>
@if(strtolower($invite->status) === 'pending') @if(strtolower($invite->status) === 'pending')
<form method="POST" action="{{ route('invitations.approve-invite', $invite->id) }}" style="display:inline;"> <form method="POST" action="{{ route('invitations.approve-invite', $invite->id) }}" style="display:inline;">