mirror of
https://github.com/hoornet/vega.git
synced 2026-07-21 07:48:12 -07:00
Add long-form article reader (Phase 1 #1, NIP-23)
- fetchArticle(naddr): fetches kind 30023 by d-tag + author pubkey - fetchAuthorArticles(pubkey): for future profile articles tab - ArticleView: cover image, title, italic summary, author row (avatar + name + date), tag pills, full markdown body (DOMPurify sanitized), zap author button in header and footer, copy nostr: link, njump.me fallback on fetch error - prose-article CSS: reader-optimised typography (15px base, 1.8 line height, h2 border, styled blockquote/code/pre/links/images) - NoteContent: naddr1 clicks for kind 30023 now open ArticleView instead of falling through to njump.me - openArticle(naddr) added to UI store with previousView tracking Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -66,6 +66,24 @@ body {
|
||||
.article-preview strong { color: var(--color-text); font-weight: 600; }
|
||||
.article-preview img { max-width: 100%; border-radius: 2px; margin: 0.5em 0; }
|
||||
|
||||
/* Article reader — slightly larger type than the editor preview */
|
||||
.prose-article { -webkit-user-select: text; user-select: text; color: var(--color-text); font-size: 15px; line-height: 1.8; }
|
||||
.prose-article h1 { font-size: 1.7em; font-weight: bold; margin: 1.4em 0 0.5em; }
|
||||
.prose-article h2 { font-size: 1.35em; font-weight: bold; margin: 1.4em 0 0.5em; border-bottom: 1px solid var(--color-border); padding-bottom: 0.3em; }
|
||||
.prose-article h3 { font-size: 1.15em; font-weight: bold; margin: 1.2em 0 0.4em; }
|
||||
.prose-article p { margin: 0.9em 0; }
|
||||
.prose-article ul { list-style: disc; padding-left: 1.6em; margin: 0.9em 0; }
|
||||
.prose-article ol { list-style: decimal; padding-left: 1.6em; margin: 0.9em 0; }
|
||||
.prose-article li { margin: 0.35em 0; }
|
||||
.prose-article blockquote { border-left: 3px solid var(--color-accent); padding-left: 1.1em; color: var(--color-text-muted); margin: 1.2em 0; font-style: italic; }
|
||||
.prose-article code { font-family: var(--font-mono); background: var(--color-bg-raised); padding: 0.15em 0.4em; font-size: 0.88em; border-radius: 2px; }
|
||||
.prose-article pre { background: var(--color-bg-raised); border: 1px solid var(--color-border); padding: 1.1em; overflow-x: auto; margin: 1.2em 0; border-radius: 2px; }
|
||||
.prose-article pre code { background: none; padding: 0; }
|
||||
.prose-article a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
|
||||
.prose-article hr { border: none; border-top: 1px solid var(--color-border); margin: 2em 0; }
|
||||
.prose-article strong { color: var(--color-text); font-weight: 600; }
|
||||
.prose-article img { max-width: 100%; border-radius: 2px; margin: 1em 0; }
|
||||
|
||||
/* Scrollbar — thin, minimal */
|
||||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
|
||||
Reference in New Issue
Block a user