-
+
The next recipient to sign this document will be{' '}
{form.watch('name')} (
diff --git a/apps/remix/app/components/dialogs/folder-create-dialog.tsx b/apps/remix/app/components/dialogs/folder-create-dialog.tsx
index ed96527b5..f7623885f 100644
--- a/apps/remix/app/components/dialogs/folder-create-dialog.tsx
+++ b/apps/remix/app/components/dialogs/folder-create-dialog.tsx
@@ -40,13 +40,21 @@ type TCreateFolderFormSchema = z.infer;
export type FolderCreateDialogProps = {
type: FolderType;
trigger?: React.ReactNode;
+ parentFolderId?: string | null;
} & Omit;
-export const FolderCreateDialog = ({ type, trigger, ...props }: FolderCreateDialogProps) => {
+export const FolderCreateDialog = ({
+ type,
+ trigger,
+ parentFolderId,
+ ...props
+}: FolderCreateDialogProps) => {
const { t } = useLingui();
const { toast } = useToast();
const { folderId } = useParams();
+ const parentId = parentFolderId ?? folderId;
+
const [isCreateFolderOpen, setIsCreateFolderOpen] = useState(false);
const { mutateAsync: createFolder } = trpc.folder.createFolder.useMutation();
@@ -62,7 +70,7 @@ export const FolderCreateDialog = ({ type, trigger, ...props }: FolderCreateDial
try {
await createFolder({
name: data.name,
- parentId: folderId,
+ parentId,
type,
});
diff --git a/apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx b/apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx
index 658b10b44..97c670e32 100644
--- a/apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx
+++ b/apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx
@@ -60,11 +60,11 @@ export const ConfigureDocumentAdvancedSettings = ({
return (
-
+
Advanced Settings
-
+
Configure additional options and preferences
@@ -100,7 +100,7 @@ export const ConfigureDocumentAdvancedSettings = ({
}))}
selectedValues={field.value}
onChange={field.onChange}
- className="bg-background w-full"
+ className="w-full bg-background"
emptySelectionPlaceholder={t`Select signature types`}
/>
@@ -204,7 +204,7 @@ export const ConfigureDocumentAdvancedSettings = ({
-
+
Add a URL to redirect the user to once the document is signed
@@ -279,7 +279,7 @@ export const ConfigureDocumentAdvancedSettings = ({
@@ -302,7 +302,7 @@ export const ConfigureDocumentAdvancedSettings = ({
diff --git a/apps/remix/app/components/embed/embed-client-loading.tsx b/apps/remix/app/components/embed/embed-client-loading.tsx
index 02275efae..97451b115 100644
--- a/apps/remix/app/components/embed/embed-client-loading.tsx
+++ b/apps/remix/app/components/embed/embed-client-loading.tsx
@@ -3,7 +3,7 @@ import { Loader } from 'lucide-react';
export const EmbedClientLoading = () => {
return (
-
+
diff --git a/apps/remix/app/components/general/app-nav-mobile.tsx b/apps/remix/app/components/general/app-nav-mobile.tsx
index 38bc76822..b1eea163c 100644
--- a/apps/remix/app/components/general/app-nav-mobile.tsx
+++ b/apps/remix/app/components/general/app-nav-mobile.tsx
@@ -97,13 +97,13 @@ export const AppNavMobile = ({ isMenuOpen, onMenuOpenChange }: AppNavMobileProps
{menuNavigationLinks.map(({ href, text }) => (
handleMenuItemClick()}
>
{text}
{href === '/inbox' && unreadCountData && unreadCountData.count > 0 && (
-
+
{unreadCountData.count > 99 ? '99+' : unreadCountData.count}
)}
@@ -111,7 +111,7 @@ export const AppNavMobile = ({ isMenuOpen, onMenuOpenChange }: AppNavMobileProps
))}
authClient.signOut()}
>
Sign Out
@@ -123,7 +123,7 @@ export const AppNavMobile = ({ isMenuOpen, onMenuOpenChange }: AppNavMobileProps
-
+
© {new Date().getFullYear()} Documenso, Inc.
All rights reserved.
diff --git a/apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx b/apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx
index 8fc70fc2c..5a4132a19 100644
--- a/apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx
+++ b/apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx
@@ -167,7 +167,7 @@ export const DocumentSigningAutoSign = ({ recipient, fields }: DocumentSigningAu
-
+
When you sign a document, we can automatically fill in and sign the following fields
diff --git a/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx b/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx
index e6b2474c1..339a60d98 100644
--- a/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx
+++ b/apps/remix/app/components/general/document-signing/document-signing-field-container.tsx
@@ -131,16 +131,16 @@ export const DocumentSigningFieldContainer = ({
return (
- {!field.inserted && !loading && !readOnlyField && (
- handleInsertField()}
- />
- )}
+ color={getRecipientColorStyles(field.fieldMeta?.readOnly ? 'readOnly' : 0)}
+ field={field}
+ >
+ {!field.inserted && !loading && !readOnlyField && (
+ handleInsertField()}
+ />
+ )}
{type === 'Checkbox' && field.inserted && !loading && !readOnlyField && (
{
const rootPath =
type === FolderType.DOCUMENT ? formatDocumentsPath(team.url) : formatTemplatesPath(team.url);
+ if (parentId) {
+ return `${rootPath}/folders?parentId=${parentId}`;
+ }
+
return `${rootPath}/folders`;
};
@@ -189,13 +193,13 @@ export const FolderGrid = ({ type, parentId }: FolderGridProps) => {
)}
- {foldersData.folders.length > 12 && (
+ {unpinnedFolders.length > 12 && (
- View all folders
+ View all folders
)}
diff --git a/apps/remix/app/components/general/user-profile-skeleton.tsx b/apps/remix/app/components/general/user-profile-skeleton.tsx
index 7a2e2d2fa..087785ad9 100644
--- a/apps/remix/app/components/general/user-profile-skeleton.tsx
+++ b/apps/remix/app/components/general/user-profile-skeleton.tsx
@@ -21,17 +21,17 @@ export const UserProfileSkeleton = ({ className, user, rows = 2 }: UserProfileSk
return (
-
+
{baseUrl.host}/u/{user.url}
-
-
+
@@ -41,16 +41,16 @@ export const UserProfileSkeleton = ({ className, user, rows = 2 }: UserProfileSk
{user.name}
-
+
-
-
+
+
-
-
+
+
Documents
@@ -59,14 +59,14 @@ export const UserProfileSkeleton = ({ className, user, rows = 2 }: UserProfileSk
.map((_, index) => (
diff --git a/apps/remix/app/components/tables/settings-public-profile-templates-table.tsx b/apps/remix/app/components/tables/settings-public-profile-templates-table.tsx
index 45c11ba51..6fa8f1d07 100644
--- a/apps/remix/app/components/tables/settings-public-profile-templates-table.tsx
+++ b/apps/remix/app/components/tables/settings-public-profile-templates-table.tsx
@@ -74,7 +74,7 @@ export const SettingsPublicProfileTemplatesTable = () => {
return (
-
+
{/* Loading and error handling states. */}
{publicDirectTemplates.length === 0 && (
<>
@@ -84,10 +84,10 @@ export const SettingsPublicProfileTemplatesTable = () => {
.map((_, index) => (
-
+
@@ -95,12 +95,12 @@ export const SettingsPublicProfileTemplatesTable = () => {
-
+
))}
{isLoadingError && (
-
+
Unable to load your public profile templates at this time
{
@@ -114,12 +114,12 @@ export const SettingsPublicProfileTemplatesTable = () => {
)}
{!isLoading && (
-
+
No public profile templates found
+
Click here to get started
}
@@ -133,23 +133,23 @@ export const SettingsPublicProfileTemplatesTable = () => {
{publicDirectTemplates.map((template) => (
-
{template.publicTitle}
-
{template.publicDescription}
+
{template.publicTitle}
+
{template.publicDescription}
-
+
diff --git a/apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx b/apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx
index 6b5220d15..4f356f4d2 100644
--- a/apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx
+++ b/apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx
@@ -1,14 +1,13 @@
import { useState } from 'react';
import { Trans, useLingui } from '@lingui/react/macro';
-import { HomeIcon, Loader2, SearchIcon } from 'lucide-react';
-import { useNavigate } from 'react-router';
+import { FolderIcon, HomeIcon, Loader2, SearchIcon } from 'lucide-react';
+import { Link, useSearchParams } from 'react-router';
import { FolderType } from '@documenso/lib/types/folder-type';
import { formatDocumentsPath } from '@documenso/lib/utils/teams';
import { trpc } from '@documenso/trpc/react';
import { type TFolderWithSubfolders } from '@documenso/trpc/server/folder-router/schema';
-import { Button } from '@documenso/ui/primitives/button';
import { Input } from '@documenso/ui/primitives/input';
import { FolderCreateDialog } from '~/components/dialogs/folder-create-dialog';
@@ -26,8 +25,10 @@ export function meta() {
export default function DocumentsFoldersPage() {
const { t } = useLingui();
- const navigate = useNavigate();
const team = useCurrentTeam();
+ const [searchParams] = useSearchParams();
+
+ const parentId = searchParams.get('parentId');
const [isMovingFolder, setIsMovingFolder] = useState(false);
const [folderToMove, setFolderToMove] = useState(null);
@@ -39,46 +40,59 @@ export default function DocumentsFoldersPage() {
const { data: foldersData, isLoading: isFoldersLoading } = trpc.folder.getFolders.useQuery({
type: FolderType.DOCUMENT,
- parentId: null,
+ parentId: parentId,
});
- const navigateToFolder = (folderId?: string | null) => {
- const documentsPath = formatDocumentsPath(team.url);
-
- if (folderId) {
- void navigate(`${documentsPath}/f/${folderId}`);
- } else {
- void navigate(documentsPath);
- }
- };
+ const normalizedSearchTerm = searchTerm.trim().toLowerCase();
const isFolderMatchingSearch = (folder: TFolderWithSubfolders) =>
- folder.name.toLowerCase().includes(searchTerm.toLowerCase());
+ folder.name.toLowerCase().includes(normalizedSearchTerm);
+
+ const filteredFolders = foldersData?.folders.filter(isFolderMatchingSearch) ?? [];
+ const pinnedFolders = filteredFolders.filter((folder) => folder.pinned);
+ const unpinnedFolders = filteredFolders.filter((folder) => !folder.pinned);
+ const hasFolders = (foldersData?.folders.length ?? 0) > 0;
+ const hasSearchResults = filteredFolders.length > 0;
+
+ const formatBreadcrumbPath = (folderId: string) => {
+ const documentsPath = formatDocumentsPath(team.url);
+
+ return `${documentsPath}/f/${folderId}`;
+ };
return (
-
-
navigateToFolder(null)}
+
+
-
-
- Home
-
-
+
+
Home
+
+
+ {foldersData?.breadcrumbs.map((folder) => (
+
+ /
+
+
+ {folder.name}
+
+
+ ))}
-
+
-
+
-
+
) : (
<>
- {foldersData?.folders?.some(
- (folder) => folder.pinned && isFolderMatchingSearch(folder),
- ) && (
+ {pinnedFolders.length > 0 && (
- {foldersData.folders
- .filter((folder) => folder.pinned && isFolderMatchingSearch(folder))
- .map((folder) => (
- {
- setFolderToMove(folder);
- setIsMovingFolder(true);
- }}
- onSettings={(folder) => {
- setFolderToSettings(folder);
- setIsSettingsFolderOpen(true);
- }}
- onDelete={(folder) => {
- setFolderToDelete(folder);
- setIsDeletingFolder(true);
- }}
- />
- ))}
-
-
- )}
-
-
- {searchTerm && foldersData?.folders.filter(isFolderMatchingSearch).length === 0 && (
-
- No folders found matching "{searchTerm}"
-
- )}
-
-
- {foldersData?.folders
- .filter((folder) => !folder.pinned)
- .map((folder) => (
+ {pinnedFolders.map((folder) => (
))}
+
+
+ )}
+
+
+ {searchTerm && !hasSearchResults && (
+
+ No folders found matching "{searchTerm}"
+
+ )}
+
+ {!searchTerm && !hasFolders && (
+
+ No folders yet.
+
+ )}
+
+
+ {unpinnedFolders.map((folder) => (
+ {
+ setFolderToMove(folder);
+ setIsMovingFolder(true);
+ }}
+ onSettings={(folder) => {
+ setFolderToSettings(folder);
+ setIsSettingsFolderOpen(true);
+ }}
+ onDelete={(folder) => {
+ setFolderToDelete(folder);
+ setIsDeletingFolder(true);
+ }}
+ />
+ ))}
>
diff --git a/apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx b/apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx
index e273753a5..250cb7f41 100644
--- a/apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx
+++ b/apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx
@@ -1,14 +1,13 @@
import { useState } from 'react';
import { Trans, useLingui } from '@lingui/react/macro';
-import { HomeIcon, Loader2, SearchIcon } from 'lucide-react';
-import { useNavigate } from 'react-router';
+import { FolderIcon, HomeIcon, Loader2, SearchIcon } from 'lucide-react';
+import { Link, useSearchParams } from 'react-router';
import { FolderType } from '@documenso/lib/types/folder-type';
import { formatTemplatesPath } from '@documenso/lib/utils/teams';
import { trpc } from '@documenso/trpc/react';
import { type TFolderWithSubfolders } from '@documenso/trpc/server/folder-router/schema';
-import { Button } from '@documenso/ui/primitives/button';
import { Input } from '@documenso/ui/primitives/input';
import { FolderCreateDialog } from '~/components/dialogs/folder-create-dialog';
@@ -26,8 +25,10 @@ export function meta() {
export default function TemplatesFoldersPage() {
const { t } = useLingui();
- const navigate = useNavigate();
const team = useCurrentTeam();
+ const [searchParams] = useSearchParams();
+
+ const parentId = searchParams.get('parentId');
const [isMovingFolder, setIsMovingFolder] = useState(false);
const [folderToMove, setFolderToMove] = useState
(null);
@@ -39,46 +40,59 @@ export default function TemplatesFoldersPage() {
const { data: foldersData, isLoading: isFoldersLoading } = trpc.folder.getFolders.useQuery({
type: FolderType.TEMPLATE,
- parentId: null,
+ parentId: parentId,
});
- const navigateToFolder = (folderId?: string | null) => {
- const templatesPath = formatTemplatesPath(team.url);
-
- if (folderId) {
- void navigate(`${templatesPath}/f/${folderId}`);
- } else {
- void navigate(templatesPath);
- }
- };
+ const normalizedSearchTerm = searchTerm.trim().toLowerCase();
const isFolderMatchingSearch = (folder: TFolderWithSubfolders) =>
- folder.name.toLowerCase().includes(searchTerm.toLowerCase());
+ folder.name.toLowerCase().includes(normalizedSearchTerm);
+
+ const filteredFolders = foldersData?.folders.filter(isFolderMatchingSearch) ?? [];
+ const pinnedFolders = filteredFolders.filter((folder) => folder.pinned);
+ const unpinnedFolders = filteredFolders.filter((folder) => !folder.pinned);
+ const hasFolders = (foldersData?.folders.length ?? 0) > 0;
+ const hasSearchResults = filteredFolders.length > 0;
+
+ const formatBreadcrumbPath = (folderId: string) => {
+ const templatesPath = formatTemplatesPath(team.url);
+
+ return `${templatesPath}/f/${folderId}`;
+ };
return (
-
-
navigateToFolder(null)}
+
+
-
-
- Home
-
-
+
+
Home
+
+
+ {foldersData?.breadcrumbs.map((folder) => (
+
+ /
+
+
+ {folder.name}
+
+
+ ))}
-
+
-
+
{isFoldersLoading ? (
-
-
+
+
) : (
<>
- {foldersData?.folders?.some(
- (folder) => folder.pinned && isFolderMatchingSearch(folder),
- ) && (
+ {pinnedFolders.length > 0 && (
- {foldersData.folders
- .filter((folder) => folder.pinned && isFolderMatchingSearch(folder))
- .map((folder) => (
- {
- setFolderToMove(folder);
- setIsMovingFolder(true);
- }}
- onSettings={(folder) => {
- setFolderToSettings(folder);
- setIsSettingsFolderOpen(true);
- }}
- onDelete={(folder) => {
- setFolderToDelete(folder);
- setIsDeletingFolder(true);
- }}
- />
- ))}
-
-
- )}
-
-
- {searchTerm && foldersData?.folders.filter(isFolderMatchingSearch).length === 0 && (
-
- No folders found matching "{searchTerm}"
-
- )}
-
-
- {foldersData?.folders
- .filter((folder) => !folder.pinned && isFolderMatchingSearch(folder))
- .map((folder) => (
+ {pinnedFolders.map((folder) => (
))}
+
+
+ )}
+
+
+ {searchTerm && !hasSearchResults && (
+
+ No folders found matching "{searchTerm}"
+
+ )}
+
+ {!searchTerm && !hasFolders && (
+
+ No folders yet.
+
+ )}
+
+
+ {unpinnedFolders.map((folder) => (
+ {
+ setFolderToMove(folder);
+ setIsMovingFolder(true);
+ }}
+ onSettings={(folder) => {
+ setFolderToSettings(folder);
+ setIsSettingsFolderOpen(true);
+ }}
+ onDelete={(folder) => {
+ setFolderToDelete(folder);
+ setIsDeletingFolder(true);
+ }}
+ />
+ ))}
>
diff --git a/apps/remix/app/routes/_profile+/p.$url.tsx b/apps/remix/app/routes/_profile+/p.$url.tsx
index 25c7ed5f5..f2e94d8ca 100644
--- a/apps/remix/app/routes/_profile+/p.$url.tsx
+++ b/apps/remix/app/routes/_profile+/p.$url.tsx
@@ -64,7 +64,7 @@ export default function PublicProfilePage({ loaderData }: Route.ComponentProps)
return (
-
+
{publicProfile.avatarImageId && (
)}
@@ -99,10 +99,10 @@ export default function PublicProfilePage({ loaderData }: Route.ComponentProps)
/>
-
+
{BADGE_DATA[publicProfile.badge.type].name}
-
+
Since {DateTime.fromJSDate(publicProfile.badge.since).toFormat('LLL ‘yy')}
@@ -113,7 +113,7 @@ export default function PublicProfilePage({ loaderData }: Route.ComponentProps)
)}
-
+
{(profile.bio ?? '').split('\n').map((line, index) => (
-
+
It looks like {publicProfile.name} hasn't added any documents to their profile yet.
{' '}
@@ -167,19 +167,19 @@ export default function PublicProfilePage({ loaderData }: Route.ComponentProps)
{templates.map((template) => (
-
+
-
+
{template.publicTitle}
-
+
{template.publicDescription}
diff --git a/packages/auth/server/lib/utils/handle-oauth-callback-url.ts b/packages/auth/server/lib/utils/handle-oauth-callback-url.ts
index 47a88eed4..d31ee6871 100644
--- a/packages/auth/server/lib/utils/handle-oauth-callback-url.ts
+++ b/packages/auth/server/lib/utils/handle-oauth-callback-url.ts
@@ -7,9 +7,9 @@ import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
import { isEmailDomainAllowedForSignup } from '@documenso/lib/constants/auth';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { onCreateUserHook } from '@documenso/lib/server-only/user/create-user';
-import { env } from '@documenso/lib/utils/env';
import { deletedServiceAccountEmail } from '@documenso/lib/server-only/user/service-accounts/deleted-account';
import { legacyServiceAccountEmail } from '@documenso/lib/server-only/user/service-accounts/legacy-service-account';
+import { env } from '@documenso/lib/utils/env';
import { isValidReturnTo, normalizeReturnTo } from '@documenso/lib/utils/is-valid-return-to';
import { prisma } from '@documenso/prisma';
diff --git a/packages/auth/server/routes/email-password.ts b/packages/auth/server/routes/email-password.ts
index 8e79f7347..45e5b6fab 100644
--- a/packages/auth/server/routes/email-password.ts
+++ b/packages/auth/server/routes/email-password.ts
@@ -201,7 +201,7 @@ export const emailPasswordRoute = new Hono
()
res: signupLimited,
});
}
-
+
if (!isEmailDomainAllowedForSignup(email)) {
throw new AppError(AuthenticationErrorCode.SignupDisabled, {
statusCode: 400,
diff --git a/packages/lib/server-only/envelope/duplicate-envelope.ts b/packages/lib/server-only/envelope/duplicate-envelope.ts
index d4b13a57e..3b3398ba2 100644
--- a/packages/lib/server-only/envelope/duplicate-envelope.ts
+++ b/packages/lib/server-only/envelope/duplicate-envelope.ts
@@ -93,7 +93,7 @@ export const duplicateEnvelope = async ({ id, userId, teamId }: DuplicateEnvelop
const duplicatedTemplateType =
envelope.templateType === 'ORGANISATION' && envelope.teamId !== teamId
? 'PRIVATE'
- : envelope.templateType ?? undefined;
+ : (envelope.templateType ?? undefined);
const duplicatedEnvelope = await prisma.envelope.create({
data: {
@@ -150,7 +150,7 @@ export const duplicateEnvelope = async ({ id, userId, teamId }: DuplicateEnvelop
await pMap(
envelope.recipients,
- (recipient) =>
+ async (recipient) =>
prisma.recipient.create({
data: {
envelopeId: duplicatedEnvelope.id,
diff --git a/packages/ui/components/document/envelope-recipient-field-tooltip.tsx b/packages/ui/components/document/envelope-recipient-field-tooltip.tsx
index ec4266ba3..721834bc7 100644
--- a/packages/ui/components/document/envelope-recipient-field-tooltip.tsx
+++ b/packages/ui/components/document/envelope-recipient-field-tooltip.tsx
@@ -191,7 +191,7 @@ export function EnvelopeRecipientFieldTooltip({
-
+
{getRecipientDisplayText(field.recipient)}
diff --git a/packages/ui/primitives/document-flow/add-settings.tsx b/packages/ui/primitives/document-flow/add-settings.tsx
index 95cfa7df6..8ecfb786b 100644
--- a/packages/ui/primitives/document-flow/add-settings.tsx
+++ b/packages/ui/primitives/document-flow/add-settings.tsx
@@ -242,7 +242,7 @@ export const AddSettingsFormPartial = ({
-
+
Controls the language for the document, including the language to be used
for email notifications, and the final certificate that is generated and
@@ -361,11 +361,11 @@ export const AddSettingsFormPartial = ({
-
+
Advanced Options
-
+
-
+
Add an external ID to the document. This can be used to identify
the document in external systems.
@@ -418,7 +418,7 @@ export const AddSettingsFormPartial = ({
field.onChange(value);
void handleAutoSave();
}}
- className="bg-background w-full"
+ className="w-full bg-background"
emptySelectionPlaceholder={t`Select signature types`}
/>
@@ -506,7 +506,7 @@ export const AddSettingsFormPartial = ({
-
+
Add a URL to redirect the user to once the document is signed
diff --git a/packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx b/packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx
index da0e6f825..b2d504c56 100644
--- a/packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx
+++ b/packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx
@@ -114,7 +114,7 @@ export const DropdownFieldAdvancedSettings = ({
handleFieldChange('defaultValue', val);
}}
>
-
+
@@ -152,7 +152,7 @@ export const DropdownFieldAdvancedSettings = ({
setShowValidation((prev) => !prev)}
>
@@ -183,7 +183,7 @@ export const DropdownFieldAdvancedSettings = ({
))}
diff --git a/packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx b/packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx
index e4bc9f073..273e6c2b0 100644
--- a/packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx
+++ b/packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx
@@ -122,7 +122,7 @@ export const RadioFieldAdvancedSettings = ({
handleFieldChange('label', e.target.value)}
@@ -150,7 +150,7 @@ export const RadioFieldAdvancedSettings = ({
setShowValidation((prev) => !prev)}
>
@@ -167,7 +167,7 @@ export const RadioFieldAdvancedSettings = ({
{values.map((value) => (
handleCheckedChange(Boolean(checked), value.id)}
/>
@@ -186,7 +186,7 @@ export const RadioFieldAdvancedSettings = ({
))}
diff --git a/packages/ui/primitives/recipient-selector.tsx b/packages/ui/primitives/recipient-selector.tsx
index d5aa84117..2451a0f8d 100644
--- a/packages/ui/primitives/recipient-selector.tsx
+++ b/packages/ui/primitives/recipient-selector.tsx
@@ -101,7 +101,7 @@ export const RecipientSelector = ({
variant="outline"
role="combobox"
className={cn(
- 'bg-background text-muted-foreground hover:text-foreground justify-between font-normal',
+ 'justify-between bg-background font-normal text-muted-foreground hover:text-foreground',
getRecipientColorStyles(recipients.findIndex((r) => r.id === selectedRecipient?.id))
.comboBoxTrigger,
className,
@@ -122,21 +122,21 @@ export const RecipientSelector = ({
-
+
No recipient matching this description was found.
{recipientsByRoleToDisplay.map(([role, roleRecipients], roleIndex) => (
-
+
{_(RECIPIENT_ROLES_DESCRIPTION[role].roleNamePlural)}
{roleRecipients.length === 0 && (
No recipients with this role
@@ -160,7 +160,7 @@ export const RecipientSelector = ({
disabled={recipient.signingStatus !== SigningStatus.NOT_SIGNED}
>
@@ -182,7 +182,7 @@ export const RecipientSelector = ({
-
+
This document has already been sent to this recipient. You can no longer
edit this recipient.