import { observer } from "mobx-react-lite"; import { useParams } from "react-router-dom"; import { User } from "revolt.js/dist/maps/Users"; import { Text } from "preact-i18n"; import { useClient } from "../../../context/revoltjs/RevoltClient"; import UserIcon from "./UserIcon"; export const Username = observer( ({ user, showServerIdentity, ...otherProps }: { user?: User; showServerIdentity?: boolean; } & JSX.HTMLAttributes) => { let username = user?.username; let color; if (user && showServerIdentity) { const { server } = useParams<{ server?: string }>(); if (server) { const client = useClient(); const member = client.members.getKey({ server, user: user._id, }); if (member) { if (member.nickname) { username = member.nickname; } if (member.roles && member.roles.length > 0) { const srv = client.servers.get(member._id.server); if (srv?.roles) { for (const role of member.roles) { const c = srv.roles[role].colour; if (c) { color = c; continue; } } } } } } } return ( {username ?? } ); }, ); export default function UserShort({ user, size, showServerIdentity, }: { user?: User; size?: number; showServerIdentity?: boolean; }) { return ( <> ); }