2023-06-26 10:07:12 +00:00
|
|
|
"use client";
|
|
|
|
|
|
2023-10-16 09:20:40 +02:00
|
|
|
import { FC, useEffect, useState } from "react";
|
2024-08-05 23:31:15 +02:00
|
|
|
import { getOverviewTicketsAction } from "app/_actions/overviews";
|
|
|
|
|
|
2023-06-26 10:07:12 +00:00
|
|
|
import { TicketList } from "./TicketList";
|
|
|
|
|
|
|
|
|
|
type ZammadOverviewProps = {
|
|
|
|
|
name: string;
|
|
|
|
|
};
|
2022-12-02 17:45:14 +01:00
|
|
|
|
2023-11-10 14:17:09 +01:00
|
|
|
export const ZammadOverview: FC<ZammadOverviewProps> = ({ name }) => {
|
2023-10-16 09:20:40 +02:00
|
|
|
const [tickets, setTickets] = useState([]);
|
2023-11-10 14:17:09 +01:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
2024-08-05 23:31:15 +02:00
|
|
|
const fetchTickets = async () => {
|
|
|
|
|
const { tickets } = await getOverviewTicketsAction(name);
|
|
|
|
|
setTickets(tickets);
|
|
|
|
|
};
|
2023-06-07 08:02:29 +00:00
|
|
|
|
2024-08-05 23:31:15 +02:00
|
|
|
fetchTickets();
|
2023-10-16 09:20:40 +02:00
|
|
|
|
2024-08-05 23:31:15 +02:00
|
|
|
const interval = setInterval(fetchTickets, 20000);
|
2023-10-16 09:20:40 +02:00
|
|
|
|
2024-08-05 23:31:15 +02:00
|
|
|
return () => clearInterval(interval);
|
2023-10-16 09:20:40 +02:00
|
|
|
}, [name]);
|
|
|
|
|
|
2024-08-05 23:31:15 +02:00
|
|
|
return <TicketList title={name} tickets={tickets} />;
|
2023-06-07 08:02:29 +00:00
|
|
|
};
|