IL-2602
1import { AppStore } from '@/app/store/types/appStore'
2import { api } from '@/services/api'
3import { authSlice } from '@/services/authService/store/slice/authEndpoints.slice'
4import { postSlice } from '@/services/postService/store/slice/postEndpoints.slice'
5import { profileSlice } from '@/services/profileService/store/slice/profileEndpoints.slice'
6import { combineSlices, configureStore } from '@reduxjs/toolkit'
7import { Context, createWrapper } from 'next-redux-wrapper'
8
9const rootReducer = combineSlices(api, authSlice, postSlice, profileSlice)
10
11export const makeStore = (context?: Context) =>
12configureStore({
13middleware: getDefaultMiddleware =>
14getDefaultMiddleware({ thunk: { extraArgument: context } }).concat(api.middleware),
15reducer: rootReducer,
16})
17
18export const wrapper = createWrapper<AppStore>(makeStore)
19