import React, { useEffect, useState } from "react"; import { makeStyles } from "@material-ui/core/styles"; import Typography from "@material-ui/core/Typography"; import IconButton from "@material-ui/core/IconButton"; import CloseIcon from "@material-ui/icons/Close"; import Drawer from "@material-ui/core/Drawer"; import Link from "@material-ui/core/Link"; import InputLabel from "@material-ui/core/InputLabel"; import Avatar from "@material-ui/core/Avatar"; import Button from "@material-ui/core/Button"; import Paper from "@material-ui/core/Paper"; import CreateIcon from '@material-ui/icons/Create'; import { i18n } from "../../translate/i18n"; import ContactDrawerSkeleton from "../ContactDrawerSkeleton"; import MarkdownWrapper from "../MarkdownWrapper"; import { CardHeader } from "@material-ui/core"; import { ContactForm } from "../ContactForm"; import ContactModal from "../ContactModal"; import { ContactNotes } from "../ContactNotes"; const drawerWidth = 320; const useStyles = makeStyles(theme => ({ drawer: { width: drawerWidth, flexShrink: 0, }, drawerPaper: { width: drawerWidth, display: "flex", borderTop: "1px solid rgba(0, 0, 0, 0.12)", borderRight: "1px solid rgba(0, 0, 0, 0.12)", borderBottom: "1px solid rgba(0, 0, 0, 0.12)", borderTopRightRadius: 4, borderBottomRightRadius: 4, }, header: { display: "flex", borderBottom: "1px solid rgba(0, 0, 0, 0.12)", backgroundColor: theme.palette.contactdrawer, //DARK MODE PLW DESIGN// alignItems: "center", padding: theme.spacing(0, 1), minHeight: "73px", justifyContent: "flex-start", }, content: { display: "flex", backgroundColor: theme.palette.contactdrawer, //DARK MODE PLW DESIGN// flexDirection: "column", padding: "8px 0px 8px 8px", height: "100%", overflowY: "scroll", ...theme.scrollbarStyles, }, contactAvatar: { margin: 15, width: 100, height: 100, }, contactHeader: { display: "flex", padding: 8, flexDirection: "column", alignItems: "center", justifyContent: "center", "& > *": { margin: 4, }, }, contactDetails: { marginTop: 8, padding: 8, display: "flex", flexDirection: "column", }, contactExtraInfo: { marginTop: 4, padding: 6, }, })); const ContactDrawer = ({ open, handleDrawerClose, contact, ticket, loading }) => { const classes = useStyles(); const [modalOpen, setModalOpen] = useState(false); const [openForm, setOpenForm] = useState(false); useEffect(() => { setOpenForm(false); }, [open, contact]); return ( <>
{i18n.t("contactDrawer.header")}
{loading ? ( ) : (
{}} style={{ cursor: "pointer", width: '100%' }} titleTypographyProps={{ noWrap: true }} subheaderTypographyProps={{ noWrap: true }} avatar={} title={ <> setOpenForm(true)}> {contact.name} } subheader={ <> {contact.number} {contact.email} } /> {(contact.id && openForm) && setOpenForm(false)} />} {i18n.t("ticketOptionsMenu.appointmentsModal.title")} setModalOpen(false)} contactId={contact.id} > {i18n.t("contactDrawer.extraInfo")} {contact?.extraInfo?.map(info => ( {info.name} {info.value} ))}
)}
); }; export default ContactDrawer;