diff options
| author | Adam Soltys <[email protected]> | 2026-09-13 08:10:02 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-13 08:10:02 -0700 |
| commit | 9fb2154236a3f9d7ede5344cfcc4fa56ff3ada0c (patch) | |
| tree | 4317e098a84d62d628337560b3e629c7550ea369 /src/features | |
| parent | fae3468590d9e7627e855f6b5636b116d6582f3d (diff) | |
| download | coinosv3-9fb2154236a3f9d7ede5344cfcc4fa56ff3ada0c.tar.gz coinosv3-9fb2154236a3f9d7ede5344cfcc4fa56ff3ada0c.zip | |
Posts and messages get a reading size.
A feed of posts was set in .small — 13px, the size used for captions and
row subtitles. On a phone it read like footnotes. Measured against
Amethyst on the same Pixel 9, side by side: its note body renders a line
pitch of 62 device pixels, ours 50.
Post bodies get their own class at 16px, which is Amethyst's own default
for a note body, and chat and DM bubbles move 15 → 16 to match; the names
and inbox previews above them keep pace. New line pitch measured on the
phone: 60 against Amethyst's 62. A quoted note inside a post stays a step
smaller, since it's context rather than the post you're reading.
Worth recording for whoever reads this next: this phone has the Android
font scale at 1.15. Amethyst uses sp and honours that automatically; CSS
px in a TWA does not, and there's no way for a page to read that setting.
So Amethyst will still render about 15% larger than us on this device no
matter what we pick. Matching its DEFAULT is the target that makes sense
for everyone else.
chat-layout-test had rotted (onboarding copy, .header-msgs now matching
the settings button, a screenshot path from another machine's scratch
dir) — repaired, and it's what proves the composer still fits at the
larger size, on all three viewports.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_019mrt228Upn9nNCwGixzSLx
Diffstat (limited to 'src/features')
| -rw-r--r-- | src/features/messages.js | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/features/messages.js b/src/features/messages.js index 715400e..ae310a6 100644 --- a/src/features/messages.js +++ b/src/features/messages.js @@ -2859,7 +2859,7 @@ export function messagesFeature(ctx) { avatar(ev.pubkey, 'chat-avatar mini', false), h('span', { class: 'quote-name' }, displayName(ev.pubkey)), h('span', { class: 'small faint', style: 'white-space:nowrap' }, timeLabel(ev.created_at * 1000))), - h('div', { class: 'small', style: 'white-space:pre-wrap;overflow-wrap:anywhere' }, + h('div', { class: 'note-text', style: 'white-space:pre-wrap;overflow-wrap:anywhere' }, // one level deep only: a quote of a quote of a quote is a rabbit // hole, and the inner one stays a link you can follow ...noteBody(ev.content, depth + 1))); @@ -3244,7 +3244,7 @@ export function messagesFeature(ctx) { h('div', { class: 'row', style: 'gap:7px;align-items:baseline;min-width:0' }, h('span', { // the name, like the avatar, is its own tap-target (profile) - style: 'font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer', + style: 'font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer', onClick: (e) => { e.stopPropagation(); openProfile(pk); }, }, name), h('span', { class: 'small faint', style: 'white-space:nowrap' }, @@ -3257,7 +3257,7 @@ export function messagesFeature(ctx) { style: 'flex-shrink:0', onClick: (e) => { e.stopPropagation(); ui.noteSheet = ev; render(); }, }, '\u22ef')), - h('div', { class: 'small', style: 'white-space:pre-wrap;overflow-wrap:anywhere' }, ...noteBody(ev.content)), + h('div', { class: 'note-text', style: 'white-space:pre-wrap;overflow-wrap:anywhere' }, ...noteBody(ev.content)), pending ? null : noteActions(pk, ev, { canZap }))); } |
