refactor(component): adjust active editor atom (#5457)

before:

set global `blocksuiteEditorAtom` state in `<BlocksuiteEditorImpl />`

after:

Rename `blocksuiteEditorAtom` to `activeBlocksuiteEditorAtom`

And move the logic of setting this atom to `<PageDetailEditor />`.

benefit:

* make BlocksuiteEditor pure
* keep @toeverything/component clear
* Clarify the purpose of `activeBlocksuiteEditorAtom`
This commit is contained in:
EYHN
2024-01-02 07:30:09 +00:00
parent 1eefd712dd
commit 6844b282ac
6 changed files with 140 additions and 108 deletions
@@ -1,7 +1,7 @@
import { assertExists } from '@blocksuite/global/utils';
import { AiIcon } from '@blocksuite/icons';
import { CopilotPanel } from '@blocksuite/presets';
import { useBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useActiveBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useCallback, useRef } from 'react';
import type { EditorExtension } from '../types';
@@ -10,7 +10,7 @@ import * as styles from './outline.css';
// A wrapper for CopilotPanel
const EditorCopilotPanel = () => {
const copilotPanelRef = useRef<CopilotPanel | null>(null);
const [editor] = useBlocksuiteEditor();
const [editor] = useActiveBlocksuiteEditor();
const onRefChange = useCallback((container: HTMLDivElement | null) => {
if (container) {
@@ -1,7 +1,7 @@
import { assertExists } from '@blocksuite/global/utils';
import { FrameIcon } from '@blocksuite/icons';
import { FramePanel } from '@blocksuite/presets';
import { useBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useActiveBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useCallback, useRef } from 'react';
import type { EditorExtension } from '../types';
@@ -11,7 +11,7 @@ import * as styles from './frame.css';
const EditorFramePanel = () => {
const framePanelRef = useRef<FramePanel | null>(null);
const [editor] = useBlocksuiteEditor();
const [editor] = useActiveBlocksuiteEditor();
const onRefChange = useCallback((container: HTMLDivElement | null) => {
if (container) {
@@ -1,7 +1,7 @@
import { assertExists } from '@blocksuite/global/utils';
import { TocIcon } from '@blocksuite/icons';
import { TOCPanel } from '@blocksuite/presets';
import { useBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useActiveBlocksuiteEditor } from '@toeverything/hooks/use-block-suite-editor';
import { useCallback, useRef } from 'react';
import type { EditorExtension } from '../types';
@@ -10,7 +10,7 @@ import * as styles from './outline.css';
// A wrapper for TOCNotesPanel
const EditorOutline = () => {
const tocPanelRef = useRef<TOCPanel | null>(null);
const [editor] = useBlocksuiteEditor();
const [editor] = useActiveBlocksuiteEditor();
const onRefChange = useCallback((container: HTMLDivElement | null) => {
if (container) {