import { getAvatarUrl } from '../../helpers/User';
import i18n from '../../i18n';
-const Box = ({ discriminator, user }) => {
+const Box = ({ discriminator, noLink, user }) => {
const navigate = useNavigate();
if (!user) {
return <span>{i18n.t('general.anonymous')}</span>;
}
- return <Button
- className="user-box"
- onClick={() => navigate(`/users/${user.id}`)}
- variant="link"
- >
+ const content = <>
<img alt="" src={getAvatarUrl(user)} />
- <span>{user.username}</span>
+ <span>{discriminator || !user.nickname ? user.username : user.nickname}</span>
{discriminator ?
<span className="text-muted">
{'#'}
{user.discriminator}
</span>
: null}
+ </>;
+
+ if (noLink) {
+ return <span className="user-box">{content}</span>;
+ }
+
+ return <Button
+ className="user-box"
+ onClick={() => navigate(`/users/${user.id}`)}
+ variant="link"
+ >
+ {content}
</Button>;
};
Box.propTypes = {
discriminator: PropTypes.bool,
+ noLink: PropTypes.bool,
user: PropTypes.shape({
discriminator: PropTypes.string,
id: PropTypes.string,
+ nickname: PropTypes.string,
username: PropTypes.string,
}),
};