diff options
| author | Adam Soltys <[email protected]> | 2026-09-20 21:24:14 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-20 21:24:14 -0700 |
| commit | 9ef5c7633508cfecd19050bbcc637e091738de7e (patch) | |
| tree | a73ca8e39c87e38285fa7c8b73a48f4185dbfdd3 /src/style.css | |
| parent | 482025aa8b049433efda985526df6b3b3cc0e9a0 (diff) | |
| download | coinosv3-9ef5c7633508cfecd19050bbcc637e091738de7e.tar.gz coinosv3-9ef5c7633508cfecd19050bbcc637e091738de7e.zip | |
Feeds: Following is one of many; topics from search and #tags; the bolt is amber only for your own zap.
Custom feeds live in the synced messages state — a name, everyone you follow
and/or hand-picked people, and topics (hashtags, any of them; with people
set as well, only their posts on those topics — the way a nostr filter
composes authors and #t). Each feed keeps its own notes, clock and disk
cache; a chips row under the feed title switches between them and + opens
the editor (people are added through the same search the Send form uses).
A word in the header search is a topic too: 'Posts on this topic' opens a
session feed for it, as does a #tag in any post body — Save feed keeps it.
Topic-only feeds read the big public relays as well as ours, since a hashtag
has no author whose outbox we could follow.
The zap icon used to go amber once anyone had zapped a post; now only when
you have, like the heart.
tools/feed-custom-test.js drives the editor, the relay filter, a tagged post
landing, the #tag link, reload persistence and delete.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'src/style.css')
| -rw-r--r-- | src/style.css | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/style.css b/src/style.css index 4e93009..e9bc882 100644 --- a/src/style.css +++ b/src/style.css @@ -590,6 +590,12 @@ hr.divider { margin: 16px 0; } post's full width so each is a comfortable target, quiet until one carries a count or you've used it. */ .note-acts { margin-top: 8px; justify-content: space-between; gap: 4px; max-width: 340px; } +/* the feeds row: pills that scroll sideways, the one on screen filled */ +.feed-chips { gap: 6px; flex-wrap: nowrap; overflow-x: auto; margin: 0 -14px; padding: 2px 14px; scrollbar-width: none; -webkit-overflow-scrolling: touch; } +.feed-chips::-webkit-scrollbar { display: none; } +.feed-chip { flex: 0 0 auto; border: 1px solid var(--line); background: var(--surface2); color: var(--muted); border-radius: 999px; padding: 5px 12px; font-size: 14px; line-height: 1.2; cursor: pointer; white-space: nowrap; max-width: 180px; overflow: hidden; text-overflow: ellipsis; } +.feed-chip.on { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); } +.feed-chip.add { font-weight: 600; padding: 5px 11px; } .note-act { background: none; border: 0; padding: 4px 6px; margin: 0; line-height: 1; color: var(--faint); display: inline-flex; align-items: center; gap: 6px; cursor: pointer; |
