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

export type HotelAlertToastVariant = 'broadcast' | 'staff';

export interface HotelAlertToast {
    id: number;
    message: string;
    title?: string;
    variant?: HotelAlertToastVariant;
}

interface HotelAlertToastState {
    toasts: HotelAlertToast[];
    pushToast: (message: string, title?: string, variant?: HotelAlertToastVariant) => void;
    dismissToast: (id: number) => void;
}

let nextToastId = 0;

export const useHotelAlertToastStore = createOctaneStore<HotelAlertToastState>()((set) => ({
    toasts: [],
    pushToast: (message, title, variant) => set((state) => ({ toasts: [...state.toasts, { id: ++nextToastId, message, title, variant }] })),
    dismissToast: (id) => set((state) => ({ toasts: state.toasts.filter((toast) => toast.id !== id) }))
}));
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