useIsHasAttribute.js
2 years ago
useMetaState.js
2 years ago
useRepeaterState.js
2 years ago
useSelectPostMeta.js
2 years ago
useStateLoadingClasses.js
2 years ago
useStateValidClasses.js
2 years ago
useSuccessNotice.js
2 years ago
withSelectFormFields.js
2 years ago
useSuccessNotice.js
25 lines
| 1 | const { |
| 2 | useState, |
| 3 | useEffect, |
| 4 | } = wp.element; |
| 5 | |
| 6 | const { |
| 7 | useDispatch, |
| 8 | } = wp.data; |
| 9 | |
| 10 | |
| 11 | function useSuccessNotice ( text, options = {} ) { |
| 12 | const [ hasCopied, setHasCopied ] = useState( false ); |
| 13 | const noticeStore = useDispatch( wp.notices.store ); |
| 14 | |
| 15 | useEffect( () => { |
| 16 | if ( hasCopied ) { |
| 17 | noticeStore.createWarningNotice( text, |
| 18 | { type: 'snackbar', ...options } ); |
| 19 | } |
| 20 | }, [ hasCopied ] ); |
| 21 | |
| 22 | return setHasCopied; |
| 23 | } |
| 24 | |
| 25 | export default useSuccessNotice; |