import React from "react"; import { ActionIcon, Center, LoadingOverlay, Overlay, Stack, Text, UnstyledButton } from "@mantine/core"; import { useDisclosure, useTimeout } from "@mantine/hooks"; import { IconAutomation, IconCheck } from "@tabler/icons-react"; import { clientApi } from "@homarr/api/client"; import type { WidgetComponentProps } from "../../definition"; export default function SmartHomeTriggerAutomationWidget({ options, integrationIds, isEditMode, }: WidgetComponentProps<"smartHome-executeAutomation">) { const [isShowSuccess, { open: showSuccess, close: closeSuccess }] = useDisclosure(); const { start } = useTimeout(() => { closeSuccess(); }, 1000); const { mutateAsync, isPending } = clientApi.widget.smartHome.executeAutomation.useMutation({ onSuccess: () => { showSuccess(); start(); }, }); const handleClick = React.useCallback(async () => { if (isEditMode) { return; } await mutateAsync({ automationId: options.automationId, integrationId: integrationIds[0] ?? "", }); }, [integrationIds, isEditMode, mutateAsync, options.automationId]); return ( {isShowSuccess && (
)}
{options.displayName}
); }