]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/users/Box.js
some discord discriminator stuff
[alttp.git] / resources / js / components / users / Box.js
index d7ee3af9944ac3c736678f11d40ec0ad1c91cbb8..fd5814f6216896baa4dcdda3d7ee784c394b917d 100644 (file)
@@ -7,34 +7,44 @@ import { useNavigate } from 'react-router-dom';
 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>
-               {discriminator ?
+               <span>{discriminator || !user.nickname ? user.username : user.nickname}</span>
+               {discriminator && user.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,
        }),
 };