feat: update stats page

This commit is contained in:
Maël Gangloff 2024-08-22 19:47:52 +02:00
parent 26ae674117
commit 68bd35e10e
No known key found for this signature in database
GPG Key ID: 11FDC81C24A7F629
2 changed files with 80 additions and 48 deletions

View File

@ -18,7 +18,7 @@ export default function StatisticsPage() {
getStatistics().then(setStats)
}, [])
const successRatio = stats !== undefined ?
const successRate = stats !== undefined ?
(stats.domainPurchaseFailed === 0 ? undefined : stats.domainPurchased / stats.domainPurchaseFailed)
: undefined
@ -38,7 +38,7 @@ export default function StatisticsPage() {
<Card bordered={false}>
<Statistic
loading={stats === undefined}
title={t`Alert sent`}
title={t`Alerts sent`}
prefix={<NotificationOutlined/>}
value={stats?.alertSent}
valueStyle={{color: 'blueviolet'}}
@ -52,7 +52,7 @@ export default function StatisticsPage() {
<Card bordered={false}>
<Statistic
loading={stats === undefined}
title={t`Domain name in database`}
title={t`Domain names in database`}
prefix={<DatabaseOutlined/>}
value={stats?.rdapQueries}
valueStyle={{color: 'darkblue'}}
@ -63,7 +63,7 @@ export default function StatisticsPage() {
<Card bordered={false}>
<Statistic
loading={stats === undefined}
title={t`Domain name tracked`}
title={t`Tracked domain names`}
prefix={<AimOutlined/>}
value={stats?.domainTracked}
valueStyle={{color: 'darkviolet'}}
@ -77,7 +77,7 @@ export default function StatisticsPage() {
<Card bordered={false}>
<Statistic
loading={stats === undefined}
title={t`Domain name purchased`}
title={t`Purchased domain names`}
prefix={<FieldTimeOutlined/>}
value={stats?.domainPurchased}
valueStyle={{color: '#3f8600'}}
@ -87,22 +87,24 @@ export default function StatisticsPage() {
<Col span={12}>
<Card bordered={false}>
<Tooltip
title={t`This value is based on the status code of the HTTP response from the providers following the order.`}>
title={t`This value is based on the status code of the HTTP response from the providers following the domain order.`}>
<Statistic
loading={stats === undefined}
title={t`Success ratio`}
value={successRatio === undefined ? '-' : successRatio * 100}
title={t`Success rate`}
value={successRate === undefined ? '-' : successRate * 100}
suffix='%'
precision={2}
valueStyle={{color: successRatio === undefined ? 'black' : successRatio >= 0.5 ? 'darkgreen' : 'orange'}}
valueStyle={{color: successRate === undefined ? 'grey' : successRate >= 0.5 ? 'darkgreen' : 'orange'}}
/>
</Tooltip>
</Card>
</Col>
</Row>
<Divider/>
<Row gutter={16}>
{stats?.domainCount.map(({domain, tld}) => <Col span={4}>
<Row gutter={16} justify='center' align='middle'>
{stats?.domainCount
.sort((a, b) => b.domain - a.domain)
.map(({domain, tld}) => <Col span={4}>
<Card bordered={false}>
<Statistic
loading={stats === undefined}

View File

@ -722,7 +722,7 @@ msgid "Domain Finder"
msgstr ""
#: assets/components/Sider.tsx:48
#: assets/pages/info/TldPage.tsx:65
#: assets/pages/search/TldPage.tsx:65
msgid "TLD"
msgstr ""
@ -763,7 +763,7 @@ msgid "Statistics"
msgstr ""
#: assets/components/Sider.tsx:105
#: assets/pages/watchdog/UserPage.tsx:16
#: assets/pages/UserPage.tsx:16
msgid "My Account"
msgstr ""
@ -796,23 +796,23 @@ msgid ""
"WHOIS by its registrar."
msgstr ""
#: assets/pages/info/TldPage.tsx:71
#: assets/pages/search/TldPage.tsx:71
msgid "Flag"
msgstr ""
#: assets/pages/info/TldPage.tsx:74
#: assets/pages/search/TldPage.tsx:74
msgid "Country"
msgstr ""
#: assets/pages/info/TldPage.tsx:79
#: assets/pages/search/TldPage.tsx:79
msgid "Registry Operator"
msgstr ""
#: assets/pages/info/TldPage.tsx:106
#: assets/pages/search/TldPage.tsx:106
msgid "This page presents all active TLDs in the root zone database."
msgstr ""
#: assets/pages/info/TldPage.tsx:109
#: assets/pages/search/TldPage.tsx:109
msgid ""
"IANA provides the list of currently active TLDs, regardless of their type, "
"and ICANN provides the list of gTLDs.\n"
@ -824,55 +824,47 @@ msgid ""
"At the same time, the list of root RDAP servers is updated."
msgstr ""
#: assets/pages/info/TldPage.tsx:120
#: assets/pages/search/TldPage.tsx:120
msgid "Sponsored Top-Level-Domains"
msgstr ""
#: assets/pages/info/TldPage.tsx:122
#: assets/pages/search/TldPage.tsx:122
msgid ""
"Top-level domains sponsored by specific organizations that set rules for "
"registration and use, often related to particular interest groups or "
"industries."
msgstr ""
#: assets/pages/info/TldPage.tsx:129
#: assets/pages/search/TldPage.tsx:129
msgid "Generic Top-Level-Domains"
msgstr ""
#: assets/pages/info/TldPage.tsx:131
#: assets/pages/search/TldPage.tsx:131
msgid ""
"Generic top-level domains open to everyone, not restricted by specific "
"criteria, representing various themes or industries."
msgstr ""
#: assets/pages/info/TldPage.tsx:138
#: assets/pages/search/TldPage.tsx:138
msgid "Brand Generic Top-Level-Domains"
msgstr ""
#: assets/pages/info/TldPage.tsx:140
#: assets/pages/search/TldPage.tsx:140
msgid ""
"Generic top-level domains associated with specific brands, allowing "
"companies to use their own brand names as domains."
msgstr ""
#: assets/pages/info/TldPage.tsx:147
#: assets/pages/search/TldPage.tsx:147
msgid "Country-Code Top-Level-Domains"
msgstr ""
#: assets/pages/info/TldPage.tsx:149
#: assets/pages/search/TldPage.tsx:149
msgid ""
"Top-level domains based on country codes, identifying websites according to "
"their country of origin."
msgstr ""
#: assets/pages/watchdog/UserPage.tsx:18
msgid "Username"
msgstr ""
#: assets/pages/watchdog/UserPage.tsx:21
msgid "Roles"
msgstr ""
#: assets/pages/tracking/ConnectorsPage.tsx:20
msgid "Connector created !"
msgstr ""
@ -897,10 +889,48 @@ msgstr ""
msgid "Sorry, the page you visited does not exist."
msgstr ""
#: assets/pages/StatisticsPage.tsx:32
msgid "RDAP queries"
msgstr ""
#: assets/pages/StatisticsPage.tsx:41
msgid "Alerts sent"
msgstr ""
#: assets/pages/StatisticsPage.tsx:55
msgid "Domain names in database"
msgstr ""
#: assets/pages/StatisticsPage.tsx:66
msgid "Tracked domain names"
msgstr ""
#: assets/pages/StatisticsPage.tsx:80
msgid "Purchased domain names"
msgstr ""
#: assets/pages/StatisticsPage.tsx:90
msgid ""
"This value is based on the status code of the HTTP response from the "
"providers following the domain order."
msgstr ""
#: assets/pages/StatisticsPage.tsx:93
msgid "Success rate"
msgstr ""
#: assets/pages/LoginPage.tsx:33
msgid "Create an account"
msgstr ""
#: assets/pages/UserPage.tsx:18
msgid "Username"
msgstr ""
#: assets/pages/UserPage.tsx:21
msgid "Roles"
msgstr ""
#: assets/utils/functions/showErrorAPI.tsx:19
#, javascript-format
msgid "Please retry after ${ duration } seconds"
@ -953,23 +983,23 @@ msgid ""
"another"
msgstr ""
#: assets/App.tsx:101
#: assets/App.tsx:100
msgid "TOS"
msgstr ""
#: assets/App.tsx:102
#: assets/App.tsx:101
msgid "Privacy Policy"
msgstr ""
#: assets/App.tsx:103
#: assets/App.tsx:102
msgid "FAQ"
msgstr ""
#: assets/App.tsx:105
#: assets/App.tsx:104
msgid "Documentation"
msgstr ""
#: assets/App.tsx:108
#: assets/App.tsx:107
#, javascript-format
msgid ""
"${ ProjectLink } is an open source project distributed under the ${ "