X-Git-Url: http://these/git/?a=blobdiff_plain;f=src%2Fshared%2Fcomponents%2Fcomment%2Fcomment-node.tsx;h=c6b37fdb2636f8d1589704d5c3b687082c7236f6;hb=9869b911cf480ee88c7b1e7d2f689cc2e1c65157;hp=0ce8638d0f34866ac1dcae3829c324c661ce8287;hpb=f333710077d519b622ce4a22de8f011535d057e4;p=lemmy-ui.git diff --git a/src/shared/components/comment/comment-node.tsx b/src/shared/components/comment/comment-node.tsx index 0ce8638..c6b37fd 100644 --- a/src/shared/components/comment/comment-node.tsx +++ b/src/shared/components/comment/comment-node.tsx @@ -62,6 +62,7 @@ import { I18NextService, UserService } from "../../services"; import { setupTippy } from "../../tippy"; import { Icon, PurgeWarning, Spinner } from "../common/icon"; import { MomentTime } from "../common/moment-time"; +import { UserBadges } from "../common/user-badges"; import { VoteButtonsCompact } from "../common/vote-buttons"; import { CommunityLink } from "../community/community-link"; import { PersonListing } from "../person/person-listing"; @@ -196,6 +197,17 @@ export class CommentNode extends Component { return this.commentView.comment.id; } + get hasBadges(): boolean { + const cv = this.commentView; + + return ( + this.isPostCreator || + isMod(cv.creator.id, this.props.moderators) || + isAdmin(cv.creator.id, this.props.admins) || + cv.creator.bot_account + ); + } + componentWillReceiveProps( nextProps: Readonly<{ children?: InfernoNode } & CommentNodeProps> ): void { @@ -309,41 +321,19 @@ export class CommentNode extends Component { /> - - - + {cv.comment.distinguished && ( - + )} - {this.isPostCreator && - this.getRoleLabelPill({ - label: I18NextService.i18n.t("op").toUpperCase(), - tooltip: I18NextService.i18n.t("creator"), - parentClasses: "text-info", - shrinkToSingleLetter: false, - })} - - {isMod_ && - this.getRoleLabelPill({ - label: I18NextService.i18n.t("mod"), - tooltip: I18NextService.i18n.t("mod"), - shrunkenLabelClasses: "text-primary", - })} - - {isAdmin_ && - this.getRoleLabelPill({ - label: I18NextService.i18n.t("admin"), - tooltip: I18NextService.i18n.t("admin"), - shrunkenLabelClasses: "text-danger", - })} - - {cv.creator.bot_account && - this.getRoleLabelPill({ - label: I18NextService.i18n.t("bot_account").toLowerCase(), - tooltip: I18NextService.i18n.t("bot_account"), - })} + {this.props.showCommunity && ( <> @@ -1199,50 +1189,6 @@ export class CommentNode extends Component { } } - getRoleLabelPill({ - label, - tooltip, - parentClasses, - shrunkenLabelClasses, - hideOnMobile = false, - shrinkToSingleLetter = true, - }: { - label: string; - tooltip: string; - parentClasses?: string; - shrunkenLabelClasses?: string; - hideOnMobile?: boolean; - shrinkToSingleLetter?: boolean; - }) { - const parentClassNames = classNames( - `badge me-2 text-bg-light ${parentClasses}`, - { - "d-none d-md-inline": hideOnMobile, - } - ); - - let fullLabelClassNames = "d-none d-md-inline"; - let shrunkenLabelClassNames = `d-inline d-md-none ${shrunkenLabelClasses}`; - - if (!shrinkToSingleLetter) { - fullLabelClassNames = ""; - shrunkenLabelClassNames = "d-none"; - } - - return ( - - {label} - - {label[0].toUpperCase()} - - - ); - } - getLinkButton(small = false) { const cv = this.commentView;