import {
FlexWrapper,
IconButton,
Menu,
MenuItem,
Tooltip,
} from '@affine/component';
import { toast } from '@affine/component';
import { useTranslation } from '@affine/i18n';
import { PageMeta } from '@affine/store';
import {
DeleteForeverIcon,
FavouritedIcon,
FavouritesIcon,
MoreVerticalIcon,
OpenInNewIcon,
RestoreIcon,
TrashIcon,
} from '@blocksuite/icons';
import { usePageHelper } from '@/hooks/use-page-helper';
import { useConfirm } from '@/providers/ConfirmProvider';
export const OperationCell = ({ pageMeta }: { pageMeta: PageMeta }) => {
const { id, favorite } = pageMeta;
const { openPage } = usePageHelper();
const { toggleFavoritePage, toggleDeletePage } = usePageHelper();
const confirm = useConfirm(store => store.confirm);
const { t } = useTranslation();
const OperationMenu = (
<>
>
);
return (
);
};
export const TrashOperationCell = ({ pageMeta }: { pageMeta: PageMeta }) => {
const { id } = pageMeta;
const { openPage, getPageMeta } = usePageHelper();
const { toggleDeletePage, permanentlyDeletePage } = usePageHelper();
const confirm = useConfirm(store => store.confirm);
const { t } = useTranslation();
return (
{
toggleDeletePage(id);
toast(
t('restored', { title: getPageMeta(id)?.title || 'Untitled' })
);
openPage(id);
}}
>
{
confirm({
title: t('Delete permanently?'),
content: t("Once deleted, you can't undo this action."),
confirmText: t('Delete'),
confirmType: 'danger',
}).then(confirm => {
confirm && permanentlyDeletePage(id);
toast(t('Permanently deleted'));
});
}}
>
);
};