Skip to content

Commit fb70cdf

Browse files
fix(preview): add util function to allow operations in preview share
1 parent d1a0246 commit fb70cdf

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

src/utils/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,13 @@ export function isOpenInBuilder(): boolean {
4444
}
4545
return false;
4646
}
47+
48+
49+
export function isOpenInPreviewShare(): boolean {
50+
if (hasWindow()) {
51+
const urlParams = new URLSearchParams(window.location.search);
52+
const previewShare = urlParams.get("preview_share");
53+
return !!previewShare;
54+
}
55+
return false;
56+
}

src/visualBuilder/__test__/hover/fields/date.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ vi.mock("../../../../utils/index.ts", () => {
3030
return {
3131
__esModule: true,
3232
isOpenInBuilder: vi.fn().mockReturnValue(true),
33+
isOpenInPreviewShare: vi.fn().mockReturnValue(false),
3334
isOpeningInTimeline: vi.fn().mockReturnValue(false),
3435
hasWindow: vi.fn().mockReturnValue(true),
3536
addLivePreviewQueryTags: vi.fn(),

src/visualBuilder/components/VisualBuilder.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ import {
55
VisualBuilderGlobalStyles,
66
} from "../visualBuilder.style";
77
import React from "preact/compat";
8-
import { isOpenInBuilder } from "../../utils";
8+
import { isOpenInBuilder , isOpenInPreviewShare} from "../../utils";
99

1010
interface VisualBuilderProps {
1111
visualBuilderContainer: HTMLDivElement | null;
1212
resizeObserver: ResizeObserver;
1313
}
1414

1515
function VisualBuilderComponent(props: VisualBuilderProps): JSX.Element | null {
16-
if (!isOpenInBuilder()) {
16+
const isInBuilder = isOpenInBuilder();
17+
const isInPreviewShare = isOpenInPreviewShare();
18+
19+
if (!isInBuilder && !isInPreviewShare) {
1720
return null;
1821
}
1922

src/visualBuilder/components/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { render } from "preact";
22
import VisualBuilderComponent from "./VisualBuilder";
33
import { visualBuilderStyles } from "../visualBuilder.style";
44
import React from "preact/compat";
5-
import { isOpenInBuilder } from "../../utils";
5+
import { isOpenInBuilder , isOpenInPreviewShare} from "../../utils";
66

77
interface InitUIParams {
88
resizeObserver: ResizeObserver;
@@ -14,8 +14,9 @@ function initUI(props: InitUIParams): void {
1414
);
1515

1616
const isInBuilder = isOpenInBuilder();
17+
const isInPreviewShare = isOpenInPreviewShare();
1718

18-
if (!visualBuilderDOM && isInBuilder) {
19+
if (!visualBuilderDOM && (isInBuilder || isInPreviewShare)) {
1920
const visualBuilderContainer = document.createElement("div");
2021
visualBuilderContainer.classList.add(
2122
visualBuilderStyles()["visual-builder__container"],

0 commit comments

Comments
 (0)