@@ -3,19 +3,18 @@ import { ActionIcon, SimpleGrid, Stack } from '@mantine/core'
33import { TbCalendar , TbRefresh } from 'react-icons/tb'
44import { useTranslation } from 'react-i18next'
55import { HiChartPie } from 'react-icons/hi'
6- import { useMemo , useState } from 'react'
6+ import { useState } from 'react'
77import dayjs from 'dayjs'
88
99import { NodesStatisticSparklineCardWidget } from '@widgets/dashboard/nodes-statistic/statistic-sparkline-card'
1010import { NodesStatisticTopNodesCardWidget } from '@widgets/dashboard/nodes-statistic/statistic-top-card'
1111import { NodesStatisticBarchartWidget } from '@widgets/dashboard/nodes-statistic/statistic-barchart'
12- import { getColorPaletteItemByIndexUtil } from '@shared/utils/color-resolver'
1312import { useGetNodesUsageByRangeCommand } from '@shared/api/hooks'
1413import { Page , PageHeaderShared } from '@shared/ui'
1514
1615const DEFAULT_DATE_RANGE = {
17- start : dayjs ( ) . utc ( ) . subtract ( 7 , 'day' ) . startOf ( 'day' ) . toISOString ( ) ,
18- end : dayjs ( ) . utc ( ) . endOf ( 'day' ) . toISOString ( )
16+ start : dayjs ( ) . subtract ( 6 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
17+ end : dayjs ( ) . format ( 'YYYY-MM-DD' )
1918}
2019
2120export const StatisticNodesPage = ( ) => {
@@ -47,46 +46,16 @@ export const StatisticNodesPage = () => {
4746 setRawRange ( value )
4847 if ( ! value [ 0 ] || ! value [ 1 ] ) return
4948
50- const start = value [ 0 ]
51- const end = value [ 1 ]
49+ const startDate = value [ 0 ]
50+ const endDate = value [ 1 ]
5251
53- if ( ! dayjs ( start ) . isValid ( ) || ! dayjs ( end ) . isValid ( ) ) return
52+ if ( ! dayjs ( startDate ) . isValid ( ) || ! dayjs ( endDate ) . isValid ( ) ) return
5453
55- setQueryRange ( {
56- start : dayjs ( start ) . utc ( ) . startOf ( 'day' ) . toISOString ( ) ,
57- end : dayjs ( end ) . utc ( ) . endOf ( 'day' ) . toISOString ( )
58- } )
59- }
60-
61- const { categories, series, sparklineData, topNodes } = useMemo ( ( ) => {
62- if ( ! nodesStats ) {
63- return {
64- categories : [ ] ,
65- series : [ ] ,
66- sparklineData : [ ] ,
67- topNodes : [ ]
68- }
69- }
54+ const startISO = dayjs ( startDate ) . format ( 'YYYY-MM-DD' )
55+ const endISO = dayjs ( endDate ) . format ( 'YYYY-MM-DD' )
7056
71- const seriesWithColors = nodesStats . series . map ( ( s , index ) => ( {
72- ...s ,
73- color : getColorPaletteItemByIndexUtil ( index ) . solid
74- } ) )
75-
76- const topNodesWithColors = nodesStats . topNodes . map ( ( node , index ) => ( {
77- ...node ,
78- color : getColorPaletteItemByIndexUtil (
79- nodesStats . series . findIndex ( ( s ) => s . uuid === node . uuid ) ?? index
80- ) . solid
81- } ) )
82-
83- return {
84- categories : nodesStats . categories ,
85- series : seriesWithColors ,
86- sparklineData : nodesStats . sparklineData ,
87- topNodes : topNodesWithColors
88- }
89- } , [ nodesStats ] )
57+ setQueryRange ( { start : startISO , end : endISO } )
58+ }
9059
9160 return (
9261 < Page title = { t ( 'constants.nodes-statistics' ) } >
@@ -103,49 +72,49 @@ export const StatisticNodesPage = () => {
10372 {
10473 label : t ( 'statistic-nodes.component.3-days' ) ,
10574 value : [
106- dayjs ( ) . subtract ( 3 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
75+ dayjs ( ) . subtract ( 2 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
10776 dayjs ( ) . format ( 'YYYY-MM-DD' )
10877 ]
10978 } ,
11079 {
11180 label : t ( 'statistic-nodes.component.7-days' ) ,
11281 value : [
113- dayjs ( ) . subtract ( 7 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
82+ dayjs ( ) . subtract ( 6 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
11483 dayjs ( ) . format ( 'YYYY-MM-DD' )
11584 ]
11685 } ,
11786 {
11887 label : t ( 'statistic-nodes.component.14-days' ) ,
11988 value : [
120- dayjs ( ) . subtract ( 14 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
89+ dayjs ( ) . subtract ( 13 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
12190 dayjs ( ) . format ( 'YYYY-MM-DD' )
12291 ]
12392 } ,
12493 {
12594 label : t ( 'statistic-nodes.component.30-days' ) ,
12695 value : [
127- dayjs ( ) . subtract ( 30 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
96+ dayjs ( ) . subtract ( 29 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
12897 dayjs ( ) . format ( 'YYYY-MM-DD' )
12998 ]
13099 } ,
131100 {
132101 label : t ( 'statistic-nodes.component.60-days' ) ,
133102 value : [
134- dayjs ( ) . subtract ( 60 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
103+ dayjs ( ) . subtract ( 59 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
135104 dayjs ( ) . format ( 'YYYY-MM-DD' )
136105 ]
137106 } ,
138107 {
139108 label : t ( 'statistic-nodes.component.90-days' ) ,
140109 value : [
141- dayjs ( ) . subtract ( 90 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
110+ dayjs ( ) . subtract ( 89 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
142111 dayjs ( ) . format ( 'YYYY-MM-DD' )
143112 ]
144113 } ,
145114 {
146115 label : t ( 'statistic-nodes.component.180-days' ) ,
147116 value : [
148- dayjs ( ) . subtract ( 180 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
117+ dayjs ( ) . subtract ( 179 , 'day' ) . format ( 'YYYY-MM-DD' ) ,
149118 dayjs ( ) . format ( 'YYYY-MM-DD' )
150119 ]
151120 }
@@ -182,16 +151,19 @@ export const StatisticNodesPage = () => {
182151 < SimpleGrid cols = { { base : 1 , sm : 2 } } spacing = "md" >
183152 < NodesStatisticSparklineCardWidget
184153 isLoading = { isLoading }
185- sparklineData = { sparklineData }
154+ sparklineData = { nodesStats ?. sparklineData }
186155 />
187156
188- < NodesStatisticTopNodesCardWidget isLoading = { isLoading } topNodes = { topNodes } />
157+ < NodesStatisticTopNodesCardWidget
158+ isLoading = { isLoading }
159+ topNodes = { nodesStats ?. topNodes }
160+ />
189161 </ SimpleGrid >
190162
191163 < NodesStatisticBarchartWidget
192- categories = { categories }
164+ categories = { nodesStats ?. categories }
193165 isLoading = { isLoading }
194- series = { series }
166+ series = { nodesStats ?. series }
195167 />
196168 </ Stack >
197169 </ Page >
0 commit comments