From bd6e014cdfeb48c411cc7e0d5dd68d07e368eb64 Mon Sep 17 00:00:00 2001 From: Igor Lobanov Date: Fri, 12 May 2023 15:45:31 +0200 Subject: [PATCH] insert link enter fix (#94) * floating plus fix, esc fix * a href="#" -> span --- src/components/Article/FullArticle.tsx | 3 +- .../EditorFloatingMenu.module.scss | 2 +- .../EditorFloatingMenu/EditorFloatingMenu.tsx | 8 +++- .../Editor/InlineForm/InlineForm.tsx | 17 +++---- src/components/Editor/Panel/Panel.module.scss | 3 +- src/components/Editor/Panel/Panel.tsx | 44 ++++++++++--------- src/components/Inbox/DialogAvatar.tsx | 3 +- src/components/Nav/Modal/Modal.tsx | 6 ++- src/utils/useEscKeyDownHandler.ts | 4 +- src/utils/useOutsideClickHandler.ts | 12 ++--- 10 files changed, 60 insertions(+), 42 deletions(-) diff --git a/src/components/Article/FullArticle.tsx b/src/components/Article/FullArticle.tsx index 60a76e5c..5fd27caf 100644 --- a/src/components/Article/FullArticle.tsx +++ b/src/components/Article/FullArticle.tsx @@ -19,6 +19,7 @@ import { Title } from '@solidjs/meta' import { useLocalize } from '../../context/localize' import stylesHeader from '../Nav/Header.module.scss' import styles from './Article.module.scss' +import { imageProxy } from '../../utils/imageProxy' interface ArticleProps { article: Shout @@ -152,7 +153,7 @@ export const FullArticle = (props: ArticleProps) => {
diff --git a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.module.scss b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.module.scss index 03fddc7b..a897551e 100644 --- a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.module.scss +++ b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.module.scss @@ -17,7 +17,7 @@ background: #fff; left: 24px; position: absolute; - top: -2px; + top: -4px; min-width: 64vw; } } diff --git a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx index 67dc0842..3cb336d0 100644 --- a/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx +++ b/src/components/Editor/EditorFloatingMenu/EditorFloatingMenu.tsx @@ -30,6 +30,7 @@ export const EditorFloatingMenu = (props: FloatingMenuProps) => { const [selectedMenuItem, setSelectedMenuItem] = createSignal() const [menuOpen, setMenuOpen] = createSignal(false) const menuRef: { current: HTMLDivElement } = { current: null } + const plusButtonRef: { current: HTMLButtonElement } = { current: null } const handleEmbedFormSubmit = async (value: string) => { // TODO: add support instagram embed (blockquote) const emb = await embedData(value) @@ -62,7 +63,11 @@ export const EditorFloatingMenu = (props: FloatingMenuProps) => { useOutsideClickHandler({ containerRef: menuRef, - handler: () => { + handler: (e) => { + if (plusButtonRef.current.contains(e.target)) { + return + } + if (menuOpen()) { setMenuOpen(false) } @@ -82,6 +87,7 @@ export const EditorFloatingMenu = (props: FloatingMenuProps) => { <>