Skip to content

Commit 6a0d2e2

Browse files
committed
🐛(frontend) fix rerendering when doc is saving
When the document is saved, the blocknote toolbar was rerendering, causing the toolbar to close some panels. It was creating flakiness in the e2e tests, plus it was not a good user experience. This commit fixes this issue.
1 parent b79d5fc commit 6a0d2e2

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

src/frontend/apps/impress/src/features/docs/doc-editor/components/BlockNoteToolbar.tsx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,29 @@ import '@blocknote/mantine/style.css';
22
import {
33
FormattingToolbar,
44
FormattingToolbarController,
5+
FormattingToolbarProps,
56
getFormattingToolbarItems,
67
} from '@blocknote/react';
7-
import React from 'react';
8+
import React, { useCallback } from 'react';
89

910
import { AIGroupButton } from './AIButton';
1011
import { MarkdownButton } from './MarkdownButton';
1112

1213
export const BlockNoteToolbar = () => {
13-
return (
14-
<FormattingToolbarController
15-
formattingToolbar={({ blockTypeSelectItems }) => (
16-
<FormattingToolbar>
17-
{getFormattingToolbarItems(blockTypeSelectItems)}
14+
const formattingToolbar = useCallback(
15+
({ blockTypeSelectItems }: FormattingToolbarProps) => (
16+
<FormattingToolbar>
17+
{getFormattingToolbarItems(blockTypeSelectItems)}
1818

19-
{/* Extra button to do some AI powered actions */}
20-
<AIGroupButton key="AIButton" />
19+
{/* Extra button to do some AI powered actions */}
20+
<AIGroupButton key="AIButton" />
2121

22-
{/* Extra button to convert from markdown to json */}
23-
<MarkdownButton key="customButton" />
24-
</FormattingToolbar>
25-
)}
26-
/>
22+
{/* Extra button to convert from markdown to json */}
23+
<MarkdownButton key="customButton" />
24+
</FormattingToolbar>
25+
),
26+
[],
2727
);
28+
29+
return <FormattingToolbarController formattingToolbar={formattingToolbar} />;
2830
};

src/frontend/apps/impress/src/pages/docs/[id]/index.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@ const DocPage = ({ id }: DocProps) => {
6565

6666
setDoc(docQuery);
6767
setCurrentDoc(docQuery);
68-
69-
return () => {
70-
setCurrentDoc(undefined);
71-
};
7268
}, [docQuery, setCurrentDoc]);
7369

7470
useEffect(() => {

0 commit comments

Comments
 (0)