Merge pull request #46 from Discours/editor-fix

editor fix
This commit is contained in:
Igor Lobanov 2022-10-31 21:27:49 +01:00 committed by GitHub
commit 72c5b1bc70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 7 deletions

View File

@ -25,15 +25,16 @@ const customKeymap = (props: ExtensionsProps): ProseMirrorExtension => ({
}) })
export const createExtensions = (props: ExtensionsProps): ProseMirrorExtension[] => { export const createExtensions = (props: ExtensionsProps): ProseMirrorExtension[] => {
const eee = [ const extensions = [
placeholder(t('Just start typing...')), placeholder(t('Just start typing...')),
customKeymap(props), customKeymap(props),
base(props.markdown), base(props.markdown),
selectionMenu(), selectionMenu(),
scrollPlugin(props.config?.typewriterMode) scrollPlugin(props.config?.typewriterMode)
] ]
if (props.markdown) { if (props.markdown) {
eee.push( extensions.push(
markdown(), markdown(),
todoList(), todoList(),
dragHandle(), 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 = () => ({ export const createEmptyText = () => ({

View File

@ -11,6 +11,7 @@ import { mod } from '../env'
import { serialize, createMarkdownParser } from '../markdown' import { serialize, createMarkdownParser } from '../markdown'
import db from '../db' import db from '../db'
import { isEmpty, isInitialized } from '../prosemirror/helpers' import { isEmpty, isInitialized } from '../prosemirror/helpers'
import { useRouter } from '../../../stores/router'
const isText = (x) => x && x.doc && x.selection const isText = (x) => x && x.doc && x.selection
const isState = (x) => typeof x.lastModified !== 'string' && Array.isArray(x.drafts || []) const isState = (x) => typeof x.lastModified !== 'string' && Array.isArray(x.drafts || [])
@ -177,7 +178,8 @@ export const createCtrl = (initial: State): [Store<State>, EditorActions] => {
const fetchData = async (): Promise<State> => { const fetchData = async (): Promise<State> => {
const state: State = unwrap(store) 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 args = { room: room ?? undefined }
const data = await db.get('state') const data = await db.get('state')
let parsed: State let parsed: State
@ -309,7 +311,8 @@ export const createCtrl = (initial: State): [Store<State>, EditorActions] => {
const doStartCollab = async (state: State): Promise<State> => { const doStartCollab = async (state: State): Promise<State> => {
const backup = state.args?.room && state.collab?.room !== state.args.room const backup = state.args?.room && state.collab?.room !== state.args.room
const room = state.args?.room ?? uuidv4() 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 { roomConnect } = await import('../prosemirror/p2p')
const [type, provider] = roomConnect(room) const [type, provider] = roomConnect(room)

View File

@ -9,7 +9,7 @@ button {
outline: none; outline: none;
text-decoration: none; text-decoration: none;
background: none; background: none;
font-family: Muller, Arial, Helvetica, sans-serif; font-family: inherit;
color: var(--foreground); color: var(--foreground);
border: 1px solid var(--foreground); border: 1px solid var(--foreground);