// eslint-disable-next-line import React, { Component } from "react"; import { useTranslation } from 'react-i18next'; import { connect } from 'react-redux'; import Button from '@mui/material/Button'; import ListItem from '@mui/material/ListItem'; import Paper from '@mui/material/Paper'; import { UserDisplay, VirtualList, AuthGuard, LanguageDropdown } from 'components'; import { AuthenticationService, SessionService } from 'api'; import { ServerSelectors } from 'store'; import { User } from 'types'; import AddToBuddies from './AddToBuddies'; import AddToIgnore from './AddToIgnore'; import './Account.css'; const Account = (props: AccountProps) => { const { buddyList, ignoreList, serverName, serverVersion, user } = props; const { country, realName, name, userLevel, accountageSecs, avatarBmp } = user; let url = URL.createObjectURL(new Blob([avatarBmp], { 'type': 'image/png' })); const { t } = useTranslation(); const handleAddToBuddies = ({ userName }) => { SessionService.addToBuddyList(userName); }; const handleAddToIgnore = ({ userName }) => { SessionService.addToIgnoreList(userName); }; return (
Buddies Online: ?/{buddyList.length}
buddyList[index].name } items={ buddyList.map(user => ( )) } />
Ignored Users Online: ?/{ignoreList.length}
ignoreList[index].name } items={ ignoreList.map(user => ( )) } />
{name}

{name}

Location: ({country?.toUpperCase()})

User Level: {userLevel}

Account Age: {accountageSecs}

Real Name: {realName}

Server Name: {serverName}

Server Version: {serverVersion}

) } interface AccountProps { buddyList: User[]; ignoreList: User[]; serverName: string; serverVersion: string; user: User; } const mapStateToProps = state => ({ buddyList: ServerSelectors.getBuddyList(state), ignoreList: ServerSelectors.getIgnoreList(state), serverName: ServerSelectors.getName(state), serverVersion: ServerSelectors.getVersion(state), user: ServerSelectors.getUser(state), }); export default connect(mapStateToProps)(Account);