forked from Simnation/Main
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
export let NOTIFY_CONFIG = null;
|
|
|
|
const defaultConfig = {
|
|
NotificationStyling: {
|
|
group: true,
|
|
position: "top-right",
|
|
progress: true,
|
|
},
|
|
VariantDefinitions: {
|
|
success: {
|
|
classes: "success",
|
|
icon: "done",
|
|
},
|
|
primary: {
|
|
classes: "primary",
|
|
icon: "info",
|
|
},
|
|
error: {
|
|
classes: "error",
|
|
icon: "dangerous",
|
|
},
|
|
police: {
|
|
classes: "police",
|
|
icon: "local_police",
|
|
},
|
|
ambulance: {
|
|
classes: "ambulance",
|
|
icon: "fas fa-ambulance",
|
|
},
|
|
},
|
|
};
|
|
|
|
export const determineStyleFromVariant = (variant) => {
|
|
const variantData = NOTIFY_CONFIG.VariantDefinitions[variant];
|
|
if (!variantData) throw new Error(`Style of type: ${variant}, does not exist in the config`);
|
|
return variantData;
|
|
};
|
|
|
|
export const fetchNotifyConfig = async () => {
|
|
try {
|
|
NOTIFY_CONFIG = await window.fetchNui("getNotifyConfig", {});
|
|
if (!NOTIFY_CONFIG) {
|
|
NOTIFY_CONFIG = defaultConfig;
|
|
}
|
|
} catch (error) {
|
|
console.error("Failed to fetch notification config, using default", error);
|
|
NOTIFY_CONFIG = defaultConfig;
|
|
}
|
|
};
|
|
|
|
window.addEventListener("load", async () => {
|
|
await fetchNotifyConfig();
|
|
});
|