55
66// Inspired by https://github.com/ryohey/use-toast-mui
77
8- import { useCallback , useContext , useMemo } from 'react' ;
8+ import { useContext } from 'react' ;
99import { AlertColor } from '@mui/material' ;
1010import { ToastContext } from '../components/Toast/ToastProvider' ;
1111
@@ -19,20 +19,22 @@ import { ToastContext } from '../components/Toast/ToastProvider';
1919 */
2020export const useToast = ( ) => {
2121 const { addToast } = useContext ( ToastContext ) ;
22- const fire = useCallback (
23- ( message : string , options : { type : AlertColor ; autoHideDuration ?: number } ) => {
24- addToast ( { message, ...options , key : new Date ( ) . getTime ( ) } ) ;
22+ const fire = ( message : string , options : { type : AlertColor ; autoHideDuration ?: number } ) => {
23+ addToast ( { message, ...options , key : new Date ( ) . getTime ( ) } ) ;
24+ } ;
25+ return {
26+ fire,
27+ info ( message : string , autoHideDuration ?: number ) {
28+ fire ( message , { type : 'info' , autoHideDuration } ) ;
2529 } ,
26- [ addToast ]
27- ) ;
28- return useMemo (
29- ( ) => ( {
30- fire,
31- info : ( message : string , autoHideDuration ?: number ) => fire ( message , { type : 'info' , autoHideDuration } ) ,
32- success : ( message : string , autoHideDuration ?: number ) => fire ( message , { type : 'success' , autoHideDuration } ) ,
33- warning : ( message : string , autoHideDuration ?: number ) => fire ( message , { type : 'warning' , autoHideDuration } ) ,
34- error : ( message : string , autoHideDuration ?: number ) => fire ( message , { type : 'error' , autoHideDuration } )
35- } ) ,
36- [ fire ]
37- ) ;
30+ success ( message : string , autoHideDuration ?: number ) {
31+ fire ( message , { type : 'success' , autoHideDuration } ) ;
32+ } ,
33+ warning ( message : string , autoHideDuration ?: number ) {
34+ fire ( message , { type : 'warning' , autoHideDuration } ) ;
35+ } ,
36+ error ( message : string , autoHideDuration ?: number ) {
37+ fire ( message , { type : 'error' , autoHideDuration } ) ;
38+ }
39+ } ;
3840} ;
0 commit comments