import { configureStore } from "@reduxjs/toolkit";
import { setupListeners } from "@reduxjs/toolkit/query";
import { AuthSlice } from "./Auth/AuthSlice";
import { EducationSlice } from "./Education/EducationSlice";
import { UserSlice } from "./Users/UserSlice";
import { TopicSlice } from "./Topics/TopicSlice";

export const store = configureStore({
  reducer: {
    [AuthSlice.reducerPath]: AuthSlice.reducer,
    [EducationSlice.reducerPath]: EducationSlice.reducer,
    [UserSlice.reducerPath]: UserSlice.reducer,
    [TopicSlice.reducerPath]: TopicSlice.reducer,
  },
  middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware().concat(
      AuthSlice.middleware,
      EducationSlice.middleware,
      UserSlice.middleware,
      TopicSlice.middleware
    ),
});

setupListeners(store.dispatch);
