import { LoaderCircleIcon } from 'lucide-react'; import React from 'react'; import { useIntl } from 'react-intl'; import { useDisclosure } from '@crux-kit/hooks'; import { Button } from '#shared/ui/Button'; import { Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '#shared/ui/Dialog'; import { Skeleton } from '#shared/ui/Skeleton'; import { useGetDetailed } from '../../api/detailed'; import { FORM_ID, initialValues, MainForm, prepareInitialValues, useSubmit } from '../forms/MainForm'; export const ManageTrigger: React.FC< React.PropsWithChildren<{ title: string; id: number | null; }> > = ({ id, children, title }) => { const intl = useIntl(); const dialog = useDisclosure(false); const { data, isLoading } = useGetDetailed( id == null || dialog.isOpen === false ? undefined : { id: String(id) } ); const { isSubmitting, submit } = useSubmit({ onSuccess: dialog.close }); return ( {children} {title} {isLoading ? (
) : ( )}
); };