import { useState } from 'react'; import { Trans, useLingui } from '@lingui/react/macro'; import type { z } from 'zod'; import { generateDefaultSubscriptionClaim } from '@documenso/lib/utils/organisations-claims'; import { trpc } from '@documenso/trpc/react'; import type { ZCreateSubscriptionClaimRequestSchema } from '@documenso/trpc/server/admin-router/create-subscription-claim.types'; import { Button } from '@documenso/ui/primitives/button'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@documenso/ui/primitives/dialog'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { SubscriptionClaimForm } from '../forms/subscription-claim-form'; export type CreateClaimFormValues = z.infer; export const ClaimCreateDialog = () => { const { t } = useLingui(); const { toast } = useToast(); const [open, setOpen] = useState(false); const { mutateAsync: createClaim, isPending } = trpc.admin.claims.create.useMutation({ onSuccess: () => { toast({ title: t`Subscription claim created successfully.`, }); setOpen(false); }, onError: () => { toast({ title: t`Failed to create subscription claim.`, variant: 'destructive', }); }, }); return ( e.stopPropagation()} asChild={true}> Create Subscription Claim Fill in the details to create a new subscription claim. } /> ); };