{% extends "recipe_hub/base_recipe_hub.html" %} {% block recipe_hub_content %}

Batch Import

Dry folder: {{ total }} total · {{ done }} processed · {{ pending }} pending
{% if not has_api_key %}
No API key configured. Set your Claude/OpenAI key in Settings.
{% endif %} {# Progress panel — hidden until processing starts #}
Processing...
{# Tabs #}
{# ── TAB 1: MANUAL UPLOAD ── #}
Drop PDFs here or click to browse
Up to 25 files at once
Selected: 0 files
{# ── TAB 2: DRY FOLDER QUEUE ── #}
{% if not pending %}
All {{ total }} recipes in the dry folder have been processed.
{% else %}
Select up to 25 · 0 selected
{% for cuisine, pdfs in by_cuisine.items() %} {% set cidx = loop.index %}
{{ cuisine }} {{ pdfs|length }}
{% for pdf in pdfs %}
{{ pdf.name }} {% if pdf.category %} {{ pdf.category }} {% endif %} {% if pdf.imported %} {% if pdf.import_exists %} ✓ Imported {% else %} Attempted {% endif %} {% endif %}
{% endfor %}
{% endfor %} {% endif %}
{% endblock %}