fix: keep the fix in the UI

This commit is contained in:
Catalin Pit
2026-09-21 10:13:42 +03:00
parent 3d37d93aa0
commit 2bc44cf479
8 changed files with 13 additions and 18 deletions
@@ -38,9 +38,9 @@ type EnvelopeDownloadDialogProps = {
/** /**
* Used as the display/download name for single-item envelopes, since item titles * Used as the display/download name for single-item envelopes, since item titles
* are never updated on rename. Pass it alongside `envelopeItems`. * are never updated when the envelope is renamed.
*/ */
envelopeTitle?: string; envelopeTitle: string;
/** /**
* The recipient token to download the document. * The recipient token to download the document.
@@ -56,7 +56,7 @@ export const EnvelopeDownloadDialog = ({
envelopeStatus, envelopeStatus,
isLegacy, isLegacy,
envelopeItems: initialEnvelopeItems, envelopeItems: initialEnvelopeItems,
envelopeTitle: initialEnvelopeTitle, envelopeTitle,
token, token,
trigger, trigger,
}: EnvelopeDownloadDialogProps) => { }: EnvelopeDownloadDialogProps) => {
@@ -104,18 +104,14 @@ export const EnvelopeDownloadDialog = ({
access: token ? { type: 'recipient', token } : { type: 'user' }, access: token ? { type: 'recipient', token } : { type: 'user' },
}, },
{ {
initialData: initialEnvelopeItems initialData: initialEnvelopeItems ? { data: initialEnvelopeItems } : undefined,
? { data: initialEnvelopeItems, envelopeTitle: initialEnvelopeTitle ?? '' }
: undefined,
enabled: open, enabled: open,
}, },
); );
const envelopeItems = envelopeItemsPayload?.data || []; const envelopeItems = envelopeItemsPayload?.data || [];
const envelopeTitle = envelopeItemsPayload?.envelopeTitle;
const getItemTitle = (item: EnvelopeItemToDownload) => const getItemTitle = (item: EnvelopeItemToDownload) => (envelopeItems.length === 1 ? envelopeTitle : item.title);
envelopeItems.length === 1 && envelopeTitle ? envelopeTitle : item.title;
const onDownload = async (envelopeItem: EnvelopeItemToDownload, version: 'original' | 'signed' | 'pending') => { const onDownload = async (envelopeItem: EnvelopeItemToDownload, version: 'original' | 'signed' | 'pending') => {
const { id: envelopeItemId } = envelopeItem; const { id: envelopeItemId } = envelopeItem;
@@ -150,7 +150,7 @@ export const EnvelopesBulkDownloadDialog = ({
try { try {
const downloadVersion = getDownloadVersion(envelope); const downloadVersion = getDownloadVersion(envelope);
const { data: envelopeItems, envelopeTitle } = await trpcUtils.envelope.item.getManyByToken.fetch({ const { data: envelopeItems } = await trpcUtils.envelope.item.getManyByToken.fetch({
envelopeId: envelope.id, envelopeId: envelope.id,
access: { access: {
type: 'user', type: 'user',
@@ -171,7 +171,7 @@ export const EnvelopesBulkDownloadDialog = ({
const { filename, blob } = await fetchPDF({ const { filename, blob } = await fetchPDF({
envelopeItem, envelopeItem,
token: undefined, token: undefined,
fileName: envelopeItems.length === 1 ? envelopeTitle : envelopeItem.title, fileName: envelopeItems.length === 1 ? envelope.title : envelopeItem.title,
version: downloadVersion, version: downloadVersion,
}); });
@@ -99,6 +99,7 @@ export const DocumentsTableActionButton = ({ row }: DocumentsTableActionButtonPr
<EnvelopeDownloadDialog <EnvelopeDownloadDialog
envelopeId={row.envelopeId} envelopeId={row.envelopeId}
envelopeStatus={row.status} envelopeStatus={row.status}
envelopeTitle={row.title}
token={recipient?.token} token={recipient?.token}
trigger={ trigger={
<Button className="w-32"> <Button className="w-32">
@@ -154,6 +154,7 @@ export const DocumentsTableActionDropdown = ({ row, onMoveDocument }: DocumentsT
<EnvelopeDownloadDialog <EnvelopeDownloadDialog
envelopeId={row.envelopeId} envelopeId={row.envelopeId}
envelopeStatus={row.status} envelopeStatus={row.status}
envelopeTitle={row.title}
isLegacy={row.internalVersion === 1} isLegacy={row.internalVersion === 1}
token={canManageDocument ? undefined : recipient?.token} token={canManageDocument ? undefined : recipient?.token}
trigger={ trigger={
@@ -248,6 +248,7 @@ export const InboxTableActionButton = ({ row }: InboxTableActionButtonProps) =>
<EnvelopeDownloadDialog <EnvelopeDownloadDialog
envelopeId={row.envelopeId} envelopeId={row.envelopeId}
envelopeStatus={row.status} envelopeStatus={row.status}
envelopeTitle={row.title}
token={recipient?.token} token={recipient?.token}
trigger={ trigger={
<Button className="w-32"> <Button className="w-32">
@@ -66,6 +66,7 @@ export const TemplatesTableActionDropdown = ({
<EnvelopeDownloadDialog <EnvelopeDownloadDialog
envelopeId={row.envelopeId} envelopeId={row.envelopeId}
envelopeStatus={DocumentStatus.DRAFT} envelopeStatus={DocumentStatus.DRAFT}
envelopeTitle={row.title}
trigger={ trigger={
<DropdownMenuItem asChild onSelect={(e) => e.preventDefault()}> <DropdownMenuItem asChild onSelect={(e) => e.preventDefault()}>
<div> <div>
@@ -34,7 +34,7 @@ export const getEnvelopeItemsByTokenRoute = maybeAuthenticatedProcedure
}); });
} }
const { envelopeItems: data, envelopeTitle } = await handleGetEnvelopeItemsByUser({ const { envelopeItems: data } = await handleGetEnvelopeItemsByUser({
envelopeId, envelopeId,
userId: user.id, userId: user.id,
teamId, teamId,
@@ -42,18 +42,16 @@ export const getEnvelopeItemsByTokenRoute = maybeAuthenticatedProcedure
return { return {
data, data,
envelopeTitle,
}; };
} }
const { envelopeItems: data, envelopeTitle } = await handleGetEnvelopeItemsByToken({ const { envelopeItems: data } = await handleGetEnvelopeItemsByToken({
envelopeId, envelopeId,
token: access.token, token: access.token,
}); });
return { return {
data, data,
envelopeTitle,
}; };
}); });
@@ -85,7 +83,6 @@ const handleGetEnvelopeItemsByToken = async ({ envelopeId, token }: { envelopeId
return { return {
envelopeItems: envelope.envelopeItems, envelopeItems: envelope.envelopeItems,
envelopeTitle: envelope.title,
}; };
}; };
@@ -150,6 +147,5 @@ const handleGetEnvelopeItemsByUser = async ({
return { return {
envelopeItems: envelope.envelopeItems, envelopeItems: envelope.envelopeItems,
envelopeTitle: envelope.title,
}; };
}; };
@@ -21,5 +21,4 @@ export const ZGetEnvelopeItemsByTokenResponseSchema = z.object({
title: true, title: true,
order: true, order: true,
}).array(), }).array(),
envelopeTitle: z.string(),
}); });