HabitatMap/AirCasting

View on GitHub
app/javascript/react/store/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { configureStore } from "@reduxjs/toolkit";

import clusterReducer from "./clusterSlice";
import crowdMapReducer from "./crowdMapSlice";
import sessionReducer from "./exportSessionSlice";
import fixedSessionsReducer from "./fixedSessionsSlice";
import fixedStreamReducer from "./fixedStreamSlice";
import indoorSessionsReducer from "./indoorSessionsSlice";
import { selectIsLoading } from "./loadingSelectors";
import mapReducer from "./mapSlice";
import markersLoadingReducer from "./markersLoadingSlice";
import mobileSessionsReducer from "./mobileSessionsSlice";
import mobileStreamReducer from "./mobileStreamSlice";
import movingStreamReducer from "./movingCalendarStreamSlice";
import realtimeMapUpdatesReducer from "./realtimeMapUpdatesSlice";
import rectangleReducer from "./rectangleSlice";
import sensorsReducer from "./sensorsSlice";
import sessionFilterReducer from "./sessionFiltersSlice";
import thresholdReducer from "./thresholdSlice";
import timelapseReducer from "./timelapseSlice";

const store = configureStore({
  reducer: {
    cluster: clusterReducer,
    crowdMap: crowdMapReducer,
    fixedSessions: fixedSessionsReducer,
    fixedStream: fixedStreamReducer,
    indoorSessions: indoorSessionsReducer,
    map: mapReducer,
    markersLoading: markersLoadingReducer,
    mobileSessions: mobileSessionsReducer,
    mobileStream: mobileStreamReducer,
    movingCalendarStream: movingStreamReducer,
    realtimeMapUpdates: realtimeMapUpdatesReducer,
    rectangle: rectangleReducer,
    sensors: sensorsReducer,
    session: sessionReducer,
    sessionFilter: sessionFilterReducer,
    threshold: thresholdReducer,
    timelapse: timelapseReducer,
  },
});

export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
export { selectIsLoading };
export default store;