saleor-apps-redis_apl/packages/shared/src/use-dashboard-notification.ts

59 lines
1.3 KiB
TypeScript
Raw Normal View History

import { useCallback } from "react";
import { actions, useAppBridge } from "@saleor/app-sdk/app-bridge";
export const useDashboardNotification = () => {
const { appBridge } = useAppBridge();
return {
notifySuccess: useCallback(
(title: string, text?: string) => {
appBridge?.dispatch(
actions.Notification({
status: "success",
title,
text,
})
);
},
[appBridge]
),
notifyError: useCallback(
(title: string, text?: string, apiMessage?: string) => {
appBridge?.dispatch(
actions.Notification({
status: "error",
title,
text,
apiMessage: apiMessage,
})
);
},
[appBridge]
),
notifyWarning: useCallback(
(title: string, text?: string) => {
appBridge?.dispatch(
actions.Notification({
status: "warning",
title,
text,
})
);
},
[appBridge]
),
notifyInfo: useCallback(
(title: string, text?: string) => {
appBridge?.dispatch(
actions.Notification({
status: "info",
title,
text,
})
);
},
[appBridge]
),
};
};