@props(['incident']) {{-- An incident's updates, newest first — the convention every status page follows, because the thing a reader wants first is how it ended. Shared between the ongoing block at the top of the page and the archive at the bottom: the same incident should not look like two different kinds of record depending on whether it is over. --}} @php $stageTone = [ 'investigating' => 'bg-warning-bg text-warning border-warning-border', 'identified' => 'bg-info-bg text-info border-info-border', 'monitoring' => 'bg-info-bg text-info border-info-border', 'resolved' => 'bg-success-bg text-success border-success-border', ]; @endphp
@forelse ($incident->updates as $update)
{{ __("status.incident.stage.{$update->status}") }}
{{-- nl2br over a plain string, not raw HTML: an update is typed into a textarea by an operator under time pressure, and the one page that has to be trustworthy is not the place to start rendering whatever was pasted into it. --}}

{!! nl2br(e($update->body)) !!}

@empty

{{ __("status.incident.stage.investigating") }}

@endforelse