mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-10 05:29:08 +08:00
fix: can not close menu in all page (#4232)
Co-authored-by: Alex Yang <himself65@outlook.com>
This commit is contained in:
@@ -52,3 +52,7 @@ export const dropdownBtn = style({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const menuContent = style({
|
||||||
|
backgroundColor: 'var(--affine-background-overlay-panel-color)',
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
||||||
import { EdgelessIcon, ImportIcon, PageIcon } from '@blocksuite/icons';
|
import { EdgelessIcon, ImportIcon, PageIcon } from '@blocksuite/icons';
|
||||||
import { Menu } from '@toeverything/components/menu';
|
import { Menu } from '@toeverything/components/menu';
|
||||||
import { useState } from 'react';
|
import { useCallback, useState } from 'react';
|
||||||
|
|
||||||
// import { Menu } from '../../../ui/menu/menu';
|
|
||||||
import { BlockCard } from '../../card/block-card';
|
import { BlockCard } from '../../card/block-card';
|
||||||
import { DropdownButton } from './dropdown';
|
import { DropdownButton } from './dropdown';
|
||||||
|
import { menuContent } from './dropdown.css';
|
||||||
|
|
||||||
type NewPageButtonProps = {
|
type NewPageButtonProps = {
|
||||||
createNewPage: () => void;
|
createNewPage: () => void;
|
||||||
@@ -63,32 +63,40 @@ export const NewPageButton = ({
|
|||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
return (
|
return (
|
||||||
<Menu
|
<Menu
|
||||||
|
items={
|
||||||
|
<CreateNewPagePopup
|
||||||
|
createNewPage={useCallback(() => {
|
||||||
|
createNewPage();
|
||||||
|
setOpen(false);
|
||||||
|
}, [createNewPage])}
|
||||||
|
createNewEdgeless={useCallback(() => {
|
||||||
|
createNewEdgeless();
|
||||||
|
setOpen(false);
|
||||||
|
}, [createNewEdgeless])}
|
||||||
|
importFile={useCallback(() => {
|
||||||
|
importFile();
|
||||||
|
setOpen(false);
|
||||||
|
}, [importFile])}
|
||||||
|
/>
|
||||||
|
}
|
||||||
rootOptions={{
|
rootOptions={{
|
||||||
open,
|
open,
|
||||||
}}
|
}}
|
||||||
items={
|
contentOptions={{
|
||||||
<CreateNewPagePopup
|
className: menuContent,
|
||||||
createNewPage={() => {
|
align: 'end',
|
||||||
createNewPage();
|
hideWhenDetached: true,
|
||||||
setOpen(false);
|
onInteractOutside: useCallback(() => {
|
||||||
}}
|
setOpen(false);
|
||||||
createNewEdgeless={() => {
|
}, []),
|
||||||
createNewEdgeless();
|
}}
|
||||||
setOpen(false);
|
|
||||||
}}
|
|
||||||
importFile={() => {
|
|
||||||
importFile();
|
|
||||||
setOpen(false);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
onClick={() => {
|
onClick={useCallback(() => {
|
||||||
createNewPage();
|
createNewPage();
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
}}
|
}, [createNewPage])}
|
||||||
onClickDropDown={() => setOpen(!open)}
|
onClickDropDown={useCallback(() => setOpen(open => !open), [])}
|
||||||
>
|
>
|
||||||
{t['New Page']()}
|
{t['New Page']()}
|
||||||
</DropdownButton>
|
</DropdownButton>
|
||||||
|
|||||||
Reference in New Issue
Block a user