Skip to content
Snippets Groups Projects
map.slice.ts 998 B
Newer Older
import { createSlice } from '@reduxjs/toolkit';
import { MAP_DATA_INITIAL_STATE } from './map.constants';
import {
  closeMapAndSetMainMapActiveReducer,
  closeMapReducer,
  getMapReducers,
  openMapAndSetActiveReducer,
  setActiveMapReducer,
  setMapDataReducer,
} from './map.reducers';
import { MapState } from './map.types';

const initialState: MapState = {
  data: MAP_DATA_INITIAL_STATE,
  loading: 'idle',
  error: { name: '', message: '' },
};

const mapSlice = createSlice({
  name: 'map',
  initialState,
  reducers: {
    setMapData: setMapDataReducer,
    setActiveMap: setActiveMapReducer,
    openMapAndSetActive: openMapAndSetActiveReducer,
    closeMap: closeMapReducer,
    closeMapAndSetMainMapActive: closeMapAndSetMainMapActiveReducer,
  extraReducers: builder => {
    getMapReducers(builder);
  },
export const {
  setMapData,
  setActiveMap,
  openMapAndSetActive,
  closeMap,
  closeMapAndSetMainMapActive,
} = mapSlice.actions;

export default mapSlice.reducer;