diff --git a/apps/venus/src/app/common/Footer.tsx b/apps/venus/src/app/common/Footer.tsx index d13ae5bb25..d8cc674223 100644 --- a/apps/venus/src/app/common/Footer.tsx +++ b/apps/venus/src/app/common/Footer.tsx @@ -2,7 +2,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ import { useTranslation } from 'react-i18next'; -import { Box, Button, Grid, Typography } from '@mui/joy'; +import { Box, Button, Grid, styled, Typography } from '@mui/joy'; import GitHubIcon from '@mui/icons-material/GitHub'; import RedditIcon from '@mui/icons-material/Reddit'; @@ -361,7 +361,14 @@ export const AFFiNEFooter = ({ > #OpenSource - company + software, built with  + + BlockSuite + @@ -383,3 +390,13 @@ export const AFFiNEFooter = ({ ); }; + +const StyledLink = styled('a')({ + fontWeight: '900', + color: '#000', + textDecoration: 'none', + + '&:hover': { + textDecoration: 'underline', + }, +}); diff --git a/libs/components/common/src/lib/text/EditableText.tsx b/libs/components/common/src/lib/text/EditableText.tsx index 87c111544a..ba7ffad621 100644 --- a/libs/components/common/src/lib/text/EditableText.tsx +++ b/libs/components/common/src/lib/text/EditableText.tsx @@ -551,9 +551,9 @@ export const Text = forwardRef((props, ref) => { } } // markdown interception - if (supportMarkdown && !!handleMarkdown(e)) { - const start_selection = utils.current.getStartSelection(); - utils.current.setSelection(start_selection); + if (supportMarkdown && handleMarkdown(e)) { + const endOfMarkdown = utils.current.getEndSelection(); + utils.current.setSelection(endOfMarkdown); e.preventDefault(); return true; } diff --git a/libs/components/editor-core/src/editor/commands/block-commands.ts b/libs/components/editor-core/src/editor/commands/block-commands.ts index f156bd627a..bb6ba6eadf 100644 --- a/libs/components/editor-core/src/editor/commands/block-commands.ts +++ b/libs/components/editor-core/src/editor/commands/block-commands.ts @@ -46,12 +46,14 @@ export class BlockCommands { * * remove block by block id * @param {string} blockId + * @param onDelete Delete Block's LeftMenuDraggable * @memberof BlockCommands */ - public async removeBlock(blockId: string) { + public async removeBlock(blockId: string, onDelete?: () => void) { const block = await this._editor.getBlockById(blockId); if (block) { - block.remove(); + onDelete(); + await block.remove(); } } diff --git a/libs/components/editor-plugins/src/menu/left-menu/LeftMenu.tsx b/libs/components/editor-plugins/src/menu/left-menu/LeftMenu.tsx index 731b6ea42e..c951d7600f 100644 --- a/libs/components/editor-plugins/src/menu/left-menu/LeftMenu.tsx +++ b/libs/components/editor-plugins/src/menu/left-menu/LeftMenu.tsx @@ -18,17 +18,21 @@ interface LeftMenuProps { editor?: Virgo; hooks: PluginHooks; blockId: string; + onDelete: () => void; } export function LeftMenu(props: LeftMenuProps) { - const { editor, anchorEl, hooks, blockId, onClose } = props; + const { editor, anchorEl, hooks, blockId, onClose, onDelete } = props; const { t } = useTranslation(); const menu: CascaderItemProps[] = useMemo( () => [ { title: t('Delete'), - callback: () => { - editor.commands.blockCommands.removeBlock(blockId); + callback: async () => { + await editor.commands.blockCommands.removeBlock( + blockId, + onDelete + ); }, shortcut: 'Del', icon: , diff --git a/libs/components/editor-plugins/src/menu/left-menu/LeftMenuDraggable.tsx b/libs/components/editor-plugins/src/menu/left-menu/LeftMenuDraggable.tsx index 71e11e4679..4701c6c312 100644 --- a/libs/components/editor-plugins/src/menu/left-menu/LeftMenuDraggable.tsx +++ b/libs/components/editor-plugins/src/menu/left-menu/LeftMenuDraggable.tsx @@ -165,6 +165,10 @@ export const LeftMenuDraggable = (props: LeftMenuProps) => { setAnchorEl(currentTarget); }; + const onDelete = useCallback(() => { + setBlock(undefined); + }, []); + const onClose = useCallback(() => setAnchorEl(undefined), [setAnchorEl]); useEffect(() => { @@ -241,6 +245,7 @@ export const LeftMenuDraggable = (props: LeftMenuProps) => { editor={props.editor} hooks={props.hooks} onClose={onClose} + onDelete={onDelete} blockId={block.block.id} >