/** * WordPress dependencies */ import { Button } from '@safe-wordpress/components'; import { useDispatch } from '@safe-wordpress/data'; import { sprintf, _x, _nx } from '@safe-wordpress/i18n'; /** * External dependencies */ import { DeleteButton } from '@nelio-content/components'; import type { TaskPreset, TaskTemplate as TaskTempl, } from '@nelio-content/types'; /** * Internal dependencies */ import './style.scss'; import { store as NC_TASK_PRESETS } from '~/nelio-content-pages/settings/task-presets/store'; import { useAuthorName } from '@nelio-content/data'; export type TaskTemplateProps = { readonly presetId: TaskPreset[ 'id' ]; readonly task: TaskTempl; readonly disabled: boolean; readonly onDelete: () => void; readonly onUpdate: ( task: TaskTempl ) => void; }; export const TaskTemplate = ( { presetId, task, onDelete, }: TaskTemplateProps ): JSX.Element => { const { openTaskTemplateEditor } = useDispatch( NC_TASK_PRESETS ); const authorName = useAuthorName( task.assigneeId ); const dueDate = getDueDate( task.dateType, task.dateValue ); const onEdit = () => openTaskTemplateEditor( presetId, task ); return (