Skip to content

Commit a242ed0

Browse files
authored
fix(breadcrumbs): use database param for links (#2823)
1 parent 9e18128 commit a242ed0

File tree

8 files changed

+14
-13
lines changed

8 files changed

+14
-13
lines changed

src/containers/Header/breadcrumbs.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import {
2424
TENANT_PAGE,
2525
TENANT_PAGES_IDS,
2626
} from '../../store/reducers/tenant/constants';
27-
import {uiFactory} from '../../uiFactory/uiFactory';
2827
import {CLUSTER_DEFAULT_TITLE, getTabletLabel} from '../../utils/constants';
2928
import {getClusterPath} from '../Cluster/utils';
3029
import {getDefaultNodePath} from '../Node/NodePages';
@@ -85,14 +84,12 @@ const getClusterBreadcrumbs: GetBreadcrumbs<ClusterBreadcrumbsOptions> = (option
8584
};
8685

8786
const getTenantBreadcrumbs: GetBreadcrumbs<TenantBreadcrumbsOptions> = (options, query = {}) => {
88-
const {tenantName, tenantId} = options;
87+
const {tenantName, database} = options;
8988

9089
const breadcrumbs = getClusterBreadcrumbs(options, query);
9190

9291
const text = tenantName || headerKeyset('breadcrumbs.tenant');
93-
const link = tenantName
94-
? getTenantPath({...query, database: uiFactory.useDatabaseId ? tenantId : tenantName})
95-
: undefined;
92+
const link = tenantName ? getTenantPath({...query, database}) : undefined;
9693

9794
const lastItem = {text, link, icon: <DatabaseIcon />};
9895
breadcrumbs.push(lastItem);

src/containers/Node/Node.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,21 @@ export function Node() {
9090

9191
const tenantName = node?.Tenants?.[0] || tenantNameFromQuery?.toString();
9292

93+
const database = tenantNameFromQuery?.toString();
94+
9395
React.useEffect(() => {
9496
// Dispatch only if loaded to get correct node role
9597
if (!isLoading) {
9698
dispatch(
9799
setHeaderBreadcrumbs('node', {
98100
tenantName,
101+
database,
99102
nodeRole: isStorageNode ? 'Storage' : 'Compute',
100103
nodeId,
101104
}),
102105
);
103106
}
104-
}, [dispatch, tenantName, nodeId, isLoading, isStorageNode]);
107+
}, [dispatch, tenantName, nodeId, isLoading, isStorageNode, database]);
105108

106109
return (
107110
<div className={b(null)} ref={container}>

src/containers/StorageGroupPage/StorageGroupPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export function StorageGroupPage() {
3737
const [{groupId}] = useQueryParams({groupId: StringParam});
3838

3939
React.useEffect(() => {
40-
dispatch(setHeaderBreadcrumbs('storageGroup', {groupId, tenantName: database}));
40+
dispatch(setHeaderBreadcrumbs('storageGroup', {groupId, tenantName: database, database}));
4141
}, [dispatch, groupId, database]);
4242

4343
const [autoRefreshInterval] = useAutoRefreshInterval();

src/containers/Tablet/Tablet.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ export function Tablet() {
8989
dispatch(
9090
setHeaderBreadcrumbs('tablet', {
9191
tenantName: queryDatabase ?? undefined,
92+
database: queryDatabase ?? undefined,
9293
tabletId: id,
9394
tabletType,
9495
}),

src/containers/Tenant/Tenant.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export function Tenant(props: TenantProps) {
5656

5757
const {database, schema} = useTenantQueryParams();
5858

59-
const {controlPlane, name, id} = useTenantBaseInfo(database ?? '');
59+
const {controlPlane, name} = useTenantBaseInfo(database ?? '');
6060

6161
if (!database) {
6262
throw new Error('Tenant name is not defined');
@@ -88,8 +88,8 @@ export function Tenant(props: TenantProps) {
8888

8989
const dispatch = useTypedDispatch();
9090
React.useEffect(() => {
91-
dispatch(setHeaderBreadcrumbs('tenant', {tenantName: databaseName, tenantId: id}));
92-
}, [databaseName, id, dispatch]);
91+
dispatch(setHeaderBreadcrumbs('tenant', {tenantName: databaseName, database}));
92+
}, [databaseName, database, dispatch]);
9393

9494
const preloadedData = useTypedSelector((state) =>
9595
selectSchemaObjectData(state, path, database),

src/containers/VDiskPage/VDiskPage.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export function VDiskPage() {
101101
setHeaderBreadcrumbs('vDisk', {
102102
groupId: vDiskData?.VDiskId?.GroupID,
103103
tenantName: database,
104+
database,
104105
vDiskId: vDiskData?.StringifiedId,
105106
}),
106107
);

src/store/reducers/header/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface ClusterBreadcrumbsOptions extends ClustersBreadcrumbsOptions {
2424

2525
export interface TenantBreadcrumbsOptions extends ClusterBreadcrumbsOptions {
2626
tenantName?: string;
27-
tenantId?: string;
27+
database?: string;
2828
}
2929

3030
export interface StorageGroupBreadcrumbsOptions extends ClusterBreadcrumbsOptions {

src/store/reducers/tenant/tenant.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,10 @@ export function useTenantBaseInfo(path: string) {
135135
{skip: !path},
136136
);
137137

138-
const {ControlPlane, Name, Id} = currentData || {};
138+
const {ControlPlane, Name} = currentData || {};
139139

140140
return {
141141
controlPlane: ControlPlane,
142142
name: Name,
143-
id: Id,
144143
};
145144
}

0 commit comments

Comments
 (0)