🔒 Repository is read-only – file editing is disabled.

PaganLinux/pagan-web-v2/templates/admin/content.html main

62 linii Raw ← Powrót
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
{% extends "base.html" %}{% block title %} Treści strony – PaganOS{% endblock %}
{% block content %}
{% include "admin/nav.html" %}

<div class="card">
 <div class="card-header" style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem">
 <h2> Treści całej strony</h2>
 <span style="font-size:0.8rem;color:var(--muted)">
 {{ total }} kluczy · zmodyfikowanych: {{ modified_count }}
 </span>
 </div>
 <div style="padding:0.75rem 1rem;border-bottom:1px solid var(--border)">
 <form method="GET" action="/admin/content" style="display:flex;gap:0.5rem;flex-wrap:wrap">
 <input name="q" value="{{ q }}" placeholder=" Szukaj klucza lub treści..." style="flex:1;min-width:220px;padding:0.45rem;background:#0d1117;border:1px solid var(--border);color:#fff;font-size:0.85rem;border-radius:3px">
 <button class="btn btn-sm">Szukaj</button>
 {% if q %}<a class="btn btn-sm" href="/admin/content"> Wyczyść</a>{% endif %}
 </form>
 <p style="font-size:0.78rem;color:var(--muted);margin:0.5rem 0 0">
 Każdy tekst strony (nagłówki, opisy, przyciski) można zmienić tutaj. Zapisane wartości mają
 pierwszeństwo nad domyślnymi. „↩ Przywróć" usuwa nadpisanie i wraca do domyślnego tłumaczenia.
 </p>
 </div>

 {% if not groups %}
 <p style="padding:1.5rem;text-align:center;color:var(--muted)">Brak wyników dla „{{ q }}".</p>
 {% endif %}

 {% for section, items in groups.items() %}
 <div style="padding:0.5rem 1rem 0.25rem;border-bottom:1px solid var(--border)">
 <div style="font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--accent);margin:0.75rem 0 0.25rem">▸ sekcja: {{ section }} ({{ items|length }})</div>
 {% for it in items %}
 <form method="POST" action="/admin/content/save" id="k-{{ it.key }}" style="border:1px solid var(--border);border-radius:var(--radius-sm);padding:0.75rem;margin:0.5rem 0;background:#0d1117">
 <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
 <input type="hidden" name="key" value="{{ it.key }}">
 <div style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.4rem">
 <code style="font-size:0.82rem;color:var(--accent)">{{ it.key }}</code>
 <span style="display:flex;gap:0.3rem;flex-wrap:wrap">
 {% if it.modified %}<span class="badge" style="background:#f8514920;color:#f85149;border:1px solid #f85149;border-radius:3px;font-size:0.65rem;padding:0.1rem 0.4rem"> zmodyfikowane</span>{% endif %}
 <button class="btn btn-sm" style="background:var(--accent);color:#000"> Zapisz</button>
 {% if it.modified %}
 <button class="btn btn-sm" style="border-color:var(--border)" formaction="/admin/content/reset/{{ it.key }}" formmethod="POST" onclick="return confirm('Przywrócić domyślne dla {{ it.key }}?')">↩ Przywróć</button>
 {% endif %}
 </span>
 </div>
 <div style="display:grid;grid-template-columns:1fr 1fr;gap:0.5rem">
 <div>
 <label style="font-size:0.7rem;color:var(--muted)"> PL</label>
 <textarea name="pl" rows="2" style="width:100%;font-size:0.8rem;background:#0a0a0a;color:#e6edf3;border:1px solid var(--border);border-radius:3px;padding:0.4rem">{{ it.pl_val }}</textarea>
 <div style="font-size:0.68rem;color:#555;margin-top:0.15rem">domyślne: {{ it.pl_default }}</div>
 </div>
 <div>
 <label style="font-size:0.7rem;color:var(--muted)"> EN</label>
 <textarea name="en" rows="2" style="width:100%;font-size:0.8rem;background:#0a0a0a;color:#e6edf3;border:1px solid var(--border);border-radius:3px;padding:0.4rem">{{ it.en_val }}</textarea>
 <div style="font-size:0.68rem;color:#555;margin-top:0.15rem">default: {{ it.en_default }}</div>
 </div>
 </div>
 </form>
 {% endfor %}
 </div>
 {% endfor %}
</div>
{% endblock %}