diff options
| author | Adam Soltys <[email protected]> | 2026-09-12 22:01:14 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-12 22:01:14 -0700 |
| commit | 6cbb1b0c3665191ad486dc43d70dfbd264780f19 (patch) | |
| tree | fd45a2a9c5f57208d7b722117befd91ac16812f0 /src/style.css | |
| parent | 6b396dc26c05a921e2387e16343a8e0e6adea9fb (diff) | |
| download | coinosv3-6cbb1b0c3665191ad486dc43d70dfbd264780f19.tar.gz coinosv3-6cbb1b0c3665191ad486dc43d70dfbd264780f19.zip | |
A quoted note shows up as the note, not as "view note".
A nostr:note1/nevent1 in someone's post IS a post, and making the reader tap
a link to see it — losing their place in the feed — was the wrong shape. It
renders inside the post now: whose it is, when, and what it said, in a card
of its own so the two voices don't run together. Tapping it opens the note
properly.
Deliberately not a noteRow: a quote is context, not a second post to act on,
so it carries no reply, boost or zap of its own. The action row stops at the
post that did the quoting.
Fetched once per id and remembered, so a feed quoting the same note ten times
asks for it once. 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.
tools/quote-card-test.js quotes a real note off the relays and checks it
arrives with its author, its text, and none of the outer post's buttons.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_019mrt228Upn9nNCwGixzSLx
Diffstat (limited to 'src/style.css')
| -rw-r--r-- | src/style.css | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/style.css b/src/style.css index a03d25e..32e30d9 100644 --- a/src/style.css +++ b/src/style.css @@ -581,6 +581,20 @@ html.no-scroll { overflow: hidden; scrollbar-gutter: auto; } .lightbox-x:hover { background: rgba(255, 255, 255, .24); } @keyframes lightbox-in { from { opacity: 0; } to { opacity: 1; } } .note-video { display: block; max-width: 100%; max-height: 360px; border-radius: 10px; margin-top: 6px; background: #000; } +/* A quoted note, inside the post that quotes it: its own little card, so the + two voices don't run together. Context, not another post to act on — the + action row stops at the outer post. */ +.quote-card { + margin-top: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; + background: var(--surface2); display: flex; flex-direction: column; gap: 4px; +} +.quote-card.clickable { cursor: pointer; } +.quote-card.clickable:hover { border-color: var(--line-strong); } +.quote-loading { flex-direction: row; align-items: center; gap: 8px; } +.quote-name { font-weight: 600; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } +.quote-card .note-img { max-height: 220px; } +.quote-card .yt-embed { margin-top: 4px; } + /* A YouTube link, shown as the video it is: the still, a play button, and a corner link out. The player replaces all of it on the first tap — see youtubeEmbed for why it isn't there from the start. */ |
