feat(web): deep-link-uri pe sub-taburile Setari + Primii pasi deasupra importului
Link-urile catre configurare (Acasa, Integrare, Upload) duc direct pe sub-tabul relevant (?tab=cont&subtab=rar|api); pe Acasa, ghidajul "Primii pasi" apare inaintea containerului de import. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,47 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{# === Primii pasi: DEASUPRA importului, ca ghidajul sa fie primul lucru vizibil === #}
|
||||||
|
{% set toti_esentiali = are_creds and are_trimiteri %}
|
||||||
|
{% if not toti_esentiali %}
|
||||||
|
<div class="card" style="margin-bottom:14px; padding:12px 16px;">
|
||||||
|
<div style="display:flex; gap:20px; flex-wrap:wrap; align-items:center; font-size:13px;">
|
||||||
|
<span class="muted" style="font-weight:600;">Primii pasi:</span>
|
||||||
|
|
||||||
|
{# Pas 1: Cont RAR (esential) — direct pe sub-tabul Mediu RAR din Setari #}
|
||||||
|
<span style="display:inline-flex; align-items:center; gap:6px;">
|
||||||
|
{% if are_creds %}
|
||||||
|
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="muted" aria-hidden="true">○</span>
|
||||||
|
{% endif %}
|
||||||
|
<a href="/?tab=cont&subtab=rar">Cont RAR</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{# Pas 2: Cheie API (optional) — direct pe sub-tabul Cheie API din Setari #}
|
||||||
|
<span style="display:inline-flex; align-items:center; gap:6px;">
|
||||||
|
{% if are_cheie_folosita %}
|
||||||
|
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="muted" aria-hidden="true">○</span>
|
||||||
|
{% endif %}
|
||||||
|
<a href="/?tab=cont&subtab=api">Cheie API</a>
|
||||||
|
<span class="muted">(optional)</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{# Pas 3: Import (esential) — marcat ca pas curent #}
|
||||||
|
<span style="display:inline-flex; align-items:center; gap:6px;">
|
||||||
|
{% if are_trimiteri %}
|
||||||
|
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="s-queued" aria-hidden="true" style="font-weight:bold;">●</span>
|
||||||
|
{% endif %}
|
||||||
|
<strong>Import</strong> <span class="muted">(incarca fisierul jos)</span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{# === Container colapsabil: stepper + upload intr-un singur element <details>.
|
{# === Container colapsabil: stepper + upload intr-un singur element <details>.
|
||||||
Serverul seteaza atributul `open` din are_trimiteri:
|
Serverul seteaza atributul `open` din are_trimiteri:
|
||||||
are_trimiteri=False (first-run) → open (importul e vizibil imediat, fara JS)
|
are_trimiteri=False (first-run) → open (importul e vizibil imediat, fara JS)
|
||||||
@@ -25,47 +66,6 @@
|
|||||||
{% include '_upload.html' %}
|
{% include '_upload.html' %}
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
{# === Subordonat: primii pasi pe un singur rand compact === #}
|
|
||||||
{% set toti_esentiali = are_creds and are_trimiteri %}
|
|
||||||
{% if not toti_esentiali %}
|
|
||||||
<div class="card" style="margin-top:14px; padding:12px 16px;">
|
|
||||||
<div style="display:flex; gap:20px; flex-wrap:wrap; align-items:center; font-size:13px;">
|
|
||||||
<span class="muted" style="font-weight:600;">Primii pasi:</span>
|
|
||||||
|
|
||||||
{# Pas 1: Cont RAR (esential) #}
|
|
||||||
<span style="display:inline-flex; align-items:center; gap:6px;">
|
|
||||||
{% if are_creds %}
|
|
||||||
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
|
||||||
{% else %}
|
|
||||||
<span class="muted" aria-hidden="true">○</span>
|
|
||||||
{% endif %}
|
|
||||||
<a href="/?tab=cont">Cont RAR</a>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
{# Pas 2: Cheie API (optional) #}
|
|
||||||
<span style="display:inline-flex; align-items:center; gap:6px;">
|
|
||||||
{% if are_cheie_folosita %}
|
|
||||||
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
|
||||||
{% else %}
|
|
||||||
<span class="muted" aria-hidden="true">○</span>
|
|
||||||
{% endif %}
|
|
||||||
<a href="/?tab=cont">Cheie API</a>
|
|
||||||
<span class="muted">(optional)</span>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
{# Pas 3: Import (esential) — marcat ca pas curent #}
|
|
||||||
<span style="display:inline-flex; align-items:center; gap:6px;">
|
|
||||||
{% if are_trimiteri %}
|
|
||||||
<span class="s-sent" aria-hidden="true" style="font-weight:bold;">✓</span>
|
|
||||||
{% else %}
|
|
||||||
<span class="s-queued" aria-hidden="true" style="font-weight:bold;">●</span>
|
|
||||||
{% endif %}
|
|
||||||
<strong>Import</strong> <span class="muted">(incarca fisierul sus)</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{# Sectiunea Trimiteri, permanenta sub upload.
|
{# Sectiunea Trimiteri, permanenta sub upload.
|
||||||
La first-run (zero trimiteri), randam un placeholder <section> gol/ascuns — necesar
|
La first-run (zero trimiteri), randam un placeholder <section> gol/ascuns — necesar
|
||||||
ca OOB swap-ul de la confirma sa gaseasca tinta valida in DOM si sa injecteze
|
ca OOB swap-ul de la confirma sa gaseasca tinta valida in DOM si sa injecteze
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
Lipseste o cheie API activa.
|
Lipseste o cheie API activa.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
Mergi la <a href="/?tab=cont">Meniu cont › Setari</a> pentru a le configura.
|
Mergi la <a href="/?tab=cont&subtab={{ 'rar' if not are_creds else 'api' }}">Meniu cont › Setari</a> pentru a le configura.
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="muted" style="font-size:12px; margin:10px 0 0;">
|
<p class="muted" style="font-size:12px; margin:10px 0 0;">
|
||||||
Cererile trimit doar cheia API + datele prezentarii. Credentialele RAR se configureaza
|
Cererile trimit doar cheia API + datele prezentarii. Credentialele RAR se configureaza
|
||||||
o data in <a href="/?tab=cont">Setari</a> si sunt folosite automat la trimitere. Optional,
|
o data in <a href="/?tab=cont&subtab=rar">Setari</a> si sunt folosite automat la trimitere. Optional,
|
||||||
poti include <code>rar_credentials</code> in payload ca sa le suprascrii pe acea cerere.
|
poti include <code>rar_credentials</code> in payload ca sa le suprascrii pe acea cerere.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
border:1px solid var(--warn, #e6b34a); font-size:13px;" role="note">
|
border:1px solid var(--warn, #e6b34a); font-size:13px;" role="note">
|
||||||
<strong>Niciun mediu RAR activ.</strong>
|
<strong>Niciun mediu RAR activ.</strong>
|
||||||
Activeaza mediul de Productie sau Testare in
|
Activeaza mediul de Productie sau Testare in
|
||||||
<a href="?tab=cont" style="color:var(--accent);">Meniu cont › Setari</a>.
|
<a href="/?tab=cont&subtab=rar" style="color:var(--accent);">Meniu cont › Setari › Mediu RAR</a>.
|
||||||
</div>
|
</div>
|
||||||
{% elif medii_rar | length == 1 %}
|
{% elif medii_rar | length == 1 %}
|
||||||
{# Eticheta statica (un singur mediu disponibil) #}
|
{# Eticheta statica (un singur mediu disponibil) #}
|
||||||
|
|||||||
Reference in New Issue
Block a user