You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The gallery currently has no dedicated view for a single post. Post content, metadata, and full media collections are only accessible through the lightbox sidebar — which is constrained to a narrow panel alongside the current media item. For posts with many media items (Pixiv manga, e-hentai galleries), there's no way to see all items at a glance or browse them in an ordered, paginated grid.
Goal
Create a full post view page at /post/[id] that shows the complete post with all content, metadata, and media items in a browsable layout that preserves strict reading order.
Proposed Design
Page Layout (/post/[id])
Author Header: Avatar, name, handle, platform badge, link to original post
Full Content: Uncondensed post text rendered via FormattedContent
Media Grid: All media items displayed in strict sequential order (page 1, 2, 3...). Standard ordered grid by default (preserving order for manga/e-hentai), with an optional Masonry layout toggle. Clicking an item opens the lightbox scoped to this post's media only
Media Pagination: For posts exceeding postViewMediaPageSize items (new setting, default 50), show paginated controls below the grid
Lightbox Integration
Add a "View Full Post" button in the lightbox sidebar that navigates to /post/[postId]
Visible whenever the current item has an associated post ID
Data Layer
New repository function: getPostById(id) — returns full post data with all platform-specific details and media items
New route handler or server component: /post/[id]/page.tsx (server component for SSR, following existing data fetching patterns)
Out of Scope / Follow-up Tasks
Replies/Comments (Follow-up Sub-issue): No parent-child post relationship exists in the current data model. Displaying reply threads & downloaded comments will be tracked as a dedicated follow-up issue once thread/parent-child database schemas are established.
Ordered Grid vs Masonry: Single posts (especially manga / e-hentai) require strict sequential page order (#1, #2, #3). Standard uniform CSS Grid will be the primary layout, with an opt-in toggle to Masonry view.
New Setting: postViewMediaPageSize added to AppSettings (default: 50).
Acceptance Criteria
/post/[id] route renders a full post view with author, content, metadata, tags, playlists, and source link
Media grid displays all items in strict sequential order, with page index badges (1, 2, 3)
Layout defaults to standard ordered grid with optional Masonry view toggle
Media grid paginates when item count exceeds postViewMediaPageSize setting
Clicking a media item in the grid opens the lightbox scoped to that post's media
Lightbox sidebar has a "View Full Post" button that navigates to /post/[id]
Page handles all supported platforms (Twitter, Pixiv, Gelbooru, E-Hentai)
Source deleted banner shown for posts marked isSourceDeleted
Page is responsive (mobile/tablet/desktop)
New postViewMediaPageSize setting added to AppSettings with default of 50
Dependencies
None blocking. If Refactor GalleryRow to use generic platform metadata slots #54 (generic platform metadata slots) lands first, the post view should consume the new platformDetails / platformUser shape. Otherwise, use the current per-platform pattern and refactor later.
Related Issues
Follow-up Issue: Display post reply threads & comments (requires parent-child DB schema)
More controls for media in lightbox #74 — More controls for media in lightbox (scrollable filmstrip, fit/peek position indicators, and inline grid view deferred here)
Problem
The gallery currently has no dedicated view for a single post. Post content, metadata, and full media collections are only accessible through the lightbox sidebar — which is constrained to a narrow panel alongside the current media item. For posts with many media items (Pixiv manga, e-hentai galleries), there's no way to see all items at a glance or browse them in an ordered, paginated grid.
Goal
Create a full post view page at
/post/[id]that shows the complete post with all content, metadata, and media items in a browsable layout that preserves strict reading order.Proposed Design
Page Layout (
/post/[id])FormattedContentpostViewMediaPageSizeitems (new setting, default 50), show paginated controls below the gridLightbox Integration
/post/[postId]Data Layer
getPostById(id)— returns full post data with all platform-specific details and media items/post/[id]/page.tsx(server component for SSR, following existing data fetching patterns)Out of Scope / Follow-up Tasks
Technical Design Decisions
#1,#2,#3). Standard uniform CSS Grid will be the primary layout, with an opt-in toggle to Masonry view.postViewMediaPageSizeadded toAppSettings(default: 50).Acceptance Criteria
/post/[id]route renders a full post view with author, content, metadata, tags, playlists, and source link1,2,3)postViewMediaPageSizesetting/post/[id]isSourceDeletedpostViewMediaPageSizesetting added toAppSettingswith default of 50Dependencies
platformDetails/platformUsershape. Otherwise, use the current per-platform pattern and refactor later.Related Issues