Tema light ca bloc [data-theme="light"] peste variabilele :root (dark nemodificat la octet). Comutator soare/luna in header pe toate paginile, default OS-aware (prefers-color-scheme, fallback dark), persistenta in localStorage doar la comutare explicita, script anti-FOUC in <head> pre-paint. Suprafetele de stare hardcodate convertite la color-mix in base.html + 7 fragmente _*.html (light lizibil, contrast WCAG AA). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
2.9 KiB
HTML
71 lines
2.9 KiB
HTML
<div id="status-bar" class="status-bar card"
|
|
hx-get="/_fragments/status"
|
|
hx-trigger="every 15s"
|
|
hx-swap="outerHTML">
|
|
|
|
<!-- Cont in asteptare de activare (regasit din vechiul _banner; mereu vizibil) -->
|
|
{% if not account_active %}
|
|
<div style="margin-bottom:12px; padding:8px 10px; border-left:3px solid var(--warn);
|
|
background:color-mix(in srgb, var(--warn) 12%, var(--card)); border-radius:6px; font-size:13px;">
|
|
<strong>Cont in asteptare de activare.</strong>
|
|
Configureaza credentialele RAR si pregateste importul acum; trimiterea catre RAR
|
|
porneste automat dupa activare de catre administrator.
|
|
</div>
|
|
{% endif %}
|
|
|
|
<!-- Rand 1: doua bife binare + ultima autentificare -->
|
|
<div style="display:flex; gap:28px; flex-wrap:wrap; align-items:center; font-size:14px;">
|
|
|
|
{# Bifa: glifa (✓/✗) + culoare + text — accesibil (nu doar culoare, design review) #}
|
|
{% macro bifa(ok, text, tip) %}
|
|
<span title="{{ tip }}" style="display:inline-flex; align-items:center; gap:7px;">
|
|
{% if ok %}
|
|
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
|
<span class="s-sent">{{ text }}</span>
|
|
{% else %}
|
|
<span class="s-error" aria-hidden="true" style="font-weight:bold;">✗</span>
|
|
<span class="s-error">{{ text }}</span>
|
|
{% endif %}
|
|
</span>
|
|
{% endmacro %}
|
|
|
|
{{ bifa(worker_ok, worker_lbl[0], worker_lbl[1]) }}
|
|
{{ bifa(rar_ok, rar_lbl[0], rar_lbl[1]) }}
|
|
|
|
<span style="display:inline-flex; align-items:center; gap:6px;">
|
|
<span class="muted">{{ eticheta_ultima_auth }}:</span>
|
|
<span>{{ last_login }}</span>
|
|
</span>
|
|
</div>
|
|
|
|
<!-- Rand 2: contoare coada -->
|
|
<div style="margin-top:10px; display:flex; gap:20px; flex-wrap:wrap; font-size:14px;">
|
|
<span><span class="muted">In asteptare:</span> <span class="s-queued">{{ counts_queued }}</span></span>
|
|
<span><span class="muted">Declarate la RAR:</span> <span class="s-sent">{{ counts_sent }}</span></span>
|
|
<span><span class="muted">Blocate:</span>
|
|
<span class="{{ 's-error' if blocate_total else 'muted' }}">{{ blocate_total }}</span>
|
|
</span>
|
|
</div>
|
|
|
|
<!-- Defalcare blocate pe motiv (doar daca exista) -->
|
|
{% if blocate_defalcat %}
|
|
<div style="margin-top:12px; padding-top:10px; border-top:1px solid var(--line);">
|
|
<div style="font-size:13px; font-weight:600; margin-bottom:6px;">Necesita atentia ta</div>
|
|
<div style="display:flex; gap:16px; flex-wrap:wrap;">
|
|
{% for eticheta, n in blocate_defalcat %}
|
|
{% if n > 0 %}
|
|
<div>
|
|
<span class="{{ eticheta[2] }}" style="font-size:13px;">{{ eticheta[0] }}</span>
|
|
<span class="muted" style="font-size:13px; margin-left:4px;">({{ n }})</span>
|
|
{% if eticheta[1] %}
|
|
<div class="muted" style="font-size:13px; max-width:240px;">{{ eticheta[1] }}</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|