import React, { useEffect } from "react"; import { Button } from "../../tremor/Button"; import { Text } from "../../tremor/Text"; import { useBackend } from "../../layouts"; import { useDashboard } from "../../layouts/Dashboard/useDashboard"; import { useAutomationsModal } from "./useAutomationsModal"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import utc from "dayjs/plugin/utc"; import timezone from "dayjs/plugin/timezone"; import cronstrue from "cronstrue"; dayjs.extend(relativeTime); dayjs.extend(utc); dayjs.extend(timezone); export const AutomationSidebar: React.FC<{}> = ({ }) => { const { open, selectedAutomation, setSelectedAutomation, automations, getAllAutomations, createAutomation } = useAutomationsModal(); const { backend, account, embedUser } = useBackend(); const { dashboard } = useDashboard(); useEffect(() => { if (open && dashboard && backend) { getAllAutomations(backend, dashboard.id); } }, [open, dashboard, backend]); return (
{automations.map(a => (
{ setSelectedAutomation(a); }}> {a.title} {a.schedule.trim() === "" ? "Automation not setup" : cronstrue.toString(a.schedule, { verbose: true })}
))}
) }