${replyContext === "parent" || replyContext === "reply" ? html`
` : ""}
${avatarTemplate({ author: post.author })}
${postHeaderTextTemplate({ author: post.author, timestamp: post.indexedAt, includeTime: false, })}
${showFollowButton && post.author ? followButtonTemplate({ profile: post.author, isFollowPending, onClick: (profile, doFollow) => onClickFollow(profile, doFollow), }) : ""}
${authorBadgesTemplate({ badgeLabels, did: post.author?.did, pluginService, })}
${mutedWarningTemplate({ post, children: html`
${postText.length > 0 ? html`
` : ""} ${embed ? html`
${postEmbedTemplate({ embed, mediaLabel: post.mediaLabel, isAuthenticated, pluginService, })}
` : null}
`, })}
${formatFullTimestamp(post.indexedAt)} ${isRootPost ? whoCanReplyBadgeTemplate({ post, linkStyle: canEditInteractionSettings, onClick: (post) => { if (canEditInteractionSettings) { postInteractionHandler.handleEditInteractionSettings(post); } else { WhoCanReplyModal.open({ post }); } }, }) : null}
${showActions ? html` ${postActionCountsTemplate({ repostCount: post.repostCount, quoteCount: post.quoteCount, likeCount: post.likeCount, bookmarkCount: post.bookmarkCount, post, })} ${postActionBarTemplate({ post, isUserPost, isAuthenticated, currentUser, onClickReply, onClickLike: (post, doLike) => postInteractionHandler.handleLike(post, doLike), onClickRepost: (post, doRepost) => postInteractionHandler.handleRepost(post, doRepost), onClickQuotePost: (post) => postInteractionHandler.handleQuotePost(post), onClickBookmark: (post, doBookmark) => postInteractionHandler.handleBookmark(post, doBookmark), onClickHidePost: async (post) => { await postInteractionHandler.handleHidePost(post); if (afterHide) { afterHide(post); } }, onClickMute: (profile, doMute) => postInteractionHandler.handleMuteAuthor(profile, doMute), onClickBlock: async (profile, doBlock) => { const success = await postInteractionHandler.handleBlockAuthor( profile, doBlock, ); if (success && doBlock && afterBlock) { afterBlock(post); } }, onClickDelete: async (post) => { await postInteractionHandler.handleDeletePost(post); if (afterDelete) { afterDelete(post); } }, onClickPin: (post, doPin) => postInteractionHandler.handlePinPost(post, doPin), onClickEditInteractionSettings: (post) => postInteractionHandler.handleEditInteractionSettings(post), onClickReport: (post) => postInteractionHandler.handleReport(post), pluginService, })} ` : ""}