import { Middleware, isFulfilled, isRejectedWithValue } from '@reduxjs/toolkit';
import { t } from 'i18next';
import { enqueueSnackbar } from 'notistack';
import { allAlertMessages } from './messages';
export const rtkAlertMiddleware: Middleware = () => (next) => (action) => {
Refactor this function to not always return the same value.
const result = next(action);
const endpointName = action?.meta?.arg?.endpointName;
if (!endpointName) return result;
const messages = allAlertMessages[endpointName];
if (!messages) return result;
if (isFulfilled(action) && messages.success) {
enqueueSnackbar(t(`alerts:${messages.success}`), {
variant: 'success',
});
}
if (isRejectedWithValue(action) && messages.error) {
enqueueSnackbar(t(`alerts:${messages.error}`), {
variant: 'error',
});
}
return result;
};
import { Middleware, isFulfilled, isRejectedWithValue } from '@reduxjs/toolkit';
import { t } from 'i18next';
import { enqueueSnackbar } from 'notistack';
import { allAlertMessages } from './messages';
export const rtkAlertMiddleware: Middleware = () => (next) => (action) => {
const result = next(action);
const endpointName = action?.meta?.arg?.endpointName;
if (!endpointName) return result;
const messages = allAlertMessages[endpointName];
if (!messages) return result;
if (isFulfilled(action) && messages.success) {
enqueueSnackbar(t(`alerts:${messages.success}`), {
variant: 'success',
});
}
if (isRejectedWithValue(action) && messages.error) {
enqueueSnackbar(t(`alerts:${messages.error}`), {
variant: 'error',
});
}
return result;
};