hunt-blacklist-frontend/app/components/itemDialog.tsx

49 lines
2.0 KiB
TypeScript

import type {BlacklistItem} from "~/classes/blacklistItem";
import {Dialog, DialogContent, DialogTitle, Divider} from "@mui/material";
import NicknameList from "~/components/itemDialog/nicknameList";
import CommentsList from "~/components/itemDialog/commentsList";
import TagList from "~/components/itemDialog/tagList";
import TitleHeader from "~/components/itemDialog/titleHeader";
import useWindowDimensions from "~/hooks/windowDimensions";
import trimLink from "~/functions/trimLink";
export default function ItemDialog({ blacklistItem, open, handleClose }: { blacklistItem: BlacklistItem|null, open: boolean, handleClose: Function }){
if (blacklistItem){
const { width } = useWindowDimensions();
return (
<Dialog
open={open}
onClose={() => handleClose()}
>
<DialogTitle>
<TitleHeader name={width < 570 ? trimLink(blacklistItem?.link) : blacklistItem?.link} handleClose={handleClose}/>
<TagList
afk={blacklistItem?.afk}
cheater={blacklistItem?.cheater}
griefer={blacklistItem?.griefer}
toxic={blacklistItem?.toxic}
useless={blacklistItem?.useless}
smurf={blacklistItem?.smurf}
/>
</DialogTitle>
<Divider sx={{marginTop: '10px', marginBottom: '10px', alignSelf: 'center'}}/>
<DialogContent>
<NicknameList nicknames={blacklistItem?.nicknames}/>
<CommentsList comments={blacklistItem?.comments}/>
</DialogContent>
</Dialog>
)
} else {
return (
<Dialog
open={open}
onClose={() => handleClose()}
>
<DialogContent>
Error: No item
</DialogContent>
</Dialog>
)
}
}