Some checks failed
CI / Check / Test (push) Failing after 27m0s
- 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
55 lines
1.5 KiB
HTML
55 lines
1.5 KiB
HTML
{% 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 (0–5)<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 %}
|