fix(core): move to trash confirm modal missing (#7143)
move `MoveToTrash.ConfirmModal` from `RootAppSidebar ` to `CurrentWorkspaceModals `
This commit is contained in:
@@ -16,7 +16,6 @@ import type { HTMLAttributes, ReactElement } from 'react';
|
|||||||
import { forwardRef, memo, useCallback, useEffect } from 'react';
|
import { forwardRef, memo, useCallback, useEffect } from 'react';
|
||||||
|
|
||||||
import { useAppSettingHelper } from '../../hooks/affine/use-app-setting-helper';
|
import { useAppSettingHelper } from '../../hooks/affine/use-app-setting-helper';
|
||||||
import { useTrashModalHelper } from '../../hooks/affine/use-trash-modal-helper';
|
|
||||||
import { useNavigateHelper } from '../../hooks/use-navigate-helper';
|
import { useNavigateHelper } from '../../hooks/use-navigate-helper';
|
||||||
import { WorkbenchService } from '../../modules/workbench';
|
import { WorkbenchService } from '../../modules/workbench';
|
||||||
import {
|
import {
|
||||||
@@ -31,11 +30,7 @@ import {
|
|||||||
SidebarContainer,
|
SidebarContainer,
|
||||||
SidebarScrollableContainer,
|
SidebarScrollableContainer,
|
||||||
} from '../app-sidebar';
|
} from '../app-sidebar';
|
||||||
import {
|
import { createEmptyCollection, useEditCollectionName } from '../page-list';
|
||||||
createEmptyCollection,
|
|
||||||
MoveToTrash,
|
|
||||||
useEditCollectionName,
|
|
||||||
} from '../page-list';
|
|
||||||
import { CollectionsList } from '../pure/workspace-slider-bar/collections';
|
import { CollectionsList } from '../pure/workspace-slider-bar/collections';
|
||||||
import { AddCollectionButton } from '../pure/workspace-slider-bar/collections/add-collection-button';
|
import { AddCollectionButton } from '../pure/workspace-slider-bar/collections/add-collection-button';
|
||||||
import FavoriteList from '../pure/workspace-slider-bar/favorite/favorite-list';
|
import FavoriteList from '../pure/workspace-slider-bar/favorite/favorite-list';
|
||||||
@@ -126,20 +121,6 @@ export const RootAppSidebar = memo(
|
|||||||
});
|
});
|
||||||
}, [allPageActive, createPage, openPage, trashActive]);
|
}, [allPageActive, createPage, openPage, trashActive]);
|
||||||
|
|
||||||
const { trashModal, setTrashModal, handleOnConfirm } =
|
|
||||||
useTrashModalHelper(docCollection);
|
|
||||||
const deletePageTitles = trashModal.pageTitles;
|
|
||||||
const trashConfirmOpen = trashModal.open;
|
|
||||||
const onTrashConfirmOpenChange = useCallback(
|
|
||||||
(open: boolean) => {
|
|
||||||
setTrashModal({
|
|
||||||
...trashModal,
|
|
||||||
open,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
[trashModal, setTrashModal]
|
|
||||||
);
|
|
||||||
|
|
||||||
const navigateHelper = useNavigateHelper();
|
const navigateHelper = useNavigateHelper();
|
||||||
// Listen to the "New Page" action from the menu
|
// Listen to the "New Page" action from the menu
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -185,12 +166,6 @@ export const RootAppSidebar = memo(
|
|||||||
clientBorder={appSettings.clientBorder}
|
clientBorder={appSettings.clientBorder}
|
||||||
translucentUI={appSettings.enableBlurBackground}
|
translucentUI={appSettings.enableBlurBackground}
|
||||||
>
|
>
|
||||||
<MoveToTrash.ConfirmModal
|
|
||||||
open={trashConfirmOpen}
|
|
||||||
onConfirm={handleOnConfirm}
|
|
||||||
onOpenChange={onTrashConfirmOpenChange}
|
|
||||||
titles={deletePageTitles}
|
|
||||||
/>
|
|
||||||
<SidebarContainer>
|
<SidebarContainer>
|
||||||
<div className={workspaceAndUserWrapper}>
|
<div className={workspaceAndUserWrapper}>
|
||||||
<div className={workspaceWrapper}>
|
<div className={workspaceWrapper}>
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import {
|
|||||||
openSignOutModalAtom,
|
openSignOutModalAtom,
|
||||||
} from '../atoms';
|
} from '../atoms';
|
||||||
import { PaymentDisableModal } from '../components/affine/payment-disable';
|
import { PaymentDisableModal } from '../components/affine/payment-disable';
|
||||||
|
import { MoveToTrash } from '../components/page-list';
|
||||||
|
import { useTrashModalHelper } from '../hooks/affine/use-trash-modal-helper';
|
||||||
import { useAsyncCallback } from '../hooks/affine-async-hooks';
|
import { useAsyncCallback } from '../hooks/affine-async-hooks';
|
||||||
import { useNavigateHelper } from '../hooks/use-navigate-helper';
|
import { useNavigateHelper } from '../hooks/use-navigate-helper';
|
||||||
import { AuthService } from '../modules/cloud/services/auth';
|
import { AuthService } from '../modules/cloud/services/auth';
|
||||||
@@ -198,6 +200,21 @@ export function CurrentWorkspaceModals() {
|
|||||||
openDisableCloudAlertModalAtom
|
openDisableCloudAlertModalAtom
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const { trashModal, setTrashModal, handleOnConfirm } = useTrashModalHelper(
|
||||||
|
currentWorkspace.docCollection
|
||||||
|
);
|
||||||
|
const deletePageTitles = trashModal.pageTitles;
|
||||||
|
const trashConfirmOpen = trashModal.open;
|
||||||
|
const onTrashConfirmOpenChange = useCallback(
|
||||||
|
(open: boolean) => {
|
||||||
|
setTrashModal({
|
||||||
|
...trashModal,
|
||||||
|
open,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
[trashModal, setTrashModal]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Suspense>
|
<Suspense>
|
||||||
@@ -221,6 +238,12 @@ export function CurrentWorkspaceModals() {
|
|||||||
<AiLoginRequiredModal />
|
<AiLoginRequiredModal />
|
||||||
{runtimeConfig.enablePeekView && <PeekViewManagerModal />}
|
{runtimeConfig.enablePeekView && <PeekViewManagerModal />}
|
||||||
{environment.isDesktop && <FindInPageModal />}
|
{environment.isDesktop && <FindInPageModal />}
|
||||||
|
<MoveToTrash.ConfirmModal
|
||||||
|
open={trashConfirmOpen}
|
||||||
|
onConfirm={handleOnConfirm}
|
||||||
|
onOpenChange={onTrashConfirmOpenChange}
|
||||||
|
titles={deletePageTitles}
|
||||||
|
/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user