import { Person } from '@mui/icons-material'; import { Avatar, Box, Button, Card, CardActions, CardContent, Divider, Grid, IconButton, Typography, } from '@mui/material'; import { FC, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { PostAuth } from '../../types/Post'; import { User } from '../../types/User'; import convertDate from '../../utils/date'; import UserEditDialog from '../Dialogs/UserEdit/UserEditDialog'; import UserImageDialog from '../Dialogs/UserImage/UserImageDialog'; import Post from '../Post/Post'; interface Props { user: User; posts: PostAuth[]; canEdit?: boolean; } const Profile: FC = ({ user, posts, canEdit }) => { const [editOpen, setEditOpen] = useState(false); const [imageOpen, setImageOpen] = useState(false); const { t } = useTranslation(); return ( setImageOpen(true)}> {t('Username')}: {user.username} {t('Email')}: {user.email} {t('Member since')}: {convertDate(user.memberSince)} {t('Post count')}: {user.postCount} {canEdit && ( <> setEditOpen(false)} /> setImageOpen(false)} /> )} {t('Recent posts')} {posts.map((post) => ( ))} ); }; export default Profile;