#5212 "Plain labels: no raw ids, scopes, metric keys or unexplained jargon", batch 3: - Disk page: each tile says what it holds. "Writable layers" becomes "Container files" and Build cache says it is safe to clear. Shared is "Shared with other images" with a tooltip, and "dangling" is gone. Untagged images show by id instead of "<none>", a capped list says "The 50 largest of N images", and each host shows "as of" its report. - Traefik: an expired certificate reads "expired 12 days ago", not "-12 days" (cert_left). The Traffic empty state knows whether the access log is on: off points to Settings → Plugins → Traefik; on says to check the mounted log path. - Moments use |ago with an exact UTC tooltip: UniFi last seen, alarms, events, speed test and DPI; AI token last used. - Settings: the Auth tab is "Authentication" like its breadcrumb, plugin fields read "Metrics URL" not metrics_url (field_label), a source's pull interval is "every 1h", and the last report time drops the ISO "T". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
1.2 KiB
HTML
21 lines
1.2 KiB
HTML
{# settings/_tabs.html — include at top of each settings section.
|
||
No section <h1>: the breadcrumb kicker ("Settings › …") names the section and
|
||
the tab strip is the visual header, so we don't stack a redundant title. #}
|
||
<div style="display:flex;gap:0;border-bottom:1px solid var(--border-mid);margin-bottom:1.5rem;">
|
||
{% set tabs = [
|
||
("general", "General", "/settings/general/"),
|
||
("thresholds", "Thresholds & Retention", "/settings/thresholds/"),
|
||
("notifications", "Notifications", "/settings/notifications/"),
|
||
("reports", "Reports", "/settings/reports/"),
|
||
("auth", "Authentication", "/settings/auth/"),
|
||
("ansible", "Ansible", "/settings/ansible/"),
|
||
("plugins", "Plugins", "/settings/plugins/"),
|
||
] %}
|
||
{% for key, label, href in tabs %}
|
||
<a href="{{ href }}"
|
||
style="padding:0.6rem 1.1rem;font-size:0.875rem;border-bottom:2px solid {{ 'var(--accent)' if active_tab == key else 'transparent' }};color:{{ 'var(--text)' if active_tab == key else 'var(--text-muted)' }};font-weight:{{ '500' if active_tab == key else 'normal' }};text-decoration:none;">
|
||
{{ label }}
|
||
</a>
|
||
{% endfor %}
|
||
</div>
|