import classNames from "classnames"; import { Component } from "inferno"; import { I18NextService } from "../../services"; interface UserBadgesProps { isBanned?: boolean; isDeleted?: boolean; isPostCreator?: boolean; isMod?: boolean; isAdmin?: boolean; isBot?: boolean; classNames?: string; } export function getRoleLabelPill({ label, tooltip, classes, shrink = true, }: { label: string; tooltip: string; classes?: string; shrink?: boolean; }) { return ( {shrink ? label[0].toUpperCase() : label} ); } export class UserBadges extends Component { render() { return ( (this.props.isBanned || this.props.isPostCreator || this.props.isMod || this.props.isAdmin || this.props.isBot) && ( {this.props.isBanned && ( {getRoleLabelPill({ label: I18NextService.i18n.t("banned"), tooltip: I18NextService.i18n.t("banned"), classes: "text-danger border border-danger", shrink: false, })} )} {this.props.isDeleted && ( {getRoleLabelPill({ label: I18NextService.i18n.t("deleted"), tooltip: I18NextService.i18n.t("deleted"), classes: "text-danger border border-danger", shrink: false, })} )} {this.props.isPostCreator && ( {getRoleLabelPill({ label: I18NextService.i18n.t("op").toUpperCase(), tooltip: I18NextService.i18n.t("creator"), classes: "text-info border border-info", shrink: false, })} )} {this.props.isMod && ( {getRoleLabelPill({ label: I18NextService.i18n.t("mod"), tooltip: I18NextService.i18n.t("mod"), classes: "text-primary border border-primary", })} )} {this.props.isAdmin && ( {getRoleLabelPill({ label: I18NextService.i18n.t("admin"), tooltip: I18NextService.i18n.t("admin"), classes: "text-danger border border-danger", })} )} {this.props.isBot && ( {getRoleLabelPill({ label: I18NextService.i18n.t("bot_account").toLowerCase(), tooltip: I18NextService.i18n.t("bot_account"), })} )} ) ); } }