nandi/frqpublic Fork 0
3f26695
Commits
Clone
git clone https://git.rickub.com/nandi/frq.git
git clone ssh://git@rickub.com/nandi/frq.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Let the conversations breathe

The cards in the list were handed straight to the scroll, so they sat edge to
edge and the list read as one ruled block rather than a row per conversation.

The gap goes on a wrapper rather than on the card, because a card cannot
carry one: the window backend pads a card by a fixed 12 and never reads a
margin off it — the same reason `conversation-row` already takes its right
edge from a wrapper instead. 8, which is the step the bands above it use.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
nandi committed 2026-09-12T07:07:52-07:00 Browse files
3f26695 parent: a036bb4
modified common/frq/screens/chats.cljc +7 -1
@@ -216,7 +216,13 @@
216216 ;; them. What is focused is a widget, so the highlight would stay in
217217 ;; the slot the reader clicked while the row that moved into it is
218218 ;; someone else's conversation.
219- (for [b buffers] ^{:key (:name b)} [conversation-row b])
219+ ;; The gap between cards, and it has to be here rather than on the
220+ ;; card: a card is padded inside by the backend and takes no margin of
221+ ;; its own, so cards handed straight to the scroll sit edge to edge and
222+ ;; the list reads as one ruled block instead of a row per conversation.
223+ ;; 8, the same step the bands above use.
224+ [:vbox {:spacing 8}
225+ (for [b buffers] ^{:key (:name b)} [conversation-row b])]
220226 [:vbox {:margin-right list-gutter}
221227 [:card {} [:dim-label {:label "No conversations yet — join a channel."}]]])]]
222228 [:vbox {:key :foot :spacing 8}
@@ -216,7 +216,13 @@
216 ;; them. What is focused is a widget, so the highlight would stay in216 ;; them. What is focused is a widget, so the highlight would stay in
217 ;; the slot the reader clicked while the row that moved into it is217 ;; the slot the reader clicked while the row that moved into it is
218 ;; someone else's conversation.218 ;; someone else's conversation.
219- (for [b buffers] ^{:key (:name b)} [conversation-row b])219+ ;; The gap between cards, and it has to be here rather than on the
220+ ;; card: a card is padded inside by the backend and takes no margin of
221+ ;; its own, so cards handed straight to the scroll sit edge to edge and
222+ ;; the list reads as one ruled block instead of a row per conversation.
223+ ;; 8, the same step the bands above use.
224+ [:vbox {:spacing 8}
225+ (for [b buffers] ^{:key (:name b)} [conversation-row b])]
220 [:vbox {:margin-right list-gutter}226 [:vbox {:margin-right list-gutter}
221 [:card {} [:dim-label {:label "No conversations yet — join a channel."}]]])]]227 [:card {} [:dim-label {:label "No conversations yet — join a channel."}]]])]]
222 [:vbox {:key :foot :spacing 8}228 [:vbox {:key :foot :spacing 8}