import { MenuGroup, MenuItem, DropdownMenu } from '@wordpress/components';
import { useState } from '@wordpress/element';
import { displayShortcut } from '@wordpress/keycodes';
import { moreVertical } from '@wordpress/icons';
import { useEntityProp } from '@wordpress/core-data';
import { __, _x } from '@wordpress/i18n';
import { PreferenceToggleMenuItem } from '@wordpress/preferences';
import { useSelect, useDispatch } from '@wordpress/data';
import { storeName } from '../../store';
import { TrashModal } from './trash-modal';
// See:
// https://github.com/WordPress/gutenberg/blob/9601a33e30ba41bac98579c8d822af63dd961488/packages/edit-post/src/components/header/more-menu/index.js
// https://github.com/WordPress/gutenberg/blob/0ee78b1bbe9c6f3e6df99f3b967132fa12bef77d/packages/edit-site/src/components/header/more-menu/index.js
export function MoreMenu(): JSX.Element {
const [ showTrashModal, setShowTrashModal ] = useState( false );
const { urls, postId } = useSelect(
( select ) => ( {
urls: select( storeName ).getUrls(),
postId: select( storeName ).getEmailPostId(),
} ),
[]
);
const [ status, setStatus ] = useEntityProp(
'postType',
'mailpoet_email',
'status'
);
const { saveEditedEmail, updateEmailMailPoetProperty } =
useDispatch( storeName );
const goToListings = () => {
window.location.href = urls.listings;
};
return (
<>
{ () => (
<>
{ status === 'trash' ? (
) : (
) }
>
) }
{ showTrashModal && (
setShowTrashModal( false ) }
onRemove={ goToListings }
postId={ postId }
/>
) }
>
);
}