11import React from 'react' ;
22
3- import { STRUCTURE } from '../../containers/Node/NodePages' ;
4- import routes , { createHref , getVDiskPagePath } from '../../routes' ;
5- import { useDiskPagesAvailable } from '../../store/reducers/capabilities/hooks' ;
6- import { valueIsDefined } from '../../utils' ;
73import { cn } from '../../utils/cn' ;
8- import { stringifyVdiskId } from '../../utils/dataFormatters/dataFormatters' ;
9- import { isFullVDiskData } from '../../utils/disks/helpers' ;
104import type { PreparedVDisk } from '../../utils/disks/types' ;
115import { DiskStateProgressBar } from '../DiskStateProgressBar/DiskStateProgressBar' ;
126import { InternalLink } from '../InternalLink' ;
137import { VDiskPopup } from '../VDiskPopup/VDiskPopup' ;
148
9+ import { getVDiskLink } from './utils' ;
10+
1511import './VDisk.scss' ;
1612
1713const b = cn ( 'ydb-vdisk-component' ) ;
@@ -35,10 +31,6 @@ export const VDisk = ({
3531 onHidePopup,
3632 progressBarClassName,
3733} : VDiskProps ) => {
38- const isFullData = isFullVDiskData ( data ) ;
39-
40- const diskPagesAvailable = useDiskPagesAvailable ( ) ;
41-
4234 const [ isPopupVisible , setIsPopupVisible ] = React . useState ( false ) ;
4335
4436 const anchor = React . useRef ( null ) ;
@@ -53,25 +45,7 @@ export const VDisk = ({
5345 onHidePopup ?.( ) ;
5446 } ;
5547
56- let vDiskPath : string | undefined ;
57-
58- if (
59- diskPagesAvailable &&
60- valueIsDefined ( data . VDiskSlotId ) &&
61- valueIsDefined ( data . PDiskId ) &&
62- valueIsDefined ( data . NodeId )
63- ) {
64- vDiskPath = getVDiskPagePath ( data . VDiskSlotId , data . PDiskId , data . NodeId ) ;
65- } else if ( valueIsDefined ( data . NodeId ) && isFullData ) {
66- vDiskPath = createHref (
67- routes . node ,
68- { id : data . NodeId , activeTab : STRUCTURE } ,
69- {
70- pdiskId : data . PDiskId ,
71- vdiskId : stringifyVdiskId ( data . VDiskId ) ,
72- } ,
73- ) ;
74- }
48+ const vDiskPath = getVDiskLink ( data ) ;
7549
7650 return (
7751 < React . Fragment >
0 commit comments