"use client"; import { FC, useState } from "react"; import useSWR from "swr"; import { getTicketQuery } from "@/app/_graphql/getTicketQuery"; import { Grid, Box, Typography, Button, Dialog, DialogActions, DialogContent, } from "@mui/material"; import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css"; import { MainContainer, ChatContainer, MessageList, Message, ConversationHeader, } from "@chatscope/chat-ui-kit-react"; import { ArticleCreateDialog } from "./ArticleCreateDialog"; interface TicketDetailProps { id: string; } export const TicketDetail: FC = ({ id }) => { const { data: ticketData, error: ticketError }: any = useSWR( { document: getTicketQuery, variables: { ticketId: `gid://zammad/Ticket/${id}` }, }, { refreshInterval: 100000 } ); console.log({ ticketData, ticketError }); const ticket = ticketData?.ticket; const [dialogOpen, setDialogOpen] = useState(false); const [articleKind, setArticleKind] = useState<"reply" | "note">("reply"); const closeDialog = () => setDialogOpen(false); const shouldRender = ticketData && !ticketError; return ( shouldRender && ( <> {ticket.title} {`Ticket #${ticket.number} (created ${new Date( ticket.createdAt ).toLocaleDateString()})`} {ticket.articles.edges.map(({ node: article }: any) => ( *
*
/g, ""), sentTime: article.updated_at, sender: article.from, direction: article.sender === "Agent" ? "outgoing" : "incoming", position: "single", }} /> ))} ) ); };