/** * External dependencies */ import { NOTES_STORE_NAME } from '@woocommerce/data'; import { recordEvent } from '@woocommerce/tracks'; import { useDispatch } from '@wordpress/data'; import { Button, Modal } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; const DissmissAllModal = ( { onClose } ) => { const { createNotice } = useDispatch( 'core/notices' ); const { batchUpdateNotes, removeAllNotes } = useDispatch( NOTES_STORE_NAME ); const dismissAllNotes = async () => { recordEvent( 'wcadmin_inbox_action_dismissall', {} ); try { const notesRemoved = await removeAllNotes( { status: 'unactioned', } ); createNotice( 'success', __( 'All messages dismissed', 'woocommerce-admin' ), { actions: [ { label: __( 'Undo', 'woocommerce-admin' ), onClick: () => { batchUpdateNotes( notesRemoved.map( ( note ) => note.id ), { is_deleted: 0, } ); }, }, ], } ); } catch ( e ) { createNotice( 'error', __( 'Messages could not be dismissed', 'woocommerce-admin' ) ); onClose(); } }; return ( <>
{ __( 'Are you sure? Inbox messages will be dismissed forever.', 'woocommerce-admin' ) }
); }; export default DissmissAllModal;