All files / src/hooks useCustomSnackbar.tsx

100% Statements 4/4
100% Branches 2/2
100% Functions 2/2
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24          157x   157x           7x                 157x  
import { useSnackbar, type VariantType, type SnackbarMessage } from 'notistack';
import { withCustomSnackbar } from '../utils/withCustomSnackbar';
import { useCallback } from 'react';
 
export function useCustomSnackbar() {
  const { enqueueSnackbar, closeSnackbar } = useSnackbar();
 
  const notify = useCallback(
    (
      message: SnackbarMessage,
      variant: VariantType = 'default',
      autoHideDuration = 3000
    ) => {
      enqueueSnackbar(message, {
        variant,
        autoHideDuration,
        content: withCustomSnackbar(variant, closeSnackbar)
      });
    },
    [enqueueSnackbar, closeSnackbar]
  );
 
  return { notify };
}