diff --git a/apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx b/apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx
index 748966960..62f59d9dc 100644
--- a/apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx
+++ b/apps/remix/app/components/dialogs/ai-field-detection-dialog.tsx
@@ -1,29 +1,17 @@
-import { useCallback, useEffect, useMemo, useState } from 'react';
-
+import type { NormalizedFieldWithContext } from '@documenso/lib/server-only/ai/envelope/detect-fields/types';
+import { Alert, AlertDescription } from '@documenso/ui/primitives/alert';
+import { Button } from '@documenso/ui/primitives/button';
+import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from '@documenso/ui/primitives/dialog';
+import { Label } from '@documenso/ui/primitives/label';
+import { Textarea } from '@documenso/ui/primitives/textarea';
import type { MessageDescriptor } from '@lingui/core';
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Plural, Trans } from '@lingui/react/macro';
import { CheckIcon, FormInputIcon, ShieldCheckIcon } from 'lucide-react';
+import { useCallback, useEffect, useMemo, useState } from 'react';
-import type { NormalizedFieldWithContext } from '@documenso/lib/server-only/ai/envelope/detect-fields/types';
-import { Alert, AlertDescription } from '@documenso/ui/primitives/alert';
-import { Button } from '@documenso/ui/primitives/button';
-import {
- Dialog,
- DialogContent,
- DialogFooter,
- DialogHeader,
- DialogTitle,
-} from '@documenso/ui/primitives/dialog';
-import { Label } from '@documenso/ui/primitives/label';
-import { Textarea } from '@documenso/ui/primitives/textarea';
-
-import {
- AiApiError,
- type DetectFieldsProgressEvent,
- detectFields,
-} from '../../../server/api/ai/detect-fields.client';
+import { AiApiError, type DetectFieldsProgressEvent, detectFields } from '../../../server/api/ai/detect-fields.client';
import { AnimatedDocumentScanner } from '../general/animated-document-scanner';
type DialogState = 'PROMPT' | 'PROCESSING' | 'REVIEW' | 'ERROR' | 'RATE_LIMITED';
@@ -171,20 +159,17 @@ export const AiFieldDetectionDialog = ({
-
+
- We'll scan your document to find form fields like signature lines, text inputs,
- checkboxes, and more. Detected fields will be suggested for you to review.
+ We'll scan your document to find form fields like signature lines, text inputs, checkboxes, and more.
+ Detected fields will be suggested for you to review.
-
- Your document is processed securely using AI services that don't retain your
- data.
-
+ Your document is processed securely using AI services that don't retain your data.
@@ -200,7 +185,7 @@ export const AiFieldDetectionDialog = ({
rows={2}
className="resize-none"
/>
-
+
Help the AI assign fields to the right recipients.
@@ -231,7 +216,7 @@ export const AiFieldDetectionDialog = ({
{_(PROCESSING_MESSAGES[messageIndex])}
{progress && (
-
+
)}
-
+
This can take a minute or two depending on the size of your document.
@@ -278,16 +263,16 @@ export const AiFieldDetectionDialog = ({
{detectedFields.length === 0 ? (
-
+
No fields were detected in your document.
-
+
You can add fields manually in the editor.
) : (
<>
-
+
(
{_(FIELD_TYPE_LABELS[type]) || type}
- {count}
+ {count}
))}
@@ -314,7 +299,7 @@ export const AiFieldDetectionDialog = ({
{detectedFields.length > 0 && (
)}
@@ -331,11 +316,11 @@ export const AiFieldDetectionDialog = ({
-
+
Something went wrong while detecting fields.
- {error &&
{error}
}
+ {error &&
{error}
}
@@ -358,10 +343,8 @@ export const AiFieldDetectionDialog = ({
-
-
- You've made too many detection requests. Please wait a minute before trying again.
-
+
+ You've made too many detection requests. Please wait a minute before trying again.
diff --git a/apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx b/apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx
index cef7903c9..b0759e638 100644
--- a/apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx
+++ b/apps/remix/app/components/dialogs/ai-recipient-detection-dialog.tsx
@@ -1,22 +1,14 @@
-import { useCallback, useEffect, useState } from 'react';
-
-import { msg } from '@lingui/core/macro';
-import { useLingui } from '@lingui/react';
-import { Plural, Trans } from '@lingui/react/macro';
-import { CheckIcon, ShieldCheckIcon, UserIcon, XIcon } from 'lucide-react';
-
import { RECIPIENT_ROLES_DESCRIPTION } from '@documenso/lib/constants/recipient-roles';
import type { TDetectedRecipientSchema } from '@documenso/lib/server-only/ai/envelope/detect-recipients/schema';
import { Alert, AlertDescription } from '@documenso/ui/primitives/alert';
import { AvatarWithText } from '@documenso/ui/primitives/avatar';
import { Button } from '@documenso/ui/primitives/button';
-import {
- Dialog,
- DialogContent,
- DialogFooter,
- DialogHeader,
- DialogTitle,
-} from '@documenso/ui/primitives/dialog';
+import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from '@documenso/ui/primitives/dialog';
+import { msg } from '@lingui/core/macro';
+import { useLingui } from '@lingui/react';
+import { Plural, Trans } from '@lingui/react/macro';
+import { CheckIcon, ShieldCheckIcon, UserIcon, XIcon } from 'lucide-react';
+import { useCallback, useEffect, useState } from 'react';
import {
AiApiError,
@@ -146,20 +138,17 @@ export const AiRecipientDetectionDialog = ({
-
+
- We'll scan your document to find signature fields and identify who needs to sign.
- Detected recipients will be suggested for you to review.
+ We'll scan your document to find signature fields and identify who needs to sign. Detected recipients
+ will be suggested for you to review.
-
- Your document is processed securely using AI services that don't retain your
- data.
-
+ Your document is processed securely using AI services that don't retain your data.
@@ -189,7 +178,7 @@ export const AiRecipientDetectionDialog = ({
{_(PROCESSING_MESSAGES[messageIndex])}
{progress && (
-
+
)}
-
+
This can take a minute or two depending on the size of your document.
@@ -236,16 +225,16 @@ export const AiRecipientDetectionDialog = ({
{detectedRecipients.length === 0 ? (
-
+
No recipients were detected in your document.
-
+
You can add recipients manually in the editor.
) : (
<>
-
+
+
{recipient.name || _(msg`Unknown name`)}
}
secondaryText={
-
-
+
+
{recipient.email || _(msg`No email detected`)}
{_(RECIPIENT_ROLES_DESCRIPTION[recipient.role].roleName)}
@@ -304,7 +293,7 @@ export const AiRecipientDetectionDialog = ({
{detectedRecipients.length > 0 && (
)}
@@ -321,11 +310,11 @@ export const AiRecipientDetectionDialog = ({
-
+
Something went wrong while detecting recipients.
- {error &&
{error}
}
+ {error &&
{error}
}
@@ -349,10 +338,8 @@ export const AiRecipientDetectionDialog = ({
-
-
- You've made too many detection requests. Please wait a minute before trying again.
-
+
+ You've made too many detection requests. Please wait a minute before trying again.
diff --git a/apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx b/apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx
index b6c38e4d0..02297dae9 100644
--- a/apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx
+++ b/apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx
@@ -1,10 +1,3 @@
-import { useState } from 'react';
-
-import { zodResolver } from '@hookform/resolvers/zod';
-import { Trans, useLingui } from '@lingui/react/macro';
-import { useForm } from 'react-hook-form';
-import { z } from 'zod';
-
import { zEmail } from '@documenso/lib/utils/zod';
import { Button } from '@documenso/ui/primitives/button';
import {
@@ -15,15 +8,13 @@ import {
DialogHeader,
DialogTitle,
} from '@documenso/ui/primitives/dialog';
-import {
- Form,
- FormControl,
- FormField,
- FormItem,
- FormLabel,
- FormMessage,
-} from '@documenso/ui/primitives/form/form';
+import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '@documenso/ui/primitives/form/form';
import { Input } from '@documenso/ui/primitives/input';
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Trans, useLingui } from '@lingui/react/macro';
+import { useState } from 'react';
+import { useForm } from 'react-hook-form';
+import { z } from 'zod';
import { DocumentSigningDisclosure } from '../general/document-signing/document-signing-disclosure';
@@ -104,9 +95,8 @@ export function AssistantConfirmationDialog({
- Are you sure you want to complete the document? This action cannot be undone.
- Please ensure that you have completed prefilling all relevant fields before
- proceeding.
+ Are you sure you want to complete the document? This action cannot be undone. Please ensure that you
+ have completed prefilling all relevant fields before proceeding.
@@ -116,7 +106,7 @@ export function AssistantConfirmationDialog({
{!isEditingNextSigner && (
-
+
The next recipient to sign this document will be{' '}
{form.watch('name')} (
@@ -147,11 +137,7 @@ export function AssistantConfirmationDialog({
Name
-
+
diff --git a/apps/remix/app/components/dialogs/claim-create-dialog.tsx b/apps/remix/app/components/dialogs/claim-create-dialog.tsx
index b308fa485..88c936e5f 100644
--- a/apps/remix/app/components/dialogs/claim-create-dialog.tsx
+++ b/apps/remix/app/components/dialogs/claim-create-dialog.tsx
@@ -1,8 +1,3 @@
-import { useState } from 'react';
-
-import { Trans, useLingui } from '@lingui/react/macro';
-import type { z } from 'zod';
-
import type { TLicenseClaim } from '@documenso/lib/types/license';
import { generateDefaultSubscriptionClaim } from '@documenso/lib/utils/organisations-claims';
import { trpc } from '@documenso/trpc/react';
@@ -18,6 +13,9 @@ import {
DialogTrigger,
} from '@documenso/ui/primitives/dialog';
import { useToast } from '@documenso/ui/primitives/use-toast';
+import { Trans, useLingui } from '@lingui/react/macro';
+import { useState } from 'react';
+import type { z } from 'zod';
import { SubscriptionClaimForm } from '../forms/subscription-claim-form';
@@ -75,12 +73,7 @@ export const ClaimCreateDialog = ({ licenseFlags }: ClaimCreateDialogProps) => {
licenseFlags={licenseFlags}
formSubmitTrigger={
-