feat(posts): Add swarm reply tracking and thread visualization
- Add swarm reply metadata fields (swarmReplyToId, swarmReplyToContent, swarmReplyToAuthor) to posts table for tracking replies to federated posts - Extend swarmReplyTo schema to include optional content and author information for context preservation - Build synthetic replyTo objects from swarm reply metadata to unify local and federated reply handling - Include media in replyTo relations across all post queries for complete reply context - Add thread container styling with visual line connector between parent and child posts - Implement thread parent display mode with reduced opacity and hidden actions for context - Add showThread and isThreadParent props to PostCard for flexible thread rendering - Enable inline parent post visualization when viewing post details to show conversation context
This commit is contained in:
@@ -106,6 +106,10 @@ export const posts = pgTable('posts', {
|
||||
content: text('content').notNull(),
|
||||
replyToId: uuid('reply_to_id'),
|
||||
repostOfId: uuid('repost_of_id'),
|
||||
// Swarm reply reference (when replying to a post on another node)
|
||||
swarmReplyToId: text('swarm_reply_to_id'), // Format: "swarm:domain:postId"
|
||||
swarmReplyToContent: text('swarm_reply_to_content'), // Cached content for display
|
||||
swarmReplyToAuthor: text('swarm_reply_to_author'), // JSON: {handle, displayName, avatarUrl, nodeDomain}
|
||||
likesCount: integer('likes_count').default(0).notNull(),
|
||||
repostsCount: integer('reposts_count').default(0).notNull(),
|
||||
repliesCount: integer('replies_count').default(0).notNull(),
|
||||
|
||||
Reference in New Issue
Block a user