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 // Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState} export type AppDispatch = typeof store.dispatch