*/ public array $links = []; public function __construct( /** Whether the viewer is a staff account. Listeners that only make * sense for staff should check this rather than assume. */ public readonly bool $isStaff, ) {} /** * `external` opens in a new tab and marks the link as leaving this * installation — a link that navigates a person away from the app * they are working in should say so before they click it, not after. */ public function add(string $title, string $url, bool $external = false, ?string $icon = null): void { $this->links[] = [ 'title' => $title, 'url' => $url, 'external' => $external, 'icon' => $icon, ]; } }