Files
movies-diary/crates/adapters/template-askama/templates/new_review.html
Gabriel Kaszewski 29cc68b07c
Some checks failed
CI / Check / Test (push) Failing after 27m0s
feat: add WatchMedium field, general review editing, configurable deploy
- WatchMedium enum (cinema/streaming/tv/physical_media/download/media_server/other)
- PATCH /api/v1/reviews/:id partial update (rating, comment, watched_at, watch_medium)
- edit_review use case w/ ownership + remote review guard, best-effort AP Update broadcast
- SPA: icon picker, edit sheet (long-press mobile / pencil desktop), watch medium badge
- shared ReviewFormFields, EditableContextMenu, parse_watched_at/format_watched_at
- deploy.sh parameterized (--features, --tag), CORS allows PATCH
- CONTEXT.md glossary, ADR-0001 general review editing
2026-07-10 00:01:14 +02:00

55 lines
1.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "base.html" %}
{% block content %}
<h1>Log a Review</h1>
{% if let Some(err) = error %}
<p class="error">{{ err }}</p>
{% endif %}
<form method="POST" action="/reviews">
<label>
OMDB ID <span class="optional">(optional)</span><br>
<input type="text" name="external_metadata_id" placeholder="tt0166924">
</label>
<hr>
<label>
Title<br>
<input type="text" name="manual_title">
</label>
<label>
Year<br>
<input type="number" name="manual_release_year" min="1888" max="2100">
</label>
<label>
Director<br>
<input type="text" name="manual_director">
</label>
<hr>
<label>
Rating (05)<br>
<input type="number" name="rating" min="0" max="5" required>
</label>
<label>
Watched<br>
<input type="date" name="watched_at" required>
</label>
<label>
Comment<br>
<textarea name="comment"></textarea>
</label>
<label>
Watched via <span class="optional">(optional)</span><br>
<select name="watch_medium">
<option value=""></option>
<option value="cinema">Cinema</option>
<option value="streaming">Streaming</option>
<option value="tv">TV</option>
<option value="physical_media">Physical Media</option>
<option value="download">Download</option>
<option value="media_server">Media Server</option>
<option value="other">Other</option>
</select>
</label>
<input type="hidden" name="_csrf" value="{{ ctx.csrf_token }}">
<button type="submit">Log Review</button>
</form>
{% endblock %}