2023-06-26 10:07:12 +00:00
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
import { FC } from "react";
|
2023-06-07 08:02:29 +00:00
|
|
|
import useSWR from "swr";
|
2023-06-26 10:07:12 +00:00
|
|
|
import { TicketList } from "./TicketList";
|
2023-07-11 13:48:05 +00:00
|
|
|
import { getTicketsByOverviewQuery } from "app/_graphql/getTicketsByOverviewQuery";
|
2023-06-26 10:07:12 +00:00
|
|
|
|
|
|
|
|
type ZammadOverviewProps = {
|
|
|
|
|
name: string;
|
|
|
|
|
id: string;
|
|
|
|
|
};
|
2022-12-02 17:45:14 +01:00
|
|
|
|
2023-06-26 10:07:12 +00:00
|
|
|
export const ZammadOverview: FC<ZammadOverviewProps> = ({ name, id }) => {
|
2023-06-07 08:02:29 +00:00
|
|
|
const { data: ticketData, error: ticketError }: any = useSWR(
|
|
|
|
|
{
|
|
|
|
|
document: getTicketsByOverviewQuery,
|
2023-06-26 10:07:12 +00:00
|
|
|
variables: { overviewId: `gid://zammad/Overview/${id}` },
|
2023-06-07 08:02:29 +00:00
|
|
|
},
|
|
|
|
|
{ refreshInterval: 10000 }
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const shouldRender = !ticketError && ticketData;
|
|
|
|
|
const tickets =
|
|
|
|
|
ticketData?.ticketsByOverview?.edges.map((edge: any) => edge.node) || [];
|
|
|
|
|
|
|
|
|
|
return (
|
2023-06-26 10:07:12 +00:00
|
|
|
<>
|
2023-07-17 12:23:12 +00:00
|
|
|
{shouldRender && <TicketList title={name} tickets={tickets} />}
|
2023-06-07 08:02:29 +00:00
|
|
|
{ticketError && <div>{ticketError.toString()}</div>}
|
2023-06-26 10:07:12 +00:00
|
|
|
</>
|
2023-06-07 08:02:29 +00:00
|
|
|
);
|
|
|
|
|
};
|