From 994b7ac24d0a2180b825fc5c8a2497ddf30caa99 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Fri, 1 Dec 2023 16:31:27 +0800 Subject: [PATCH] refactor: update for flex model --- .../components/editor/advice/advice-view.tsx | 2 +- editor/src/components/editor/live-editor.tsx | 107 +++++++++--------- editor/src/components/editor/sidebar.tsx | 2 +- editor/src/i18n/i18n.ts | 6 +- editor/src/pages/index.tsx | 2 - 5 files changed, 59 insertions(+), 60 deletions(-) diff --git a/editor/src/components/editor/advice/advice-view.tsx b/editor/src/components/editor/advice/advice-view.tsx index a15c769..dcd9097 100644 --- a/editor/src/components/editor/advice/advice-view.tsx +++ b/editor/src/components/editor/advice/advice-view.tsx @@ -40,7 +40,7 @@ export const AdviceView = ({ editor }: AdviceViewProps) => { }); }, []); - return
{advices.length ? (advices.map(advice => (
{ + AdviceManager.getInstance().addAdvice(advice); + }, + onAdviceActivated: (adviceId) => { + if (adviceId) AdviceManager.getInstance().setActiveId(adviceId); + }, + }), + TrackChangeExtension.configure({ + enabled: false, + }), + createInlineCompletion(), + StarterKit.configure({ + bulletList: { + keepMarks: true, + keepAttributes: false, + }, + orderedList: { + keepMarks: true, + keepAttributes: false, + }, + }), + createSlashExtension('ai-slash'), + createAiBlock(), + CharacterCount.configure({}), + Color.configure({ types: [TextStyle.name, ListItem.name] }), + // @ts-ignore + TextStyle.configure({ types: [ListItem.name] }), +] + const LiveEditor = () => { const { t, i18n } = useTranslation(); - const extensions = [ - // we define all commands here - CommandFunctions, - AdviceExtension.configure({ - HTMLAttributes: { - class: "my-advice", - }, - setAdviceCommand: (advice: Advice) => { - AdviceManager.getInstance().addAdvice(advice); - }, - onAdviceActivated: (adviceId) => { - if (adviceId) AdviceManager.getInstance().setActiveId(adviceId); - }, - }), - TrackChangeExtension.configure({ - enabled: false, - }), - createInlineCompletion(), - StarterKit.configure({ - bulletList: { - keepMarks: true, - keepAttributes: false, - }, - orderedList: { - keepMarks: true, - keepAttributes: false, - }, - }), - createSlashExtension('ai-slash'), - createAiBlock(), - CharacterCount.configure({}), - Color.configure({ types: [TextStyle.name, ListItem.name] }), - // @ts-ignore - TextStyle.configure({ types: [ListItem.name] }), - ] - const editor = useEditor({ extensions, content: md.render(t('Editor Placeholder')), @@ -85,27 +86,27 @@ const LiveEditor = () => { } }, [debouncedEditor]); - return (
-
- {editor &&
} + return
+ {editor &&
} -
- {editor && } - - {editor && } +
+ +
+ {editor && } + + {editor && } - {editor &&
- {Math.abs(editor.state.selection.$from.pos - editor.state.selection.$to.pos)} selected -    - {editor.storage.characterCount.characters()} characters -    - {editor.storage.characterCount.words()} words -
} -
+ {editor &&
+ {Math.abs(editor.state.selection.$from.pos - editor.state.selection.$to.pos)} selected +    + {editor.storage.characterCount.characters()} characters +    + {editor.storage.characterCount.words()} words +
}
- {editor && }
- ) + {editor && } +
} export default LiveEditor \ No newline at end of file diff --git a/editor/src/components/editor/sidebar.tsx b/editor/src/components/editor/sidebar.tsx index 41c1ab1..539f160 100644 --- a/editor/src/components/editor/sidebar.tsx +++ b/editor/src/components/editor/sidebar.tsx @@ -9,7 +9,7 @@ export const Sidebar: React.FC = ({ editor }) => { // make sidebar collapsible, open and close const [open, setOpen] = React.useState(false); - return