import { Button, useToast, VStack, Text, IconButton, Tooltip, useDisclosure, } from '@chakra-ui/react' import { EyeIcon } from 'assets/icons' import { Typebot } from 'models' import React, { useEffect, useState } from 'react' import { sendRequest } from 'utils' import { TemplateProps } from './data' import { PreviewModal } from './PreviewModal' type Props = { template: TemplateProps onClick: (typebot: Typebot) => void } export const TemplateButton = ({ template, onClick }: Props) => { const [typebot, setTypebot] = useState() const { isOpen, onOpen, onClose } = useDisclosure() const toast = useToast({ position: 'top-right', status: 'error', }) useEffect(() => { fetchTemplate() // eslint-disable-next-line react-hooks/exhaustive-deps }, []) const fetchTemplate = async () => { const { data, error } = await sendRequest(`/templates/${template.fileName}`) if (error) return toast({ title: error.name, description: error.message }) setTypebot(data as Typebot) } const handleTemplateClick = async () => typebot && onClick(typebot) const handlePreviewClick = (e: React.MouseEvent) => { e.stopPropagation() onOpen() } return ( <> {typebot && ( )} ) }