feat: sort photos by capture date with configurable default sort (#283)

Add per-event default photo sort setting with 6 options:
- Upload Date (Newest/Oldest First)
- Date Taken (Newest/Oldest First) — uses EXIF captured_at
- Filename (A-Z / Z-A)

Backend:
- Migration 077 adds default_photo_sort column to events table
- Event create/update handlers accept and validate the setting
- Gallery info endpoint returns default_photo_sort for frontend

Frontend:
- "Date Taken" added to gallery sort dropdown (alongside Date, Name,
  Size, Rating)
- Gallery initializes with event's default sort instead of hardcoded
  "date"
- "Default Photo Sort" dropdown in event create and edit forms
- Photos without EXIF dates fall back to upload date

i18n: All 5 locales (EN, DE, NL, PT, RU) updated with sort labels.

Closes #283
This commit is contained in:
Paul Nothaft
2026-04-09 15:10:51 +02:00
parent b23c51b386
commit 633d4a0f30
15 changed files with 192 additions and 10 deletions
+2
View File
@@ -40,6 +40,7 @@ interface CreateEventData {
moderate_comments?: boolean;
show_feedback_to_guests?: boolean;
photo_cap?: number | null;
default_photo_sort?: string;
}
interface UpdateEventData {
@@ -60,6 +61,7 @@ interface UpdateEventData {
source_mode?: 'managed' | 'reference';
external_path?: string | null;
photo_cap?: number | null;
default_photo_sort?: string;
}
interface EventsListResponse {