import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import type { UIState } from '@/types';

const initialState: UIState = {
  isLoading: false,
  loadingText: undefined,
};

const uiSlice = createSlice({
  name: 'ui',
  initialState,
  reducers: {
    setLoading(state, action: PayloadAction<{ isLoading: boolean; text?: string }>) {
      state.isLoading = action.payload.isLoading;
      state.loadingText = action.payload.text;
    },
  },
});

export const { setLoading } = uiSlice.actions;
export default uiSlice.reducer;
