Skip to content

Commit d406716

Browse files
committed
fix: review fixes
1 parent 02fc2b1 commit d406716

File tree

5 files changed

+14
-19
lines changed

5 files changed

+14
-19
lines changed

src/components/Errors/ResponseError/ResponseError.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ export const ResponseError = ({
1414
}: ResponseErrorProps) => {
1515
const message = prepareErrorMessage(error) || defaultMessage;
1616

17-
return <div className={`error ${className}`}>{message}</div>;
17+
return <div className={`error ${className || ''}`}>{message}</div>;
1818
};

src/components/ProgressViewer/ProgressViewer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,5 +140,5 @@ export function ProgressViewer({
140140
);
141141
}
142142

143-
return <div className={`${b({size})} ${className} error`}>{i18n('no-data')}</div>;
143+
return <div className={`${b({size})} ${className || ''} error`}>{i18n('no-data')}</div>;
144144
}

src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ import {LabelWithPopover} from '../../../../../components/LabelWithPopover';
99
import {ProgressViewer} from '../../../../../components/ProgressViewer/ProgressViewer';
1010
import {parseQuery} from '../../../../../routes';
1111
import {TENANT_STORAGE_TABS_IDS} from '../../../../../store/reducers/tenant/constants';
12-
import {setStorageTab} from '../../../../../store/reducers/tenant/tenant';
1312
import {cn} from '../../../../../utils/cn';
1413
import {formatStorageValues} from '../../../../../utils/dataFormatters/dataFormatters';
15-
import {useTypedDispatch, useTypedSelector} from '../../../../../utils/hooks';
14+
import {useTypedSelector} from '../../../../../utils/hooks';
1615
import {TenantTabsGroups, getTenantPath} from '../../../TenantPages';
1716
import {TenantDashboard} from '../TenantDashboard/TenantDashboard';
1817
import i18n from '../i18n';
@@ -43,20 +42,13 @@ interface TenantStorageProps {
4342
}
4443

4544
export function TenantStorage({tenantName, metrics}: TenantStorageProps) {
46-
const dispatch = useTypedDispatch();
4745
const location = useLocation();
4846
const {storageTab = TENANT_STORAGE_TABS_IDS.tables} = useTypedSelector((state) => state.tenant);
4947

5048
const {blobStorageUsed, tabletStorageUsed, blobStorageLimit, tabletStorageLimit} = metrics;
5149

5250
const queryParams = parseQuery(location);
5351

54-
React.useEffect(() => {
55-
if (!storageTab) {
56-
dispatch(setStorageTab(TENANT_STORAGE_TABS_IDS.tables));
57-
}
58-
}, [storageTab, dispatch]);
59-
6052
const renderTabContent = () => {
6153
switch (storageTab) {
6254
case TENANT_STORAGE_TABS_IDS.tables:

src/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,4 @@
4949
"title_top-groups-by-usage": "Top Groups By Usage",
5050
"action_by-load": "By Load",
5151
"action_by-pool-usage": "By Pool Usage"
52-
}
52+
}

src/store/reducers/tenant/tenant.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,24 +55,27 @@ const slice = createSlice({
5555
},
5656
setMetricsTab: (state, action: PayloadAction<TenantMetricsTab>) => {
5757
// Ensure we always have a valid metrics tab - fallback to CPU if empty/invalid
58-
const validTabs = Object.values(TENANT_METRICS_TABS_IDS);
59-
const isValidTab = action.payload && validTabs.includes(action.payload as any);
58+
const validTabs = Object.values(TENANT_METRICS_TABS_IDS) as TenantMetricsTab[];
59+
const isValidTab = action.payload && validTabs.includes(action.payload);
6060
state.metricsTab = isValidTab ? action.payload : TENANT_METRICS_TABS_IDS.cpu;
6161
},
6262
setCpuTab: (state, action: PayloadAction<TenantCpuTab>) => {
6363
// Ensure we always have a valid cpu tab - fallback to nodes if empty/invalid
64-
const validTabs = Object.values(TENANT_CPU_TABS_IDS);
65-
const isValidTab = action.payload && validTabs.includes(action.payload as any);
64+
const validTabs = Object.values(TENANT_CPU_TABS_IDS) as TenantCpuTab[];
65+
const isValidTab = action.payload && validTabs.includes(action.payload);
6666
state.cpuTab = isValidTab ? action.payload : TENANT_CPU_TABS_IDS.nodes;
6767
},
6868
setNodesMode: (state, action: PayloadAction<TenantNodesMode>) => {
6969
// Ensure we always have a valid nodes mode - fallback to load if empty/invalid
70-
const validModes = Object.values(TENANT_CPU_NODES_MODE_IDS);
71-
const isValidMode = action.payload && validModes.includes(action.payload as any);
70+
const validModes = Object.values(TENANT_CPU_NODES_MODE_IDS) as TenantNodesMode[];
71+
const isValidMode = action.payload && validModes.includes(action.payload);
7272
state.nodesMode = isValidMode ? action.payload : TENANT_CPU_NODES_MODE_IDS.load;
7373
},
7474
setStorageTab: (state, action: PayloadAction<TenantStorageTab>) => {
75-
state.storageTab = action.payload;
75+
// Ensure we always have a valid storage tab - fallback to tables if empty/invalid
76+
const validTabs = Object.values(TENANT_STORAGE_TABS_IDS) as TenantStorageTab[];
77+
const isValidTab = action.payload && validTabs.includes(action.payload);
78+
state.storageTab = isValidTab ? action.payload : TENANT_STORAGE_TABS_IDS.tables;
7679
},
7780
},
7881
});

0 commit comments

Comments
 (0)