Merge branch 'main' into exp/autoplace-fields

This commit is contained in:
Ephraim Duncan
2025-11-19 00:44:51 +00:00
committed by GitHub
213 changed files with 1920 additions and 1439 deletions

View File

@ -1,7 +1,7 @@
import { useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import { useForm } from 'react-hook-form';
import { z } from 'zod';
@ -57,6 +57,7 @@ export function AssistantConfirmationDialog({
allowDictateNextSigner = false,
defaultNextSigner,
}: ConfirmationDialogProps) {
const { t } = useLingui();
const [isEditingNextSigner, setIsEditingNextSigner] = useState(false);
const form = useForm<TNextSignerFormSchema>({
@ -146,7 +147,7 @@ export function AssistantConfirmationDialog({
<Input
{...field}
className="mt-2"
placeholder="Enter the next signer's name"
placeholder={t`Enter the next signer's name`}
/>
</FormControl>
@ -168,7 +169,7 @@ export function AssistantConfirmationDialog({
{...field}
type="email"
className="mt-2"
placeholder="Enter the next signer's email"
placeholder={t`Enter the next signer's email`}
/>
</FormControl>
<FormMessage />

View File

@ -126,7 +126,7 @@ export const EnvelopeDownloadDialog = ({
</DialogDescription>
</DialogHeader>
<div className="flex flex-col gap-4">
<div className="flex w-full flex-col gap-4 overflow-hidden">
{isLoadingEnvelopeItems ? (
<>
{Array.from({ length: 1 }).map((_, index) => (
@ -159,7 +159,9 @@ export const EnvelopeDownloadDialog = ({
<div className="min-w-0 flex-1">
{/* Todo: Envelopes - Fix overflow */}
<h4 className="text-foreground truncate text-sm font-medium">{item.title}</h4>
<h4 className="text-foreground truncate text-sm font-medium" title={item.title}>
{item.title}
</h4>
<p className="text-muted-foreground mt-0.5 text-xs">
<Trans>PDF Document</Trans>
</p>

View File

@ -1,8 +1,7 @@
import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useLingui } from '@lingui/react/macro';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import type * as DialogPrimitive from '@radix-ui/react-dialog';
import { useForm } from 'react-hook-form';
import type { z } from 'zod';
@ -149,7 +148,7 @@ export const OrganisationEmailCreateDialog = ({
<Trans>Display Name</Trans>
</FormLabel>
<FormControl>
<Input {...field} placeholder="Support" />
<Input {...field} placeholder={t`Support`} />
</FormControl>
<FormMessage />
<FormDescription>
@ -175,7 +174,7 @@ export const OrganisationEmailCreateDialog = ({
onChange={(e) => {
field.onChange(e.target.value + '@' + emailDomain.domain);
}}
placeholder="support"
placeholder={t`support`}
/>
<div className="bg-muted text-muted-foreground absolute bottom-0 right-0 top-0 flex items-center rounded-r-md border px-3 py-2 text-sm">
@{emailDomain.domain}

View File

@ -1,8 +1,7 @@
import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useLingui } from '@lingui/react/macro';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import type * as DialogPrimitive from '@radix-ui/react-dialog';
import { useForm } from 'react-hook-form';
import type { z } from 'zod';
@ -134,7 +133,7 @@ export const OrganisationEmailUpdateDialog = ({
<Trans>Display Name</Trans>
</FormLabel>
<FormControl>
<Input {...field} placeholder="Support" />
<Input {...field} placeholder={t`Support`} />
</FormControl>
<FormMessage />
<FormDescription>

View File

@ -1,9 +1,7 @@
import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Plural, Trans } from '@lingui/react/macro';
import { Plural, Trans, useLingui } from '@lingui/react/macro';
import type * as DialogPrimitive from '@radix-ui/react-dialog';
import { startRegistration } from '@simplewebauthn/browser';
import { KeyRoundIcon } from 'lucide-react';
@ -54,7 +52,7 @@ export const PasskeyCreateDialog = ({ trigger, onSuccess, ...props }: PasskeyCre
const [open, setOpen] = useState(false);
const [formError, setFormError] = useState<string | null>(null);
const { _ } = useLingui();
const { t } = useLingui();
const { toast } = useToast();
const form = useForm<TCreatePasskeyFormSchema>({
@ -83,7 +81,7 @@ export const PasskeyCreateDialog = ({ trigger, onSuccess, ...props }: PasskeyCre
});
toast({
description: _(msg`Successfully created passkey`),
description: t`Successfully created passkey`,
duration: 5000,
});
@ -176,7 +174,7 @@ export const PasskeyCreateDialog = ({ trigger, onSuccess, ...props }: PasskeyCre
<Trans>Passkey name</Trans>
</FormLabel>
<FormControl>
<Input className="bg-background" placeholder="eg. Mac" {...field} />
<Input className="bg-background" placeholder={t`eg. Mac`} {...field} />
</FormControl>
<FormMessage />
</FormItem>

View File

@ -1,9 +1,7 @@
import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import type * as DialogPrimitive from '@radix-ui/react-dialog';
import { Plus } from 'lucide-react';
import { useForm } from 'react-hook-form';
@ -49,7 +47,7 @@ type TCreateTeamEmailFormSchema = z.infer<typeof ZCreateTeamEmailFormSchema>;
export const TeamEmailAddDialog = ({ teamId, trigger, ...props }: TeamEmailAddDialogProps) => {
const [open, setOpen] = useState(false);
const { _ } = useLingui();
const { t } = useLingui();
const { toast } = useToast();
const { revalidate } = useRevalidator();
@ -73,8 +71,8 @@ export const TeamEmailAddDialog = ({ teamId, trigger, ...props }: TeamEmailAddDi
});
toast({
title: _(msg`Success`),
description: _(msg`We have sent a confirmation email for verification.`),
title: t`Success`,
description: t`We have sent a confirmation email for verification.`,
duration: 5000,
});
@ -87,17 +85,15 @@ export const TeamEmailAddDialog = ({ teamId, trigger, ...props }: TeamEmailAddDi
if (error.code === AppErrorCode.ALREADY_EXISTS) {
form.setError('email', {
type: 'manual',
message: _(msg`This email is already being used by another team.`),
message: t`This email is already being used by another team.`,
});
return;
}
toast({
title: _(msg`An unknown error occurred`),
description: _(
msg`We encountered an unknown error while attempting to add this email. Please try again later.`,
),
title: t`An unknown error occurred`,
description: t`We encountered an unknown error while attempting to add this email. Please try again later.`,
variant: 'destructive',
});
}
@ -150,7 +146,7 @@ export const TeamEmailAddDialog = ({ teamId, trigger, ...props }: TeamEmailAddDi
<Trans>Name</Trans>
</FormLabel>
<FormControl>
<Input className="bg-background" placeholder="eg. Legal" {...field} />
<Input className="bg-background" placeholder={t`eg. Legal`} {...field} />
</FormControl>
<FormMessage />
</FormItem>

View File

@ -1,9 +1,7 @@
import { useEffect, useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import type { TeamEmail } from '@prisma/client';
import type * as DialogPrimitive from '@radix-ui/react-dialog';
import { useForm } from 'react-hook-form';
@ -50,7 +48,7 @@ export const TeamEmailUpdateDialog = ({
}: TeamEmailUpdateDialogProps) => {
const [open, setOpen] = useState(false);
const { _ } = useLingui();
const { t } = useLingui();
const { toast } = useToast();
const { revalidate } = useRevalidator();
@ -73,8 +71,8 @@ export const TeamEmailUpdateDialog = ({
});
toast({
title: _(msg`Success`),
description: _(msg`Team email was updated.`),
title: t`Success`,
description: t`Team email was updated.`,
duration: 5000,
});
@ -83,10 +81,8 @@ export const TeamEmailUpdateDialog = ({
setOpen(false);
} catch (err) {
toast({
title: _(msg`An unknown error occurred`),
description: _(
msg`We encountered an unknown error while attempting update the team email. Please try again later.`,
),
title: t`An unknown error occurred`,
description: t`We encountered an unknown error while attempting update the team email. Please try again later.`,
variant: 'destructive',
});
}
@ -138,7 +134,7 @@ export const TeamEmailUpdateDialog = ({
<Trans>Name</Trans>
</FormLabel>
<FormControl>
<Input className="bg-background" placeholder="eg. Legal" {...field} />
<Input className="bg-background" placeholder={t`eg. Legal`} {...field} />
</FormControl>
<FormMessage />
</FormItem>

View File

@ -1,9 +1,7 @@
import { useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Trans } from '@lingui/react/macro';
import { Trans, useLingui } from '@lingui/react/macro';
import type { Webhook } from '@prisma/client';
import { WebhookTriggerEvents } from '@prisma/client';
import { useForm } from 'react-hook-form';
@ -52,7 +50,7 @@ const ZTestWebhookFormSchema = z.object({
type TTestWebhookFormSchema = z.infer<typeof ZTestWebhookFormSchema>;
export const WebhookTestDialog = ({ webhook, children }: WebhookTestDialogProps) => {
const { _ } = useLingui();
const { t } = useLingui();
const { toast } = useToast();
const team = useCurrentTeam();
@ -77,18 +75,16 @@ export const WebhookTestDialog = ({ webhook, children }: WebhookTestDialogProps)
});
toast({
title: _(msg`Test webhook sent`),
description: _(msg`The test webhook has been successfully sent to your endpoint.`),
title: t`Test webhook sent`,
description: t`The test webhook has been successfully sent to your endpoint.`,
duration: 5000,
});
setOpen(false);
} catch (error) {
toast({
title: _(msg`Test webhook failed`),
description: _(
msg`We encountered an error while sending the test webhook. Please check your endpoint and try again.`,
),
title: t`Test webhook failed`,
description: t`We encountered an error while sending the test webhook. Please check your endpoint and try again.`,
variant: 'destructive',
duration: 5000,
});
@ -129,7 +125,7 @@ export const WebhookTestDialog = ({ webhook, children }: WebhookTestDialogProps)
<Select onValueChange={field.onChange} value={field.value}>
<FormControl>
<SelectTrigger>
<SelectValue placeholder="Select an event type" />
<SelectValue placeholder={t`Select an event type`} />
</SelectTrigger>
</FormControl>
<SelectContent>