{{--
The wireframe's status pill for an `is_active` boolean —
docs/wireframes-v12/booking-type.html (~line 142) and
customer-doc-type.html (~line 189), which both write:
Active
Every row those two wireframes draw is Active, so the pack never shows the
other half. `badge-secondary` is what the false case renders as: it is one
of the seven tones v12's stylesheet actually declares (style.css 379-385),
it is the muted one, and style.css colours its `.dot` too. Not
`badge-danger` — an inactive master is switched off, not broken — and not
`badge-light`, which v12 has no rule for at all and would render as an
unpainted pill (the trap recipe §0 records).
Two class names come out of here and they mean different things, the way
explains for the domain statuses: the tone carries the
colour, and `status-active` / `status-inactive` carries the identity so a
test or a later filter can address the pill by what it IS rather than by the
colour it came out as.
Nothing user-supplied reaches this file: the only input is a boolean, and
both words are lang lookups.
Why not ? That component normalises its argument against
three canonical *status* enums and falls back to "unknown" for anything
else. `is_active` is a boolean flag with no lifecycle (CR-7 decision D2) and
is not a member of any of them, so feeding it in would render "Unknown"
twice. Same markup, same tokens, different question.
Props:
active — the boolean. Anything falsy renders the Inactive pill.
--}}
@props(['active' => true])
@php
$isActive = (bool) $active;
$key = $isActive ? 'active' : 'inactive';
$tone = $isActive ? 'success' : 'secondary';
@endphp
merge(['class' => 'badge badge-'.$tone.' status-'.$key]) }}>{{ __('nrems.active_flag.'.$key) }}