2026-05-25 19:29:17 +00:00

46 lines
1.7 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 walletsSlice from "./wallets/walletsSlice";
import devicesSlice from "./devices/devicesSlice";
import mining_poolsSlice from "./mining_pools/mining_poolsSlice";
import mining_configsSlice from "./mining_configs/mining_configsSlice";
import mining_sessionsSlice from "./mining_sessions/mining_sessionsSlice";
import hashrate_samplesSlice from "./hashrate_samples/hashrate_samplesSlice";
import reward_payoutsSlice from "./reward_payouts/reward_payoutsSlice";
import extension_eventsSlice from "./extension_events/extension_eventsSlice";
import audit_logsSlice from "./audit_logs/audit_logsSlice";
export const store = configureStore({
reducer: {
style: styleReducer,
main: mainReducer,
auth: authSlice,
openAi: openAiSlice,
users: usersSlice,
roles: rolesSlice,
permissions: permissionsSlice,
wallets: walletsSlice,
devices: devicesSlice,
mining_pools: mining_poolsSlice,
mining_configs: mining_configsSlice,
mining_sessions: mining_sessionsSlice,
hashrate_samples: hashrate_samplesSlice,
reward_payouts: reward_payoutsSlice,
extension_events: extension_eventsSlice,
audit_logs: audit_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