{{--
The Bookings module's status pill.
Confirmed
Included, never a component:
@include('bookings.partials.status-badge', ['status' => $booking->status])
@include('bookings.partials.status-badge', ['status' => $booking->status, 'badgeClass' => 'bk-show-badge'])
## Why this is not
That component is the shared one and its markup is exactly this โ but it
reads its label from `lang/en/nrems.php`, and **CR-8 ยง0.1 is the client's
instruction that this module has no lang entries at all**. A booking pill
rendered through it would print "nrems.status.draft".
So the module draws its own, on the same class names: `badge-{tone}` is the
wireframe's colour (BookingStatus::badgeTone(), which is the half of
StatusBadge::TONES that belongs here) and `status-{value}` is the identity
hook โ nothing styles it; it exists so a pill can be addressed by *what it
is* rather than by the colour it came out as. See block 7 of the
app-additions tail of nrems-wireframe.css.
Nothing user-supplied can reach this file: `$status` is a BookingStatus, so
both the tone and the label are values of a closed enum, and `$badgeClass`
is a literal written by the including view. It is therefore safe behind the
listing's rawColumns(['status']).
--}}
@php
/** @var \App\Enums\BookingStatus|null $status */
$status = $status ?? null;
$tone = $status?->badgeTone() ?? 'secondary';
@endphp
{{ $status?->label() ?? 'โ' }}