diff --git a/.changeset/shiny-avocados-eat.md b/.changeset/shiny-avocados-eat.md new file mode 100644 index 0000000000..e9bd193b75 --- /dev/null +++ b/.changeset/shiny-avocados-eat.md @@ -0,0 +1,5 @@ +--- +'@directus/app': patch +--- + +Ensured the URL in Live Preview popout window receives the current Content Version diff --git a/app/src/modules/content/routes/item.vue b/app/src/modules/content/routes/item.vue index 38067cc868..346e63688e 100644 --- a/app/src/modules/content/routes/item.vue +++ b/app/src/modules/content/routes/item.vue @@ -222,10 +222,10 @@ const previewTemplate = computed(() => collectionInfo.value?.meta?.preview_url ? const { templateData: previewData, fetchTemplateValues } = useTemplateData(collectionInfo, primaryKey, previewTemplate); -const previewURL = computed(() => { +const previewUrl = computed(() => { const enrichedPreviewData = { - ...unref(previewData), - $version: currentVersion.value ? currentVersion.value.key : 'main', + ...previewData.value, + $version: currentVersion.value?.key ?? 'main', }; const { displayValue } = renderStringTemplate(previewTemplate.value, enrichedPreviewData); @@ -250,7 +250,7 @@ const splitView = computed({ let popupWindow: Window | null = null; watch( - [livePreviewMode, previewURL], + [livePreviewMode, previewUrl], ([mode, url]) => { if (mode !== 'popup' || !url) { if (popupWindow) popupWindow.close(); @@ -291,8 +291,8 @@ function toggleSplitView() { async function refreshLivePreview() { try { await fetchTemplateValues(); - window.refreshLivePreview(previewURL.value); - if (popupWindow) popupWindow.refreshLivePreview(previewURL.value); + window.refreshLivePreview(previewUrl.value); + if (popupWindow) popupWindow.refreshLivePreview(previewUrl.value); } catch (error) { // noop } @@ -545,7 +545,7 @@ function revert(values: Record) {