/** * WordPress dependencies */ import { DropdownMenu, MenuGroup, MenuItem } from '@safe-wordpress/components'; import { _x } from '@safe-wordpress/i18n'; /** * External dependencies */ import { useCanCreateMessages, useCanCreatePosts, useCanCreateTasks, useDefaultTime, useMessageCreator, useNewPostLabel, usePostCreator, useTaskCreator, useToday, } from '@nelio-content/calendar'; export type ItemCreationButtonProps = { readonly className?: string; }; export const ItemCreationButton = ( { className = '', }: ItemCreationButtonProps ): JSX.Element => { const today = useToday(); const singularPostTypeLabel = useNewPostLabel(); const canCreatePosts = useCanCreatePosts(); const canCreateMessages = useCanCreateMessages(); const canCreateTasks = useCanCreateTasks(); const postTime = useDefaultTime( 'post' ); const openNewPostEditor = usePostCreator( today, postTime ); const socialTime = useDefaultTime( 'social' ); const openNewSocialMessageEditor = useMessageCreator( today, socialTime ); const openNewTaskEditor = useTaskCreator( today ); return ( { ( { onClose }: { onClose: () => void } ) => ( { onClose(); openNewPostEditor(); } } > { singularPostTypeLabel } { onClose(); openNewSocialMessageEditor(); } } > { _x( 'Social Message', 'text', 'nelio-content' ) } { onClose(); openNewTaskEditor(); } } > { _x( 'Task', 'text', 'nelio-content' ) } ) } ); };