import { useContext, useMemo } from "react"; import dynamic from "next/dynamic"; import { ShowDateContext } from "../../utils/contexts/calendar"; import MonthlyView from "./monthly-view"; import Container from "components/services/widget/container"; export default function Component({ service }) { const { widget } = service; const { showDate } = useContext(ShowDateContext); // params for API fetch const params = useMemo(() => { if (!showDate) { return {}; } return { start: showDate.minus({ months: 3 }).toFormat("yyyy-MM-dd"), end: showDate.plus({ months: 3 }).toFormat("yyyy-MM-dd"), unmonitored: "false", }; }, [showDate]); // Load active integrations const integrations = useMemo( () => widget.integrations?.map((integration) => ({ service: dynamic(() => import(`./integrations/${integration?.type}`)), widget: integration, })) ?? [], [widget.integrations], ); return (
{integrations.map((integration) => { const Integration = integration.service; const key = integration.widget.type + integration.widget.service_name + integration.widget.service_group; return ( ); })}
); }