import { createSlice } from '@reduxjs/toolkit';
import { v4 as uuidv4 } from 'uuid';

const TOAST_DURATION = 3000; // 3 วินาที

const toastSlice = createSlice({
    name: 'toast',
    initialState: {
        queue: [], // สถานะเก็บรายการ Toast ทั้งหมดที่ต้องแสดง
    },
    reducers: {
        // Action สำหรับเพิ่ม Toast เข้าคิว
        addToast: (state, action) => {
            const newToast = {
                id: uuidv4(),
                message: action.payload.message,
                type: action.payload.type || 'info',
            };
            state.queue.push(newToast);

        },

        // Action สำหรับลบ Toast ออกจากคิว
        removeToast: (state, action) => {
            state.queue = state.queue.filter(toast => toast.id !== action.payload.id);
        }
    },
});

export const { addToast, removeToast } = toastSlice.actions;
export default toastSlice.reducer;