@@ -17,12 +17,15 @@ import {faEye, faQuestionCircle} from "@fortawesome/free-regular-svg-icons";
1717import AsNumbersTable from "./AsNumbersTable" ;
1818import { ChartLoader } from "../navigation/Loader" ;
1919import FormattedTime from "../text/FormattedTime.jsx" ;
20- import { orUnavailable } from "../../util/formatters.js" ;
20+ import { useOrUnavailable } from "../../util/formatters.js" ;
2121import { usePingFormatter } from "../../util/format/usePingFormatter.js" ;
22+ import { useDecimalFormatter } from "../../util/format/useDecimalFormatter.js" ;
2223
2324const PerformanceAsNumbersTable = ( { data, servers} ) => {
2425 const { t} = useTranslation ( ) ;
2526 const { formatPing} = usePingFormatter ( ) ;
27+ const { formatDecimals} = useDecimalFormatter ( ) ;
28+ const { orUnavailable} = useOrUnavailable ( ) ;
2629 if ( ! data ) return < ChartLoader /> ;
2730
2831 const dataIncludesGameServers = servers && Boolean ( servers . filter ( server => ! server . proxy ) . length ) ;
@@ -43,51 +46,51 @@ const PerformanceAsNumbersTable = ({data, servers}) => {
4346 < TableRow icon = { faPowerOff } color = "downtime"
4447 text = { t ( data . avg_server_downtime_30d ? 'html.label.serverDowntime' : 'html.label.totalServerDowntime' ) + ' (' + t ( 'generic.noData' ) + ')' }
4548 values = { [
46- < FormattedTime timeMs = { data . server_downtime_30d } /> ,
47- < FormattedTime timeMs = { data . server_downtime_7d } /> ,
48- < FormattedTime timeMs = { data . server_downtime_24h } />
49+ < FormattedTime key = { '30d' } timeMs = { data . server_downtime_30d } /> ,
50+ < FormattedTime key = { '7d' } timeMs = { data . server_downtime_7d } /> ,
51+ < FormattedTime key = { '1d' } timeMs = { data . server_downtime_24h } />
4952 ] } />
50- { data . avg_server_downtime_30d && (
53+ { ! ! data . avg_server_downtime_30d && (
5154 < TableRow icon = { faPowerOff } color = "downtime"
5255 text = { t ( 'html.label.averageServerDowntime' ) }
5356 values = { [
54- < FormattedTime timeMs = { data . avg_server_downtime_30d } /> ,
55- < FormattedTime timeMs = { data . avg_server_downtime_7d } /> ,
56- < FormattedTime timeMs = { data . avg_server_downtime_24h } />
57+ < FormattedTime key = { '30d' } timeMs = { data . avg_server_downtime_30d } /> ,
58+ < FormattedTime key = { '7d' } timeMs = { data . avg_server_downtime_7d } /> ,
59+ < FormattedTime key = { '1d' } timeMs = { data . avg_server_downtime_24h } />
5760 ] } /> ) }
5861 < TableRow icon = { faPowerOff } color = "uptime"
5962 text = { t ( 'html.label.serverUptime' ) }
6063 values = { [
61- < FormattedTime timeMs = { data . server_uptime_30d } /> ,
62- < FormattedTime timeMs = { data . server_uptime_7d } /> ,
63- < FormattedTime timeMs = { data . server_uptime_24h } />
64+ < FormattedTime key = { '30d' } timeMs = { data . server_uptime_30d } /> ,
65+ < FormattedTime key = { '7d' } timeMs = { data . server_uptime_7d } /> ,
66+ < FormattedTime key = { '1d' } timeMs = { data . server_uptime_24h } />
6467 ] } />
6568 { data . avg_server_uptime_30d && (
6669 < TableRow icon = { faPowerOff } color = "uptime"
6770 text = { t ( 'html.label.averageServerUptime' ) }
6871 values = { [
69- < FormattedTime timeMs = { data . avg_server_uptime_30d } /> ,
70- < FormattedTime timeMs = { data . avg_server_uptime_7d } /> ,
71- < FormattedTime timeMs = { data . avg_server_uptime_24h } />
72+ < FormattedTime key = { '30d' } timeMs = { data . avg_server_uptime_30d } /> ,
73+ < FormattedTime key = { '7d' } timeMs = { data . avg_server_uptime_7d } /> ,
74+ < FormattedTime key = { '1d' } timeMs = { data . avg_server_uptime_24h } />
7275 ] } /> ) }
7376 < TableRow icon = { faUser } color = "players-online" text = { t ( 'html.label.averagePlayers' ) }
7477 values = { [
75- data . players_30d ,
76- data . players_7d ,
77- data . players_24h
78+ orUnavailable ( data . players_30d ) ,
79+ orUnavailable ( data . players_7d ) ,
80+ orUnavailable ( data . players_24h )
7881 ] } />
7982 < TableRow icon = { faTachometerAlt } color = "tps-average" text = { t ( 'html.label.averageTps' ) }
8083 values = { [
81- < > { t ( data . tps_30d ) } { noTPSOnProxies } </ > ,
82- < > { t ( data . tps_7d ) } { noTPSOnProxies } </ > ,
83- < > { t ( data . tps_24h ) } { noTPSOnProxies } </ >
84+ < > { formatDecimals ( orUnavailable ( data . tps_30d ) ) } { noTPSOnProxies } </ > ,
85+ < > { formatDecimals ( orUnavailable ( data . tps_7d ) ) } { noTPSOnProxies } </ > ,
86+ < > { formatDecimals ( orUnavailable ( data . tps_24h ) ) } { noTPSOnProxies } </ >
8487 ] } />
8588 < TableRow icon = { faStopwatch } color = "mspt-average" text = { t ( 'html.label.msptAverage' ) }
8689 title = { t ( 'html.label.msptFull' ) }
8790 values = { [
88- < > { formatPing ( orUnavailable ( data . mspt_average_30d , t ) ) } { noTPSOnProxies } </ > ,
89- < > { formatPing ( orUnavailable ( data . mspt_average_7d , t ) ) } { noTPSOnProxies } </ > ,
90- < > { formatPing ( orUnavailable ( data . mspt_average_24h , t ) ) } { noTPSOnProxies } </ >
91+ < > { formatPing ( orUnavailable ( data . mspt_average_30d ) ) } { noTPSOnProxies } </ > ,
92+ < > { formatPing ( orUnavailable ( data . mspt_average_7d ) ) } { noTPSOnProxies } </ > ,
93+ < > { formatPing ( orUnavailable ( data . mspt_average_24h ) ) } { noTPSOnProxies } </ >
9194 ] } />
9295 < TableRow icon = { faTachometerAlt } color = "cpu" text = { t ( 'html.label.averageCpuUsage' ) }
9396 values = { [
@@ -103,17 +106,17 @@ const PerformanceAsNumbersTable = ({data, servers}) => {
103106 ] } />
104107 < TableRow icon = { faDragon } color = "entities" text = { t ( 'html.label.averageEntities' ) }
105108 values = { [
106- < > { t ( data . entities_30d ) } { noTPSOnProxies } </ > ,
107- < > { t ( data . entities_7d ) } { noTPSOnProxies } </ > ,
108- < > { t ( data . entities_24h ) } { noTPSOnProxies } </ >
109+ < > { orUnavailable ( data . entities_30d ) } { noTPSOnProxies } </ > ,
110+ < > { orUnavailable ( data . entities_7d ) } { noTPSOnProxies } </ > ,
111+ < > { orUnavailable ( data . entities_24h ) } { noTPSOnProxies } </ >
109112 ] } />
110113 < TableRow icon = { faMap } color = "chunks"
111- text = { < > { t ( 'html.label.averageChunks' ) } { ' ' } { data . chunks_30d === 'plugin.generic.unavailable' ?
114+ text = { < > { t ( 'html.label.averageChunks' ) } { ' ' } { data . chunks_30d === - 1 ?
112115 < span title = { t ( 'html.description.noSpongeChunks' ) } > < Fa icon = { faEye } /> </ span > : '' } </ > }
113116 values = { [
114- < > { t ( data . chunks_30d ) } { noTPSOnProxies } </ > ,
115- < > { t ( data . chunks_7d ) } { noTPSOnProxies } </ > ,
116- < > { t ( data . chunks_24h ) } { noTPSOnProxies } </ >
117+ < > { orUnavailable ( data . chunks_30d ) } { noTPSOnProxies } </ > ,
118+ < > { orUnavailable ( data . chunks_7d ) } { noTPSOnProxies } </ > ,
119+ < > { orUnavailable ( data . chunks_24h ) } { noTPSOnProxies } </ >
117120 ] } />
118121 < TableRow icon = { faHdd } color = "disk"
119122 text = { t ( 'html.label.maxFreeDisk' ) }
0 commit comments