From 3de2f1208c577946e7dfb9a466e1f3c3dcb2b021 Mon Sep 17 00:00:00 2001 From: Igor Lobanov Date: Mon, 31 Oct 2022 21:25:38 +0100 Subject: [PATCH] editor fix --- src/components/Editor/prosemirror/setup.ts | 13 +++++++++---- src/components/Editor/store/actions.ts | 7 +++++-- src/components/Editor/styles/Button.scss | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/components/Editor/prosemirror/setup.ts b/src/components/Editor/prosemirror/setup.ts index 66f4c2c4..9c5d6395 100644 --- a/src/components/Editor/prosemirror/setup.ts +++ b/src/components/Editor/prosemirror/setup.ts @@ -25,15 +25,16 @@ const customKeymap = (props: ExtensionsProps): ProseMirrorExtension => ({ }) export const createExtensions = (props: ExtensionsProps): ProseMirrorExtension[] => { - const eee = [ + const extensions = [ placeholder(t('Just start typing...')), customKeymap(props), base(props.markdown), selectionMenu(), scrollPlugin(props.config?.typewriterMode) ] + if (props.markdown) { - eee.push( + extensions.push( markdown(), todoList(), dragHandle(), @@ -54,8 +55,12 @@ export const createExtensions = (props: ExtensionsProps): ProseMirrorExtension[] */ ) } - if (props.collab?.room) eee.push(collab(props.y)) - return eee + + if (props.collab?.room) { + extensions.push(collab(props.y)) + } + + return extensions } export const createEmptyText = () => ({ diff --git a/src/components/Editor/store/actions.ts b/src/components/Editor/store/actions.ts index 60a41f96..0c790a24 100644 --- a/src/components/Editor/store/actions.ts +++ b/src/components/Editor/store/actions.ts @@ -11,6 +11,7 @@ import { mod } from '../env' import { serialize, createMarkdownParser } from '../markdown' import db from '../db' import { isEmpty, isInitialized } from '../prosemirror/helpers' +import { useRouter } from '../../../stores/router' const isText = (x) => x && x.doc && x.selection const isState = (x) => typeof x.lastModified !== 'string' && Array.isArray(x.drafts || []) @@ -177,7 +178,8 @@ export const createCtrl = (initial: State): [Store, EditorActions] => { const fetchData = async (): Promise => { const state: State = unwrap(store) - const room = window.location.pathname?.slice(1).trim() + const { searchParams } = useRouter<{ room: string }>() + const room = searchParams().room const args = { room: room ?? undefined } const data = await db.get('state') let parsed: State @@ -309,7 +311,8 @@ export const createCtrl = (initial: State): [Store, EditorActions] => { const doStartCollab = async (state: State): Promise => { const backup = state.args?.room && state.collab?.room !== state.args.room const room = state.args?.room ?? uuidv4() - window.history.replaceState(null, '', `/${room}`) + const { changeSearchParam } = useRouter<{ room: string }>() + changeSearchParam('room', room, true) const { roomConnect } = await import('../prosemirror/p2p') const [type, provider] = roomConnect(room) diff --git a/src/components/Editor/styles/Button.scss b/src/components/Editor/styles/Button.scss index ed5dae5f..19691185 100644 --- a/src/components/Editor/styles/Button.scss +++ b/src/components/Editor/styles/Button.scss @@ -9,7 +9,7 @@ button { outline: none; text-decoration: none; background: none; - font-family: Muller, Arial, Helvetica, sans-serif; + font-family: inherit; color: var(--foreground); border: 1px solid var(--foreground);