Skip to content

Commit 5430875

Browse files
committed
Revert "fix: better code"
This reverts commit 50e7e53.
1 parent 50e7e53 commit 5430875

File tree

2 files changed

+23
-46
lines changed

2 files changed

+23
-46
lines changed

src/store/configureStore.ts

Lines changed: 15 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {listenForHistoryChange} from 'redux-location-state';
77
import {YdbEmbeddedAPI} from '../services/api';
88

99
import {getUrlData} from './getUrlData';
10-
import {rootReducer} from './reducers';
10+
import combinedRootReducer, {rootReducer} from './reducers';
1111
import {api as storeApi} from './reducers/api';
1212
import {syncUserSettingsFromLS} from './reducers/settings/settings';
1313
import {UPDATE_REF} from './reducers/tooltip';
@@ -54,53 +54,19 @@ export const codeAssistBackend = window.code_assist_backend;
5454

5555
const isSingleClusterMode = `${metaBackend}` === 'undefined';
5656

57-
interface BaseStoreOptions {
57+
export interface ConfigureStoreOptions {
58+
aRootReducer?: Reducer;
5859
singleClusterMode?: boolean;
5960
api?: YdbEmbeddedAPI;
61+
additionalReducers?: Record<string, Reducer>;
6062
}
6163

62-
interface StoreOptionsWithCustomRootReducer extends BaseStoreOptions {
63-
/**
64-
* Custom root reducer that completely replaces the default rootReducer.
65-
* ⚠️ Cannot be used together with additionalReducers
66-
*/
67-
aRootReducer: Reducer;
68-
/**
69-
* @deprecated When using aRootReducer, additionalReducers cannot be used
70-
*/
71-
additionalReducers?: undefined;
72-
}
73-
74-
interface StoreOptionsWithAdditionalReducers extends BaseStoreOptions {
75-
/**
76-
* @deprecated When using additionalReducers, aRootReducer cannot be used
77-
*/
78-
aRootReducer?: undefined;
79-
/**
80-
* Additional reducers to be merged with the default rootReducer.
81-
* ⚠️ Cannot be used together with aRootReducer
82-
*/
83-
additionalReducers: Record<string, Reducer>;
84-
}
85-
86-
interface StoreOptionsDefault extends BaseStoreOptions {
87-
aRootReducer?: undefined;
88-
additionalReducers?: undefined;
89-
}
90-
91-
export type ConfigureStoreOptions =
92-
| StoreOptionsWithCustomRootReducer
93-
| StoreOptionsWithAdditionalReducers
94-
| StoreOptionsDefault;
95-
96-
export function configureStore(options: ConfigureStoreOptions = {}) {
97-
const {
98-
aRootReducer,
99-
singleClusterMode = isSingleClusterMode,
100-
api = new YdbEmbeddedAPI({webVersion, withCredentials: !customBackend}),
101-
additionalReducers = {},
102-
} = options;
103-
64+
export function configureStore({
65+
aRootReducer,
66+
singleClusterMode = isSingleClusterMode,
67+
api = new YdbEmbeddedAPI({webVersion, withCredentials: !customBackend}),
68+
additionalReducers = {},
69+
}: ConfigureStoreOptions = {}) {
10470
({backend, basename, clusterName} = getUrlData({
10571
singleClusterMode,
10672
customBackend,
@@ -113,12 +79,15 @@ export function configureStore(options: ConfigureStoreOptions = {}) {
11379
if (aRootReducer) {
11480
// If custom root reducer is provided, use it
11581
finalReducer = aRootReducer;
116-
} else {
117-
// Always create combined reducer from rootReducer and any additional reducers
82+
} else if (Object.keys(additionalReducers).length > 0) {
83+
// If additional reducers are provided, combine them with the default ones
11884
finalReducer = combineReducers({
11985
...rootReducer,
12086
...additionalReducers,
12187
});
88+
} else {
89+
// Otherwise use the default combined reducer
90+
finalReducer = combinedRootReducer;
12291
}
12392

12493
const store = _configureStore(finalReducer, history, {singleClusterMode}, [

src/store/reducers/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import {combineReducers} from '@reduxjs/toolkit';
2+
13
import {api} from './api';
24
import authentication from './authentication/authentication';
35
import cluster from './cluster/cluster';
@@ -37,3 +39,9 @@ export const rootReducer = {
3739
fullscreen,
3840
clusters,
3941
};
42+
43+
const combinedReducer = combineReducers({
44+
...rootReducer,
45+
});
46+
47+
export default combinedReducer;

0 commit comments

Comments
 (0)