diff --git a/apps/builder/src/features/editor/components/BoardMenuButton.tsx b/apps/builder/src/features/editor/components/BoardMenuButton.tsx index 43e224f41..8808c527a 100644 --- a/apps/builder/src/features/editor/components/BoardMenuButton.tsx +++ b/apps/builder/src/features/editor/components/BoardMenuButton.tsx @@ -8,6 +8,7 @@ import { } from "@/components/icons"; import { ParentModalProvider } from "@/features/graph/providers/ParentModalProvider"; import { parseDefaultPublicId } from "@/features/publish/helpers/parseDefaultPublicId"; +import { useRightPanel } from "@/hooks/useRightPanel"; import { HStack, IconButton, @@ -21,7 +22,6 @@ import { } from "@chakra-ui/react"; import { useTranslate } from "@tolgee/react"; import React, { useState } from "react"; -import { RightPanel, useEditor } from "../providers/EditorProvider"; import { useTypebot } from "../providers/TypebotProvider"; import { EditorSettingsModal } from "./EditorSettingsModal"; @@ -30,7 +30,7 @@ export const BoardMenuButton = (props: StackProps) => { const [isDownloading, setIsDownloading] = useState(false); const { isOpen, onOpen, onClose } = useDisclosure(); const { t } = useTranslate(); - const { setRightPanel } = useEditor(); + const [, setRightPanel] = useRightPanel(); const downloadFlow = () => { assert(typebot); @@ -60,7 +60,7 @@ export const BoardMenuButton = (props: StackProps) => { size="sm" shadow="md" bgColor={useColorModeValue("white", undefined)} - onClick={() => setRightPanel(RightPanel.VARIABLES)} + onClick={() => setRightPanel("variables")} /> { }; const RightPanel = () => { - const { rightPanel, setRightPanel } = useEditor(); + const [rightPanel, setRightPanel] = useRightPanel(); switch (rightPanel) { - case RightPanelEnum.PREVIEW: + case "preview": return ; - case RightPanelEnum.VARIABLES: - return setRightPanel(undefined)} />; - case undefined: + case "variables": + return setRightPanel(null)} />; + case null: return null; } }; diff --git a/apps/builder/src/features/editor/components/TypebotHeader.tsx b/apps/builder/src/features/editor/components/TypebotHeader.tsx index cdb5c6fc0..f7dc6698e 100644 --- a/apps/builder/src/features/editor/components/TypebotHeader.tsx +++ b/apps/builder/src/features/editor/components/TypebotHeader.tsx @@ -13,6 +13,7 @@ import { ShareTypebotButton } from "@/features/share/components/ShareTypebotButt import { useWorkspace } from "@/features/workspace/WorkspaceProvider"; import { isCloudProdInstance } from "@/helpers/isCloudProdInstance"; import { useKeyboardShortcuts } from "@/hooks/useKeyboardShortcuts"; +import { useRightPanel } from "@/hooks/useRightPanel"; import { Button, Flex, @@ -34,7 +35,7 @@ import { useRouter } from "next/router"; import React, { useState } from "react"; import { useDebouncedCallback } from "use-debounce"; import { headerHeight } from "../constants"; -import { RightPanel, useEditor } from "../providers/EditorProvider"; +import { useEditor } from "../providers/EditorProvider"; import { useTypebot } from "../providers/TypebotProvider"; import { EditableTypebotName } from "./EditableTypebotName"; import { GuestTypebotHeader } from "./UnauthenticatedTypebotHeader"; @@ -42,7 +43,6 @@ import { GuestTypebotHeader } from "./UnauthenticatedTypebotHeader"; export const TypebotHeader = () => { const { typebot, publishedTypebot, currentUserMode } = useTypebot(); const { workspace } = useWorkspace(); - const { isOpen, onOpen } = useDisclosure(); const headerBgColor = useColorModeValue("white", "gray.950"); @@ -254,12 +254,13 @@ const RightElements = ({ const router = useRouter(); const { t } = useTranslate(); const { typebot, currentUserMode, save, isSavingLoading } = useTypebot(); - const { setRightPanel, rightPanel, setStartPreviewFrom } = useEditor(); + const { setStartPreviewFrom } = useEditor(); + const [rightPanel, setRightPanel] = useRightPanel(); const handlePreviewClick = async () => { setStartPreviewFrom(undefined); await save(); - setRightPanel(RightPanel.PREVIEW); + setRightPanel("preview"); }; return ( @@ -272,21 +273,20 @@ const RightElements = ({ - {router.pathname.includes("/edit") && - rightPanel !== RightPanel.PREVIEW && ( - - )} + {router.pathname.includes("/edit") && rightPanel !== "preview" && ( + + )} {currentUserMode === "guest" && (