{% extends "admin_base.html" %} {% from "macros/ui.html" import course_switcher, delete_button, styled_field %} {% set active_page = 'admin' %} {% set title = 'Deck Admin' %} {# Override left nav to include course switcher #} {% block nav_left_extra %} {{ course_switcher(courses, active_course_name, '/admin/switch_course', '-admin') }} {% endblock %} {% block admin_content %}
{# ── Deck Form + Decks ─────────────────────────────────────── #}

Add New Deck

{{ deck_form.hidden_tag() }} {{ styled_field(deck_form.name) }} {{ styled_field(deck_form.deck, {'multiple': true}) }} {{ styled_field(deck_form.description) }}
{{ deck_form.submit_deck(class="w-full bg-primary hover:bg-blue-700 text-white py-2 px-4 rounded-lg") }}

Existing Decks

{% if decks %}
{% for deck in decks %} {% endfor %}
Name Passwords Action
{{ deck.name }} {% if deck.passwords %}
    {% for password in deck.passwords %}
  • {{ password.value }}
  • {% endfor %}
{% else %} None {% endif %}
{{ delete_button(url_for('admin.delete_deck', deck_id=deck.id)) }}
{% else %}

No decks available.

{% endif %}
{# ── Password Form + Passwords ──────────────────────────────── #}

Add New Password

{{ password_form.hidden_tag() }} {{ styled_field(password_form.value) }} {{ styled_field(password_form.expires_at, {'type': 'datetime-local'}) }} {{ styled_field(password_form.decks) }}
{{ password_form.submit_password(class="w-full bg-primary hover:bg-blue-700 text-white py-2 px-4 rounded-lg") }}

Existing Passwords

{% if passwords %}
{% for password in passwords %} {% endfor %}
Password Expires Decks Action
{{ password.value }} {{ password.expires_at }} {% if password.decks %}
    {% for deck in password.decks %}
  • {{ deck.name }}
  • {% endfor %}
{% else %} None {% endif %}
{{ delete_button(url_for('admin.delete_password', password_id=password.id)) }}
{% else %}

No passwords available.

{% endif %}
{% endblock admin_content %} {% block scripts_extra %} {% endblock %}