From 8a7e8eb8f3c8550100e08dddf302917fcabce17e Mon Sep 17 00:00:00 2001 From: Nevo David Date: Sat, 18 Apr 2026 01:16:32 +0700 Subject: [PATCH] feat: empty object --- .../provider-preview/preview.provider.component.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/components/provider-preview/preview.provider.component.tsx b/apps/frontend/src/components/provider-preview/preview.provider.component.tsx index d02e7c9d..48eed929 100644 --- a/apps/frontend/src/components/provider-preview/preview.provider.component.tsx +++ b/apps/frontend/src/components/provider-preview/preview.provider.component.tsx @@ -120,10 +120,16 @@ export const ProviderPreviewComponent: FC = ({ return getProviderSettingsMeta(entry.component); }, [provider]); + // When `value` is absent or `{}`, don't feed it to react-hook-form at all — + // passing an empty object as `values` wipes out DTO-level defaults that the + // SettingsComponent relies on (e.g. tiktok privacy = PUBLIC). + const hasSeededValue = + !!value && typeof value === 'object' && Object.keys(value).length > 0; + const form = useForm({ resolver: meta?.dto ? classValidatorResolver(meta.dto) : undefined, - defaultValues: value ?? {}, - values: value, + defaultValues: hasSeededValue ? value : undefined, + values: hasSeededValue ? value : undefined, mode: 'all', criteriaMode: 'all', reValidateMode: 'onChange',