'use client'; import { Button, Dialog, DialogBackdrop, DialogPanel, DialogTitle } from '@headlessui/react'; import clsx from 'clsx'; import CheckboxField from 'components/form/checkbox-field'; import FileInput from 'components/form/file-input'; import Input from 'components/form/input-field'; import LoadingDots from 'components/loading-dots'; import { Order } from 'lib/shopify/types'; import { FormEventHandler, useRef, useTransition } from 'react'; import { activateWarranty } from './actions'; type ActivateWarrantyModalProps = { isOpen: boolean; onClose: () => void; order: Order; }; function ActivateWarrantyModal({ onClose, isOpen, order }: ActivateWarrantyModalProps) { const [pending, startTransition] = useTransition(); const formRef = useRef(null); const handleSubmit: FormEventHandler = (event) => { event.preventDefault(); const form = formRef.current; if (!form) return; const formData = new FormData(form); startTransition(async () => { await activateWarranty(order, formData); form.reset(); onClose(); }); }; return ( {/* The backdrop, rendered as a fixed sibling to the panel container */} {/* Full-screen container to center the panel */}
{/* The actual dialog panel */} Activate Warranty
); } export default ActivateWarrantyModal;