diff --git a/packages/core/src/components/entry-editor/EditorToolbar.css b/packages/core/src/components/entry-editor/EditorToolbar.css index b01dfdc0..9a59a75a 100644 --- a/packages/core/src/components/entry-editor/EditorToolbar.css +++ b/packages/core/src/components/entry-editor/EditorToolbar.css @@ -22,6 +22,11 @@ lg:!hidden; } +.CMS_EditorToolbar_discard-button { + @apply flex + lg:!hidden; +} + .CMS_EditorToolbar_delete-button { @apply flex lg:!hidden; diff --git a/packages/core/src/components/entry-editor/EditorToolbar.tsx b/packages/core/src/components/entry-editor/EditorToolbar.tsx index 93c429b8..296de4b8 100644 --- a/packages/core/src/components/entry-editor/EditorToolbar.tsx +++ b/packages/core/src/components/entry-editor/EditorToolbar.tsx @@ -29,8 +29,8 @@ import MenuGroup from '../common/menu/MenuGroup'; import MenuItemButton from '../common/menu/MenuItemButton'; import EditorWorkflowToolbarButtons from './EditorWorkflowToolbarButtons'; -import type { WorkflowStatus } from '@staticcms/core/constants/publishModes'; import type { CollectionWithDefaults, EditorPersistOptions } from '@staticcms/core'; +import type { WorkflowStatus } from '@staticcms/core/constants/publishModes'; import type { FC, MouseEventHandler } from 'react'; import './EditorToolbar.css'; @@ -41,6 +41,7 @@ export const classes = generateClassNames('EditorToolbar', [ 'more-menu-button', 'more-menu-label-icon', 'preview-toggle', + 'discard-button', 'delete-button', 'publish-button', 'publish-button-icon', @@ -419,14 +420,34 @@ const EditorToolbar: FC = ({ disabled={disabled} /> ) : null} - {canDelete ? ( + {hasChanged ? ( + + ) : canDelete && + (!useOpenAuthoring || hasUnpublishedChanges) && + (!useWorkflow || workflowDeleteLabel) ? (