5180 fichiers 38.5 Mo 0 téléchargements 195 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / hooks / mod-tools / modAlertStore.ts
modAlertStore.ts 870 o Télécharger le fichier
import { createOctaneStore } from '../../state/createOctaneStore';

export interface ModAlert {
    id: number;
    title: string;
    message: string;
}

interface ModAlertState {
    alerts: ModAlert[];
    show: (message: string, title?: string) => void;
    close: (id: number) => void;
}

let nextAlertId = 1;

// Classic v75 windowManager.alert(title, message): a window of its own that stays until its button is pressed.
export const useModAlertStore = createOctaneStore<ModAlertState>()((set) => ({
    alerts: [],
    show: (message, title = 'Alert') => set((state) => ({ alerts: [...state.alerts, { id: nextAlertId++, title, message }] })),
    close: (id) => set((state) => ({ alerts: state.alerts.filter((alert) => alert.id !== id) }))
}));

export const showModAlert = (message: string, title = 'Alert') => useModAlertStore.getState().show(message, title);
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser