Files
VRCT/src-ui/logics/common/useNotificationStatus.js
Sakamoto Shiina 88cb4f72b5 [Update/bugfix] UI: Add disable/enable UI function when osc query is disabled.
Fix the error that the mic mute sync couldn't enable/disable.
2025-05-30 15:32:03 +09:00

55 lines
1.5 KiB
JavaScript

import { useStore_NotificationStatus } from "@store";
export const useNotificationStatus = () => {
const { currentNotificationStatus, updateNotificationStatus } = useStore_NotificationStatus();
const generateRandomKey = () => Math.random();
const showNotification_Warning = (message, options = {}) => {
updateNotificationStatus({
status: "warning",
is_open: true,
key: generateRandomKey(),
message: message,
options: options,
});
};
const showNotification_Error = (message, options = {}) => {
updateNotificationStatus({
status: "error",
is_open: true,
key: generateRandomKey(),
message: message,
options: options,
});
};
const showNotification_Success = (message, options = {}) => {
updateNotificationStatus({
status: "success",
is_open: true,
key: generateRandomKey(),
message: message,
options: options,
});
};
const closeNotification = (event, reason) => {
if (reason === "clickaway") return;
updateNotificationStatus((prev) => ({
...prev.data,
is_open: false,
}));
};
return {
currentNotificationStatus,
updateNotificationStatus,
showNotification_Warning,
showNotification_Error,
showNotification_Success,
closeNotification,
};
};