{# RustIO Console — slim workspace header: workspace id on the start,
# a centered global search, and actions on the end. #}
<header class="rio-wshead" role="banner">
<div class="rio-ws-id">
<strong>{{ app_name }}</strong>
<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg>
<span class="rio-devpill rio-devpill--{{ environment_kind }}">{{ environment_label }}</span>
</div>
<button type="button" class="rio-ws-search" data-rio-search-trigger aria-label="Search records (Command-K)">
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg>
<span class="rio-ws-search-label">Search {{ app_name }}…</span>
<span class="rio-kbd">⌘K</span>
</button>
<div class="rio-ws-actions">
<a class="rio-iconbtn" href="/admin/notifications" aria-label="Notifications">
<svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9a6 6 0 1 1 12 0c0 5 2 6 2 6H4s2-1 2-6Z"/><path d="M10.5 19a1.7 1.7 0 0 0 3 0"/></svg>
</a>
<button class="rio-iconbtn" id="themeToggle" type="button" aria-label="Toggle theme">
<svg class="rio-theme-moon" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.8A8.5 8.5 0 1 1 11.2 3a6.5 6.5 0 0 0 9.8 9.8Z"/></svg>
<svg class="rio-theme-sun" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="display:none"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M19.1 4.9l-1.4 1.4M6.3 17.7l-1.4 1.4"/></svg>
</button>
<a class="rio-btn rio-btn--subtle rio-btn--sm" href="/admin/docs">
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M14 4h6v6"/><path d="M20 4 10 14"/><path d="M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/></svg>
Docs
</a>
{% if identity %}
<div class="rio-usermenu rio-dropdown" data-rio-dropdown>
<button class="rio-dropdown-toggle rio-usermenu-btn" type="button" aria-haspopup="true" aria-expanded="false" aria-label="Account menu">
<span class="rio-usermenu-avatar">{{ identity.email | first | upper }}</span>
<span class="rio-usermenu-name">{{ identity.email }}</span>
<svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"/></svg>
</button>
<div class="rio-dropdown-panel rio-usermenu-panel" role="menu">
<div class="rio-usermenu-head">
<span class="rio-usermenu-head-name">{{ identity.email }}</span>
<span class="rio-usermenu-head-role">{{ identity.role_label | default(identity.role | default("")) }}</span>
</div>
<div class="rio-usermenu-sep" aria-hidden="true"></div>
<a class="rio-usermenu-item" href="/admin/account/sessions" role="menuitem">{{ icon("clock") }} Active sessions</a>
<a class="rio-usermenu-item" href="/admin/password_change" role="menuitem">{{ icon("key") }} Change password</a>
<a class="rio-usermenu-item" href="/admin/account/mfa/enroll" role="menuitem">{{ icon("users") }} Two-factor authentication</a>
<div class="rio-usermenu-sep" aria-hidden="true"></div>
<a class="rio-usermenu-item rio-usermenu-item--danger" href="/admin/logout" role="menuitem">{{ icon("log-out") }} Sign out</a>
</div>
</div>
{% endif %}
</div>
</header>