From 4f671824dd02e7ffcfd3bc8a24c6571f98cca0b5 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 22 Apr 2026 09:13:03 +0200 Subject: [PATCH] feat(chronik): align layout to grouped card pattern; fix duplicate rollup count MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ChronikTimeline: date buckets now render as bordered cards with muted header (border-line / bg-surface / shadow-sm) and divide-y row separators, matching the DocumentList card pattern - ChronikRow: remove rounded-sm (card handles clipping), hover:bg-canvas → hover:bg-muted/50; restore rollup count badge after doc title - Messages (de/en/es): remove embedded {count} from all four rollup verb strings so the badge is the single source of truth, consistent with DashboardActivityFeed Co-Authored-By: Claude Sonnet 4.6 --- frontend/messages/de.json | 8 ++++---- frontend/messages/en.json | 8 ++++---- frontend/messages/es.json | 8 ++++---- .../src/lib/components/chronik/ChronikRow.svelte | 2 +- .../lib/components/chronik/ChronikTimeline.svelte | 14 ++++++++------ 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/frontend/messages/de.json b/frontend/messages/de.json index 83cd959a..bf1e64f1 100644 --- a/frontend/messages/de.json +++ b/frontend/messages/de.json @@ -776,13 +776,13 @@ "chronik_day_this_week": "Diese Woche", "chronik_day_older": "Älter", "chronik_singleton_text_saved": "{actor} transkribierte einen Block in {doc}", - "chronik_rollup_text_saved": "{actor} transkribierte {count} Blöcke in {doc}", + "chronik_rollup_text_saved": "{actor} transkribierte {doc}", "chronik_singleton_uploaded": "{actor} lud {doc} hoch", - "chronik_rollup_uploaded": "{actor} lud {count} Dokumente hoch", + "chronik_rollup_uploaded": "{actor} lud Dokumente hoch", "chronik_singleton_reviewed": "{actor} überprüfte einen Block in {doc}", - "chronik_rollup_reviewed": "{actor} überprüfte {count} Blöcke in {doc}", + "chronik_rollup_reviewed": "{actor} überprüfte {doc}", "chronik_singleton_annotated": "{actor} annotierte {doc}", - "chronik_rollup_annotated": "{actor} annotierte {doc} {count}×", + "chronik_rollup_annotated": "{actor} annotierte {doc}", "chronik_comment_added": "{actor} kommentierte {doc}", "chronik_mention_created": "{actor} erwähnte dich in {doc}", "chronik_reply_received": "{actor} antwortete dir in {doc}", diff --git a/frontend/messages/en.json b/frontend/messages/en.json index e623c96c..107080f2 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -776,13 +776,13 @@ "chronik_day_this_week": "This week", "chronik_day_older": "Older", "chronik_singleton_text_saved": "{actor} transcribed a block in {doc}", - "chronik_rollup_text_saved": "{actor} transcribed {count} blocks in {doc}", + "chronik_rollup_text_saved": "{actor} transcribed {doc}", "chronik_singleton_uploaded": "{actor} uploaded {doc}", - "chronik_rollup_uploaded": "{actor} uploaded {count} documents", + "chronik_rollup_uploaded": "{actor} uploaded documents", "chronik_singleton_reviewed": "{actor} reviewed a block in {doc}", - "chronik_rollup_reviewed": "{actor} reviewed {count} blocks in {doc}", + "chronik_rollup_reviewed": "{actor} reviewed {doc}", "chronik_singleton_annotated": "{actor} annotated {doc}", - "chronik_rollup_annotated": "{actor} annotated {doc} {count}×", + "chronik_rollup_annotated": "{actor} annotated {doc}", "chronik_comment_added": "{actor} commented on {doc}", "chronik_mention_created": "{actor} mentioned you in {doc}", "chronik_reply_received": "{actor} replied to you in {doc}", diff --git a/frontend/messages/es.json b/frontend/messages/es.json index 6b0ba5f0..5963883d 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -776,13 +776,13 @@ "chronik_day_this_week": "Esta semana", "chronik_day_older": "Anterior", "chronik_singleton_text_saved": "{actor} transcribió un bloque en {doc}", - "chronik_rollup_text_saved": "{actor} transcribió {count} bloques en {doc}", + "chronik_rollup_text_saved": "{actor} transcribió {doc}", "chronik_singleton_uploaded": "{actor} subió {doc}", - "chronik_rollup_uploaded": "{actor} subió {count} documentos", + "chronik_rollup_uploaded": "{actor} subió documentos", "chronik_singleton_reviewed": "{actor} revisó un bloque en {doc}", - "chronik_rollup_reviewed": "{actor} revisó {count} bloques en {doc}", + "chronik_rollup_reviewed": "{actor} revisó {doc}", "chronik_singleton_annotated": "{actor} anotó {doc}", - "chronik_rollup_annotated": "{actor} anotó {doc} {count}×", + "chronik_rollup_annotated": "{actor} anotó {doc}", "chronik_comment_added": "{actor} comentó en {doc}", "chronik_mention_created": "{actor} te mencionó en {doc}", "chronik_reply_received": "{actor} te respondió en {doc}", diff --git a/frontend/src/lib/components/chronik/ChronikRow.svelte b/frontend/src/lib/components/chronik/ChronikRow.svelte index d15268a6..b752a93a 100644 --- a/frontend/src/lib/components/chronik/ChronikRow.svelte +++ b/frontend/src/lib/components/chronik/ChronikRow.svelte @@ -108,7 +108,7 @@ const rowHref: string = $derived( diff --git a/frontend/src/lib/components/chronik/ChronikTimeline.svelte b/frontend/src/lib/components/chronik/ChronikTimeline.svelte index f083ba7b..1675b719 100644 --- a/frontend/src/lib/components/chronik/ChronikTimeline.svelte +++ b/frontend/src/lib/components/chronik/ChronikTimeline.svelte @@ -43,17 +43,19 @@ const grouped: Record = $derived.by(() => { }); -
+
{#each BUCKET_ORDER as bucket (bucket)} {#if grouped[bucket].length > 0} -
-
- +
+
+ {bucketLabel(bucket)} -
-
    +
      {#each grouped[bucket] as it (it.kind + it.happenedAt + it.documentId)}