Files
mantra-kmp/composeApp
Kgothatso Ngako 473228bfab feat: show the last message and its time on the home chat list
The row was a centred column with the room's name in it and nothing else. It is
now a row: the name and a one-line preview of what was last said in a weighted
column on the left, the clock on the right.

Both text lines are clipped to one with an ellipsis, the name included, and that
is what keeps the clock on the row. A long subject, or a five-member group whose
title is five names joined with commas, would otherwise push the timestamp off
the edge; a multi-line message would push the next room down the screen. The
clipping is on the title's own composable rather than the row, because that is
where the three ways of building a title live -- a subject, "Note to Self", or
the participant list -- and only one of them being clipped is the shape this
would rot into.

The clock is absent rather than blank for a room with nothing in it. There is no
message time to show, and the room's own creation -- which is what it sorts on
in that case -- is not something the user has any reason to read here. The
preview line carries "No messages yet" in its place, which is the honest state
for a room that exists because it was just made, or because a member joined a
working group and is still waiting on the chronicle to fill it in.

Everything the row renders was decided in the model, so this commit is the card
body and the title clipping and nothing else.

Verified: `:composeApp:compileDebugKotlinAndroid` builds, and the full
`:composeApp:jvmTest` suite passes at 526 tests, 0 failures -- the 503 that were
there before this branch plus its 23. The layout itself has not been run on a
device; it is checked by compilation and by the model tests behind it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-06 18:21:48 +02:00
..