| 1 |
import CloseButton from '@elementor/ui/CloseButton'; |
| 2 |
import { date } from '@wordpress/date'; |
| 3 |
import { useSettings } from '../hooks/use-settings'; |
| 4 |
import useStorage from '../hooks/use-storage'; |
| 5 |
|
| 6 |
const DismissButton = () => { |
| 7 |
const { save, get } = useStorage(); |
| 8 |
const { setIsOpened } = useSettings(); |
| 9 |
|
| 10 |
const handleDismiss = async () => { |
| 11 |
if ( get.hasFinishedResolution ) { |
| 12 |
await save( { |
| 13 |
image_optimizer_review_data: { |
| 14 |
...get?.data?.image_optimizer_review_data || { |
| 15 |
rating: null, |
| 16 |
feedback: null, |
| 17 |
submitted: false, |
| 18 |
repo_review_clicked: false, |
| 19 |
}, |
| 20 |
dismissals: ( get?.data?.image_optimizer_review_data?.dismissals || 0 ) + 1, |
| 21 |
hide_for_days: ( get?.data?.image_optimizer_review_data?.hide_for_days || 0 ) + 30, |
| 22 |
last_dismiss: date( 'Y-m-d H:i:s' ), |
| 23 |
}, |
| 24 |
} ); |
| 25 |
} |
| 26 |
|
| 27 |
setIsOpened( false ); |
| 28 |
}; |
| 29 |
|
| 30 |
return ( |
| 31 |
<CloseButton |
| 32 |
onClick={ handleDismiss } |
| 33 |
variant="tertiary" |
| 34 |
aria-label="Dismiss" /> |
| 35 |
); |
| 36 |
}; |
| 37 |
|
| 38 |
export default DismissButton; |
| 39 |
|