diff options
Diffstat (limited to 'templates/import.html')
| -rw-r--r-- | templates/import.html | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/templates/import.html b/templates/import.html new file mode 100644 index 0000000..50c27d6 --- /dev/null +++ b/templates/import.html @@ -0,0 +1,108 @@ +{% extends "base.html" %} + +{% block title %}Import · Lumière{% endblock %} + +{% block content %} + <section class="form-shell narrow"> + <div class="form-heading"> + <p class="eyebrow">Letterboxd</p> + <h1>Import diary CSV</h1> + </div> + + {% if error %} + <div class="notice error">{{ error }}</div> + {% endif %} + + <form class="film-form" method="post" action="/import/letterboxd" enctype="multipart/form-data"> + <div class="field"> + <label for="file">CSV export</label> + <input id="file" name="file" type="file" accept=".csv,text/csv" required> + </div> + + <div class="form-actions"> + <a href="/">Cancel</a> + <button type="submit">Import entries</button> + </div> + </form> + </section> + + <section class="form-shell narrow data-tools"> + <div class="form-heading compact-heading"> + <p class="eyebrow">Queue</p> + <h1>Import watchlist CSV</h1> + </div> + + <form class="film-form" method="post" action="/import/watchlist" enctype="multipart/form-data"> + <div class="field"> + <label for="watchlist-file">Watchlist CSV</label> + <input id="watchlist-file" name="file" type="file" accept=".csv,text/csv" required> + </div> + + <div class="form-actions"> + <a href="/queue">Cancel</a> + <button type="submit">Import to queue</button> + </div> + </form> + </section> + + <section class="form-shell narrow data-tools"> + <div class="form-heading compact-heading"> + <p class="eyebrow">TMDB</p> + <h1>Fetch missing posters</h1> + </div> + + <p class="muted"> + Match imported films against TMDB and fill blank posters plus missing metadata. + </p> + + <form class="film-form" method="post" action="/data/enrich-posters"> + <div class="form-actions"> + <button type="submit">Fetch missing posters</button> + </div> + </form> + </section> + + <section class="form-shell narrow data-tools"> + <div class="form-heading compact-heading"> + <p class="eyebrow">Data</p> + <h1>Clear duplicates</h1> + </div> + + <p class="muted"> + Remove repeated imports that match the same film and watched date, keeping the oldest entry. + </p> + + <form + class="film-form" + method="post" + action="/data/clear-duplicates" + data-confirm="Remove duplicate film entries? Lumière will keep the oldest entry for each film/date." + > + <div class="form-actions"> + <button type="submit">Clear duplicates</button> + </div> + </form> + </section> + + <section class="form-shell narrow danger-zone"> + <div class="form-heading compact-heading"> + <p class="eyebrow">Data</p> + <h1>Clear diary</h1> + </div> + + <p class="muted"> + Remove every film entry from Lumière and reset the local database counter. + </p> + + <form + class="film-form" + method="post" + action="/data/clear" + data-confirm="Clear all Lumière film data? This cannot be undone." + > + <div class="form-actions"> + <button class="danger-button" type="submit">Clear all data</button> + </div> + </form> + </section> +{% endblock %} |
