import { msg } from '@lingui/core/macro'; import { useLingui } from '@lingui/react'; import { type TFieldMetaSchema as FieldMeta } from '@documenso/lib/types/field-meta'; import { parseMessageDescriptor } from '@documenso/lib/utils/i18n'; import { FieldAdvancedSettings } from '@documenso/ui/primitives/document-flow/field-item-advanced-settings'; import { FRIENDLY_FIELD_TYPE } from '@documenso/ui/primitives/document-flow/types'; import { Sheet, SheetContent, SheetTitle } from '@documenso/ui/primitives/sheet'; import type { TConfigureFieldsFormSchemaField } from './configure-fields-view.types'; export type FieldAdvancedSettingsDrawerProps = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; currentField: TConfigureFieldsFormSchemaField | null; fields: TConfigureFieldsFormSchemaField[]; onFieldUpdate: (formId: string, fieldMeta: FieldMeta) => void; }; export const FieldAdvancedSettingsDrawer = ({ isOpen, onOpenChange, currentField, fields, onFieldUpdate, }: FieldAdvancedSettingsDrawerProps) => { const { _ } = useLingui(); if (!currentField) { return null; } return ( {parseMessageDescriptor( _, msg`Configure ${parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[currentField.type])} Field`, )} onOpenChange(false)} onSave={(fieldMeta) => { onFieldUpdate(currentField.formId, fieldMeta); onOpenChange(false); }} /> ); };