diff --git a/src/components/FullNodeViewer/FullNodeViewer.js b/src/components/FullNodeViewer/FullNodeViewer.js
deleted file mode 100644
index 7c2ac3717..000000000
--- a/src/components/FullNodeViewer/FullNodeViewer.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import React from 'react';
-import cn from 'bem-cn-lite';
-import PropTypes from 'prop-types';
-
-import InfoViewer from '../InfoViewer/InfoViewer';
-import ProgressViewer from '../ProgressViewer/ProgressViewer';
-import {PoolUsage} from '../PoolUsage/PoolUsage';
-
-import {LOAD_AVERAGE_TIME_INTERVALS} from '../../utils/constants';
-import {calcUptime} from '../../utils';
-
-import './FullNodeViewer.scss';
-
-const b = cn('full-node-viewer');
-
-class FullNodeViewer extends React.Component {
- static propTypes = {
- className: PropTypes.string,
- node: PropTypes.object.isRequired,
- backend: PropTypes.string,
- singleClusterMode: PropTypes.bool,
- };
-
- static defaultProps = {
- className: '',
- };
-
- render() {
- const {node, className} = this.props;
-
- const endpointsInfo = node.Endpoints?.map(({Name, Address}) => ({
- label: Name,
- value: Address,
- }));
-
- const commonInfo = [
- {label: 'Version', value: node.Version},
- {label: 'Uptime', value: calcUptime(node.StartTime)},
- {label: 'DC', value: node.DataCenterDescription},
- {label: 'Rack', value: node.Rack},
- ];
-
- const averageInfo = node.LoadAverage.map((load, loadIndex) => ({
- label: LOAD_AVERAGE_TIME_INTERVALS[`${loadIndex}`],
- value: ,
- }));
-
- return (
-
- {node ? (
-
-
-
Pools
-
- {node.PoolStats.map((pool, poolIndex) => (
-
- ))}
-
-
-
- {endpointsInfo && endpointsInfo.length && (
-
- )}
-
-
-
-
-
- ) : (
-
no data
- )}
-
- );
- }
-}
-
-export default FullNodeViewer;
diff --git a/src/components/FullNodeViewer/FullNodeViewer.tsx b/src/components/FullNodeViewer/FullNodeViewer.tsx
new file mode 100644
index 000000000..e631b58b2
--- /dev/null
+++ b/src/components/FullNodeViewer/FullNodeViewer.tsx
@@ -0,0 +1,73 @@
+import cn from 'bem-cn-lite';
+
+import type {TSystemStateInfo} from '../../types/api/nodes';
+
+import {LOAD_AVERAGE_TIME_INTERVALS} from '../../utils/constants';
+import {calcUptime} from '../../utils';
+
+import InfoViewer from '../InfoViewer/InfoViewer';
+import ProgressViewer from '../ProgressViewer/ProgressViewer';
+import {PoolUsage} from '../PoolUsage/PoolUsage';
+
+import './FullNodeViewer.scss';
+
+const b = cn('full-node-viewer');
+
+interface FullNodeViewerProps {
+ node: TSystemStateInfo | undefined;
+ className?: string;
+}
+
+export const FullNodeViewer = ({node, className}: FullNodeViewerProps) => {
+ const endpointsInfo = node?.Endpoints?.map(({Name, Address}) => ({
+ label: Name,
+ value: Address,
+ }));
+
+ const commonInfo = [
+ {label: 'Version', value: node?.Version},
+ {label: 'Uptime', value: calcUptime(node?.StartTime)},
+ {label: 'DC', value: node?.DataCenterDescription},
+ {label: 'Rack', value: node?.Rack},
+ ];
+
+ const averageInfo = node?.LoadAverage?.map((load, loadIndex) => ({
+ label: LOAD_AVERAGE_TIME_INTERVALS[loadIndex],
+ value: ,
+ }));
+
+ return (
+
+ {node ? (
+
+
+
Pools
+
+ {node?.PoolStats?.map((pool, poolIndex) => (
+
+ ))}
+
+
+
+ {endpointsInfo && endpointsInfo.length && (
+
+ )}
+
+
+
+
+
+ ) : (
+
no data
+ )}
+
+ );
+};
diff --git a/src/containers/Node/Node.tsx b/src/containers/Node/Node.tsx
index 5d727044e..6c316624d 100644
--- a/src/containers/Node/Node.tsx
+++ b/src/containers/Node/Node.tsx
@@ -10,10 +10,10 @@ import {Link} from 'react-router-dom';
import {TABLETS, STORAGE, NODE_PAGES, OVERVIEW, STRUCTURE} from './NodePages';
import {Tablets} from '../Tablets';
import Storage from '../Storage/Storage';
-import NodeOverview from './NodeOverview/NodeOverview';
import NodeStructure from './NodeStructure/NodeStructure';
import {Loader} from '../../components/Loader';
import {BasicNodeViewer} from '../../components/BasicNodeViewer';
+import {FullNodeViewer} from '../../components/FullNodeViewer/FullNodeViewer';
import {getNodeInfo, resetNode} from '../../store/reducers/node/node';
import routes, {createHref, parseQuery} from '../../routes';
@@ -128,7 +128,7 @@ function Node(props: NodeProps) {
}
case OVERVIEW: {
- return ;
+ return ;
}
case STRUCTURE: {
diff --git a/src/containers/Node/NodeOverview/NodeOverview.scss b/src/containers/Node/NodeOverview/NodeOverview.scss
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/containers/Node/NodeOverview/NodeOverview.tsx b/src/containers/Node/NodeOverview/NodeOverview.tsx
deleted file mode 100644
index 6c88fd78b..000000000
--- a/src/containers/Node/NodeOverview/NodeOverview.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-
-//@ts-ignore
-import FullNodeViewer from '../../../components/FullNodeViewer/FullNodeViewer';
-import {backend} from '../../../store';
-
-interface NodeOverviewProps {
- node: any;
- className?: string;
-}
-
-function NodeOverview({node, className}: NodeOverviewProps) {
- return (
-
- );
-}
-
-export default NodeOverview;