From 6da15ab12baee44fd61195461e85018125b89c5a Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Fri, 27 Dec 2024 10:57:24 +0200 Subject: [PATCH] feat: open the advanced settings automatically (#1508) --- packages/lib/utils/advanced-fields-helpers.ts | 2 +- packages/ui/primitives/document-flow/add-fields.tsx | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/lib/utils/advanced-fields-helpers.ts b/packages/lib/utils/advanced-fields-helpers.ts index 9e3978f23..7d6d7daca 100644 --- a/packages/lib/utils/advanced-fields-helpers.ts +++ b/packages/lib/utils/advanced-fields-helpers.ts @@ -4,7 +4,7 @@ import { ZFieldMetaSchema } from '../types/field-meta'; // Currently it seems that the majority of fields have advanced fields for font reasons. // This array should only contain fields that have an optional setting in the fieldMeta. -const ADVANCED_FIELD_TYPES_WITH_OPTIONAL_SETTING: FieldType[] = [ +export const ADVANCED_FIELD_TYPES_WITH_OPTIONAL_SETTING: FieldType[] = [ FieldType.NUMBER, FieldType.TEXT, FieldType.DROPDOWN, diff --git a/packages/ui/primitives/document-flow/add-fields.tsx b/packages/ui/primitives/document-flow/add-fields.tsx index 287e53039..735a2c528 100644 --- a/packages/ui/primitives/document-flow/add-fields.tsx +++ b/packages/ui/primitives/document-flow/add-fields.tsx @@ -34,6 +34,7 @@ import { ZFieldMetaSchema, } from '@documenso/lib/types/field-meta'; import { nanoid } from '@documenso/lib/universal/id'; +import { ADVANCED_FIELD_TYPES_WITH_OPTIONAL_SETTING } from '@documenso/lib/utils/advanced-fields-helpers'; import { validateFieldsUninserted } from '@documenso/lib/utils/fields'; import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import { @@ -353,6 +354,13 @@ export const AddFieldsFormPartial = ({ append(field); + // Only open fields with significant amount of settings (instead of just a font setting) to + // reduce friction when adding fields. + if (ADVANCED_FIELD_TYPES_WITH_OPTIONAL_SETTING.includes(selectedField)) { + setCurrentField(field); + setShowAdvancedSettings(true); + } + setIsFieldWithinBounds(false); setSelectedField(null); },