import { useBridgeMutation } from '@sd/client'; import { Input } from '@sd/ui'; import { useQueryClient } from '@tanstack/react-query'; import { PropsWithChildren, useState } from 'react'; import Dialog from '../layout/Dialog'; export default function CreateLibraryDialog({ children, onSubmit }: PropsWithChildren<{ onSubmit?: () => void }>) { const [openCreateModal, setOpenCreateModal] = useState(false); const [newLibName, setNewLibName] = useState(''); const queryClient = useQueryClient(); const { mutate: createLibrary, isLoading: createLibLoading } = useBridgeMutation( 'library.create', { onSuccess: (library: any) => { setOpenCreateModal(false); queryClient.setQueryData(['library.list'], (libraries: any) => [ ...(libraries || []), library ]); if (onSubmit) onSubmit(); }, onError: (err: any) => { console.error(err); } } ); return ( createLibrary(newLibName)} loading={createLibLoading} submitDisabled={!newLibName} ctaLabel="Create" trigger={children} > setNewLibName(e.target.value)} /> ); }