5.8 KiB
5.8 KiB
008 - Desktop 3-Pane View Feedback & Design Specifications
This document comprehensively records all user feedback, UX directives, and architectural decisions made for the Desktop 3-Pane View in RSSPipe.
1. Design Aesthetics & Visual Identity
- Theme Palette: Metal-inspired, refined monochrome with sleek slate/zinc surfaces (
#09090b,#18181b,#27272a), crisp typography (Inter/system), and subtle color accents (Gold for Starred, Emerald for Tags, Blue for Keywords/AI). - Surface Elevation: Clean hairline borders (
1px solid var(--border-subtle)), eliminating heavy shadows or dated blue-gray tints.
2. Top Header Bar
| Element | Specification & User Directive | Status |
|---|---|---|
| Brand & Icon | RSSPipe logo and brand name anchored at the leftmost position across all views. | Implemented |
| Search Bar | Widened search input with auto-completion backed by search_history database table (keyword, last_searched_at, search_count). |
Implemented |
| Refresh Button | Smooth keyframe rotation animation with guaranteed visual feedback duration on click/poll. | Implemented |
| Left Sidebar Toggle | Removed from top header (sidebar remains permanently accessible in 3-pane desktop). | Implemented |
| View Switcher | Removed "3-connected-button" switcher from top bar; view modes configured via Settings > General. | Implemented |
3. Left Sidebar (Navigation Pane)
Structure & Hierarchy
- Views Section:
Inbox(Unread count badge)Starred(Starred count badge)All ArticlesShared(Public share count badge)
- Feeds Section:
- Category Folders with nested feeds
- Uncategorized feeds at root level
UI / UX Rules
- Category Chevron Alignment: Fold/unfold toggle icon is placed immediately after the category title (before the unread count), ensuring category feeds and uncategorized feeds share the exact same left margin and indentation.
- Unread Badges: Pinned flush to the far right edge of the item row.
- Feed Spacing: Tight, efficient vertical spacing (
gap: 1px,min-height: 28px). - Feed Favicons:
- Automatically resolved from website root (
https://www.google.com/s2/favicons?domain=...&sz=64) upon subscription. - Rendered with live error fallback to the default RSS icon.
- Fully customizable in
Settings > Feeds > Edit Feed.
- Automatically resolved from website root (
4. Middle Pane (Article List)
Mode 1: Compact List (compact)
- Row Structure (2-Line):
- Line 1: Article Headline (
entry.title) - Line 2: Published Date (
YYYY-MM-DD) + right-aligned conditional icons.
- Line 1: Article Headline (
- Conditional Status Icons:
- ⭐ Starred: Gold star button (rendered only when starred; 0px width when unstarred).
- 🔗 Shared:
Share2icon (rendered only whenshare_uuidexists).
Mode 2: Expanded / Non-Compact List (rich)
- Strict Rule: No thumbnail images in entry cards.
- Row Structure:
- Line 1:
:title(Article headline) - Line 2:
:description(Clean text snippet, stripped HTML) - Line 3:
:date(YYYY-MM-DDleft-aligned) + right-aligned status indicators (starred,shared,ai-summarized). - Line 4:
:keywordsand:tagsin distinct colors (Blue keyword chips, Emerald#tagchips).
- Line 1:
Scope & Filtering
- Dynamic Header Title: Updates to show active feed name, category title, or search query.
- Scope Toggle:
[ Unread | All ]pill switcher when browsing a specific feed/category. - Query Reset: Automatically resets search queries upon selecting a feed/category to prevent "no articles found" confusion.
5. Right Pane (Reading Canvas)
Top Action Toolbar
- Left Group:
Toggle UnreadToggle StarToggle Shared(auto-copies link to clipboard)Copy LinkOpen Original Site(new tab)
- Right Group:
- Split Action Button:
- Default click:
Get Full Text(scrapes via Readability and switches view to cleaned full text; toggles betweenOriginal FeedandFull Text). - Dropdown menu:
Generate AI SummaryandGenerate Audio.
- Default click:
- No extraneous public share link buttons in top menu.
- Split Action Button:
Article Content Layout & Ordering
1. Feed Subtitle + Favicon (feed_title)
2. Post Title (h1)
3. Author (if exists)
4. Updated Date (YYYY-MM-DD HH:mm) • Reading Time
5. Keywords Chips (if exists)
6. Tags Chips (if exists)
──────────────────────────────────────────────────── (Divider)
7. AI Summary Card (in-page error notice if failed)
8. Audio Narration Player (if generated)
9. Article Content Body (HTML / Full Text)
Layout & Scrollbar
- Far-Right Scrollbar: The scroll container spans the full pane width so the native scrollbar sits against the far right edge of the screen, while article content remains centered at a readable max-width (
760px). - AI Summary Error Notice: In-page error banner within the summary container instead of modal
alert()popups.
Automatic Read Triggers
When the reading preference is enabled (rsspipe_auto_read_scroll):
- Short Articles (Content ≤ 1 Page): Automatically marked as read after staying on the article for 3 seconds.
- Content Click: Clicking anywhere inside the reader content canvas (excluding the toolbar) immediately marks as read.
- Long Articles (Content > 1 Page): Scrolling down the right reading pane immediately marks as read.
6. Real-Time State Synchronization
- Sidebar Counts: Toggling
is_read,is_starred, orshare_uuidimmediately triggers a stats reload to keep sidebar counters (inbox,starred,shared) synchronized in real time. - Persistence: Switching feeds or categories in the sidebar updates the middle article list without abruptly reloading or clearing the active reading canvas.