aboutsummaryrefslogtreecommitdiff
path: root/jb-ui/src/store.ts
blob: 24f16549491d0bf896b615f349d15ba83e1fea97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import appReducers from "@/models/appSlice"
import grlStatsReducers from "@/models/grlStatsSlice"
import profilingQuestionsReducers from "@/models/profilingQuestionsSlice"
import type { Action, ThunkAction } from '@reduxjs/toolkit'
import { configureStore } from '@reduxjs/toolkit'


export const store = configureStore({
    reducer: {
        app: appReducers,
        stats: grlStatsReducers,
        profilingQuestions: profilingQuestionsReducers,
    }
})

// Infer the type of `store`
export type AppStore = typeof store
// Infer the `AppDispatch` type from the store itself
export type AppDispatch = typeof store.dispatch
// Same for the `RootState` type

export type RootState = ReturnType<typeof store.getState>

// Define a reusable type describing thunk functions
export type AppThunk<ThunkReturnType = void> = ThunkAction<
    ThunkReturnType,
    RootState,
    unknown,
    Action
>