graph, search, api_catalog pages: back/forward history stack (PanelNav/dpNav). File artifact paths open in external tabs via card.repo (Gitea source URL) or card.docs (cargo docs for .rs) — openFile/openFileInPanel removed from all pages. Tera | safe required for URL values inside <script> blocks (auto-escape of slashes). card.ncl: repo field added. insert_brand_ctx: injects card_repo/card_docs into Tera context. #[onto_api] proc-macro: source_file = file!() emitted; ApiRouteEntry.source_file populated in primary catalog handler. migration 0007-card-repo-field: check card.ncl for repo field; skip if absent.
13 lines
673 B
HTML
13 lines
673 B
HTML
{% import "macros/ui.html" as m %}
|
|
<div class="stats stats-horizontal shadow w-full mb-4 bg-base-200 overflow-x-auto"
|
|
id="dash-stats"
|
|
hx-get="{{ base_url }}/stats"
|
|
hx-trigger="every 10s"
|
|
hx-swap="outerHTML">
|
|
{{ m::stat(title="Uptime", value=uptime_secs ~ "s", desc="seconds since start") }}
|
|
{{ m::stat(title="Cache entries", value=cache_entries) }}
|
|
{{ m::stat(title="Cache hit rate", value=cache_hit_rate, desc=cache_hits ~ " hits / " ~ cache_misses ~ " misses", accent="success") }}
|
|
{{ m::stat(title="Sessions", value=active_actors, accent="primary") }}
|
|
{{ m::stat(title="Notifications", value=notification_count, accent="warning") }}
|
|
</div>
|