1 import classNames from "classnames";
2 import { Component } from "inferno";
3 import { I18NextService } from "../../services";
5 interface UserBadgesProps {
8 isPostCreator?: boolean;
15 export function getRoleLabelPill({
28 className={`badge ${classes ?? "text-bg-light"}`}
30 data-tippy-content={tooltip}
32 {shrink ? label[0].toUpperCase() : label}
37 export class UserBadges extends Component<UserBadgesProps> {
40 (this.props.isBanned ||
41 this.props.isPostCreator ||
44 this.props.isBot) && (
46 className={classNames(
47 "row d-inline-flex gx-1",
51 {this.props.isBanned && (
52 <span className="col">
54 label: I18NextService.i18n.t("banned"),
55 tooltip: I18NextService.i18n.t("banned"),
56 classes: "text-danger border border-danger",
61 {this.props.isDeleted && (
62 <span className="col">
64 label: I18NextService.i18n.t("deleted"),
65 tooltip: I18NextService.i18n.t("deleted"),
66 classes: "text-danger border border-danger",
72 {this.props.isPostCreator && (
73 <span className="col">
75 label: I18NextService.i18n.t("op").toUpperCase(),
76 tooltip: I18NextService.i18n.t("creator"),
77 classes: "text-info border border-info",
82 {this.props.isMod && (
83 <span className="col">
85 label: I18NextService.i18n.t("mod"),
86 tooltip: I18NextService.i18n.t("mod"),
87 classes: "text-primary border border-primary",
91 {this.props.isAdmin && (
92 <span className="col">
94 label: I18NextService.i18n.t("admin"),
95 tooltip: I18NextService.i18n.t("admin"),
96 classes: "text-danger border border-danger",
100 {this.props.isBot && (
101 <span className="col">
103 label: I18NextService.i18n.t("bot_account").toLowerCase(),
104 tooltip: I18NextService.i18n.t("bot_account"),