From 50b6f807fc886b475d1670057a77a66e9d784901 Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 12 Jun 2026 23:01:37 +0200 Subject: [PATCH] feat(timeline): add EventType enum MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PERSONAL/HISTORICAL classify a curated timeline event. The string value names are a stable frontend styling contract (family vs. muted world accent) — no mapping layer; renaming requires a coordinated frontend change. First piece of the new timeline domain (Zeitstrahl, issue #774). Co-Authored-By: Claude Fable 5 --- .../familienarchiv/timeline/EventType.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/timeline/EventType.java diff --git a/backend/src/main/java/org/raddatz/familienarchiv/timeline/EventType.java b/backend/src/main/java/org/raddatz/familienarchiv/timeline/EventType.java new file mode 100644 index 00000000..f392f3c5 --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/timeline/EventType.java @@ -0,0 +1,17 @@ +package org.raddatz.familienarchiv.timeline; + +/** + * Kind of a curated {@link TimelineEvent}. + * + *

The string value names are a stable frontend styling contract: the + * Svelte timeline components hard-code {@code "PERSONAL"} (family accent) and + * {@code "HISTORICAL"} (muted world accent) as Tailwind class-map keys. There is no + * mapping layer — renaming either value requires a coordinated frontend change. See + * ADR-040. + */ +public enum EventType { + /** A family/personal event (birth, wedding, move) — rendered with the family accent. */ + PERSONAL, + /** A world/historical event providing context — rendered with the muted world accent. */ + HISTORICAL +}