52 lines
1.8 KiB
TypeScript
52 lines
1.8 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 admissionsSlice from './admissions/admissionsSlice';
|
|
import attendanceSlice from './attendance/attendanceSlice';
|
|
import coursesSlice from './courses/coursesSlice';
|
|
import departmentsSlice from './departments/departmentsSlice';
|
|
import eventsSlice from './events/eventsSlice';
|
|
import examsSlice from './exams/examsSlice';
|
|
import facultySlice from './faculty/facultySlice';
|
|
import feesSlice from './fees/feesSlice';
|
|
import gradesSlice from './grades/gradesSlice';
|
|
import librarySlice from './library/librarySlice';
|
|
import studentsSlice from './students/studentsSlice';
|
|
import rolesSlice from './roles/rolesSlice';
|
|
import permissionsSlice from './permissions/permissionsSlice';
|
|
import paymentSlice from './payment/paymentSlice';
|
|
|
|
export const store = configureStore({
|
|
reducer: {
|
|
style: styleReducer,
|
|
main: mainReducer,
|
|
auth: authSlice,
|
|
openAi: openAiSlice,
|
|
|
|
users: usersSlice,
|
|
admissions: admissionsSlice,
|
|
attendance: attendanceSlice,
|
|
courses: coursesSlice,
|
|
departments: departmentsSlice,
|
|
events: eventsSlice,
|
|
exams: examsSlice,
|
|
faculty: facultySlice,
|
|
fees: feesSlice,
|
|
grades: gradesSlice,
|
|
library: librarySlice,
|
|
students: studentsSlice,
|
|
roles: rolesSlice,
|
|
permissions: permissionsSlice,
|
|
payment: paymentSlice,
|
|
},
|
|
});
|
|
|
|
// 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;
|