2026-03-14 14:12:17 +00:00

52 lines
2.0 KiB
TypeScript

import { configureStore } from '@reduxjs/toolkit';
import styleReducer from './styleSlice';
import mainReducer from './mainSlice';
import authSlice from './authSlice';
import openAiSlice from './openAiSlice';
import usersSlice from "./users/usersSlice";
import rolesSlice from "./roles/rolesSlice";
import permissionsSlice from "./permissions/permissionsSlice";
import organizationsSlice from "./organizations/organizationsSlice";
import locationsSlice from "./locations/locationsSlice";
import classroomsSlice from "./classrooms/classroomsSlice";
import guardiansSlice from "./guardians/guardiansSlice";
import childrenSlice from "./children/childrenSlice";
import enrollmentsSlice from "./enrollments/enrollmentsSlice";
import attendance_sessionsSlice from "./attendance_sessions/attendance_sessionsSlice";
import billing_plansSlice from "./billing_plans/billing_plansSlice";
import invoicesSlice from "./invoices/invoicesSlice";
import invoice_line_itemsSlice from "./invoice_line_items/invoice_line_itemsSlice";
import paymentsSlice from "./payments/paymentsSlice";
import activity_logsSlice from "./activity_logs/activity_logsSlice";
export const store = configureStore({
reducer: {
style: styleReducer,
main: mainReducer,
auth: authSlice,
openAi: openAiSlice,
users: usersSlice,
roles: rolesSlice,
permissions: permissionsSlice,
organizations: organizationsSlice,
locations: locationsSlice,
classrooms: classroomsSlice,
guardians: guardiansSlice,
children: childrenSlice,
enrollments: enrollmentsSlice,
attendance_sessions: attendance_sessionsSlice,
billing_plans: billing_plansSlice,
invoices: invoicesSlice,
invoice_line_items: invoice_line_itemsSlice,
payments: paymentsSlice,
activity_logs: activity_logsSlice,
},
})
// Infer the `RootState` and `AppDispatch` types from the store itself
export type RootState = ReturnType<typeof store.getState>
// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}
export type AppDispatch = typeof store.dispatch