mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-19 05:59:34 +02:00
fix: text split try catch
This commit is contained in:
35
src/contexts/CustomSnackBarContext.tsx
Normal file
35
src/contexts/CustomSnackBarContext.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
import { createContext, FC, ReactNode } from 'react';
|
||||
import { Zoom } from '@mui/material';
|
||||
import { useSnackbar } from 'notistack';
|
||||
|
||||
type CustomSnackBarContext = {
|
||||
showSnackBar: (message: string, type: 'error' | 'success') => void;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
||||
export const CustomSnackBarContext = createContext<CustomSnackBarContext>(
|
||||
{} as CustomSnackBarContext
|
||||
);
|
||||
|
||||
interface Props {
|
||||
children: ReactNode;
|
||||
}
|
||||
|
||||
export const CustomSnackBarProvider: FC<Props> = ({ children }) => {
|
||||
const { enqueueSnackbar } = useSnackbar();
|
||||
const showSnackBar = (message: string, type: 'error' | 'success') => {
|
||||
enqueueSnackbar(message, {
|
||||
variant: type,
|
||||
anchorOrigin: {
|
||||
vertical: 'top',
|
||||
horizontal: 'right'
|
||||
},
|
||||
TransitionComponent: Zoom
|
||||
});
|
||||
};
|
||||
return (
|
||||
<CustomSnackBarContext.Provider value={{ showSnackBar }}>
|
||||
{children}
|
||||
</CustomSnackBarContext.Provider>
|
||||
);
|
||||
};
|
Reference in New Issue
Block a user