From eb3d4eca2e3fad0e25d560f8345389af249a56e2 Mon Sep 17 00:00:00 2001 From: Jacob Wartofsky Date: Tue, 24 Feb 2026 13:56:01 -0500 Subject: [PATCH 1/2] feat: read requireOptIn setting from visual editor config --- .../visual-editor/src/vite-plugin/templates/directory.tsx | 5 +++++ packages/visual-editor/src/vite-plugin/templates/locator.tsx | 5 +++++ packages/visual-editor/src/vite-plugin/templates/main.tsx | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/packages/visual-editor/src/vite-plugin/templates/directory.tsx b/packages/visual-editor/src/vite-plugin/templates/directory.tsx index 64f586b542..44df8ab8d9 100644 --- a/packages/visual-editor/src/vite-plugin/templates/directory.tsx +++ b/packages/visual-editor/src/vite-plugin/templates/directory.tsx @@ -134,6 +134,11 @@ const Directory: Template = (props) => { apiKey={document?._env?.YEXT_PUBLIC_VISUAL_EDITOR_APP_API_KEY} templateData={props} currency="USD" + requireOptIn={ + document.__?.visualEditorConfig + ? JSON.parse(document.__.visualEditorConfig)?.requireAnalyticsOptIn + : false + } > = (props) => { apiKey={document?._env?.YEXT_PUBLIC_VISUAL_EDITOR_APP_API_KEY} templateData={props} currency="USD" + requireOptIn={ + document.__?.visualEditorConfig + ? JSON.parse(document.__.visualEditorConfig)?.requireAnalyticsOptIn + : false + } > = (props) => { apiKey={document?._env?.YEXT_PUBLIC_VISUAL_EDITOR_APP_API_KEY} templateData={props} currency="USD" + requireOptIn={ + document.__?.visualEditorConfig + ? JSON.parse(document.__.visualEditorConfig)?.requireAnalyticsOptIn + : false + } > Date: Tue, 24 Feb 2026 15:19:58 -0500 Subject: [PATCH 2/2] add try/catch wrappers to config json parsing --- .../src/vite-plugin/templates/directory.tsx | 17 ++++++++++++----- .../src/vite-plugin/templates/locator.tsx | 17 ++++++++++++----- .../src/vite-plugin/templates/main.tsx | 17 ++++++++++++----- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/packages/visual-editor/src/vite-plugin/templates/directory.tsx b/packages/visual-editor/src/vite-plugin/templates/directory.tsx index 44df8ab8d9..95eafde603 100644 --- a/packages/visual-editor/src/vite-plugin/templates/directory.tsx +++ b/packages/visual-editor/src/vite-plugin/templates/directory.tsx @@ -129,16 +129,23 @@ const Directory: Template = (props) => { console.error("Failed to parse layout JSON:", e); } + let requireAnalyticsOptIn = false; + if (document.__?.visualEditorConfig) { + try { + requireAnalyticsOptIn = + JSON.parse(document.__.visualEditorConfig)?.requireAnalyticsOptIn ?? + false; + } catch (e) { + console.error("Failed to parse visualEditorConfig JSON:", e); + } + } + return ( = (props) => { console.error("Failed to parse layout JSON:", e); } + let requireAnalyticsOptIn = false; + if (document.__?.visualEditorConfig) { + try { + requireAnalyticsOptIn = + JSON.parse(document.__.visualEditorConfig)?.requireAnalyticsOptIn ?? + false; + } catch (e) { + console.error("Failed to parse visualEditorConfig JSON:", e); + } + } + return ( <>