diff --git a/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.module.css b/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.module.css index ef5595ea1..ce2760d83 100644 --- a/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.module.css +++ b/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.module.css @@ -6,6 +6,7 @@ z-index: 99; display: flex; align-items: center; + min-height: 45px; background: var(--mantine-color-body); border-bottom: 1px solid light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-4)); diff --git a/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.tsx b/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.tsx index b425753ee..9e393d329 100644 --- a/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.tsx +++ b/apps/client/src/features/editor/components/fixed-toolbar/fixed-toolbar.tsx @@ -31,8 +31,6 @@ export const FixedToolbar: FC = ({ const workspace = useAtomValue(workspaceAtom); const isGenerativeAiEnabled = workspace?.settings?.ai?.generative === true; - if (!editor || !state) return null; - return ( <>
= ({
)} */} - -
- -
- -
- -
- -
- -
- - -
- + {editor && state && ( + <> + +
+ +
+ +
+ +
+ +
+ +
+ + +
+ + + )}
diff --git a/apps/client/src/features/editor/page-editor.tsx b/apps/client/src/features/editor/page-editor.tsx index eadcfdd44..7149e7938 100644 --- a/apps/client/src/features/editor/page-editor.tsx +++ b/apps/client/src/features/editor/page-editor.tsx @@ -2,6 +2,7 @@ import "@/features/editor/styles/index.css"; import React, { useCallback, useEffect, + useLayoutEffect, useMemo, useRef, useState, @@ -100,11 +101,13 @@ export default function PageEditor({ const { pageSlug } = useParams(); const slugId = extractPageSlugId(pageSlug); const [socket] = useState(getCollabSocket); + const hasCollabToken = !!collabQuery?.token; useEffect(() => { + if (!hasCollabToken) return; acquireCollabSocket(); return () => releaseCollabSocket(); - }, []); + }, [hasCollabToken]); const handleStateless = ({ payload }: onStatelessParameters) => { try { @@ -322,6 +325,16 @@ function CollabPageEditor({ [pageId, editable, extensions], ); + useLayoutEffect(() => { + if (editor && !editor.isDestroyed) { + // @ts-ignore + setEditor(editor); + // @ts-ignore + editor.storage.pageId = pageId; + editorRef.current = editor; + } + }, [editor, pageId, setEditor]); + const editorIsEditable = useEditorState({ editor, selector: (ctx) => {