-
Notifications
You must be signed in to change notification settings - Fork 527
Expand file tree
/
Copy pathStatusPage.js
More file actions
102 lines (100 loc) · 3.17 KB
/
StatusPage.js
File metadata and controls
102 lines (100 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import React from 'react'
import { Helmet } from 'react-helmet'
import { withTranslation, Trans } from 'react-i18next'
import { connect } from 'redux-bundler-react'
import ReactJoyride from 'react-joyride'
import StatusConnected from './StatusConnected.js'
import BandwidthStatsDisabled from './BandwidthStatsDisabled.js'
import IsNotConnected from '../components/is-not-connected/IsNotConnected.js'
import NodeInfo from './NodeInfo.js'
import NodeInfoAdvanced from './NodeInfoAdvanced.js'
import NodeBandwidthChart from './NodeBandwidthChart.js'
import NetworkTraffic from './NetworkTraffic.js'
import Box from '../components/box/Box.tsx'
import AnalyticsBanner from '../components/analytics-banner/AnalyticsBanner.js'
import { statusTour } from '../lib/tours.js'
import { getJoyrideLocales } from '../helpers/i8n.js'
import withTour from '../components/tour/withTour.js'
const StatusPage = ({
t,
ipfsConnected,
showAnalyticsComponents,
showAnalyticsBanner,
doEnableAnalytics,
doDisableAnalytics,
doToggleShowAnalyticsBanner,
toursEnabled,
handleJoyrideCallback,
nodeBandwidthEnabled
}) => {
return (
<div data-id='StatusPage' className='mw9 center'>
<Helmet>
<title>{t('title')} | IPFS</title>
</Helmet>
<Box className='pa3 joyride-status-node' style={{ minHeight: 0 }}>
<div className='flex'>
<div className='flex-auto'>
{ ipfsConnected
? (
<div>
<StatusConnected />
<NodeInfo />
<div className='pt2'>
<NodeInfoAdvanced />
</div>
</div>
)
: (
<div>
<IsNotConnected />
</div>
)}
</div>
</div>
</Box>
{ ipfsConnected && showAnalyticsComponents && showAnalyticsBanner &&
<AnalyticsBanner
className='mt3'
label={t('AnalyticsBanner.label')}
yesLabel={t('app:actions.close')}
onYes={() => doToggleShowAnalyticsBanner(false)} />
}
<div style={{ opacity: ipfsConnected ? 1 : 0.4 }}>
{ nodeBandwidthEnabled
? <Box className='mt3 pa3'>
<div className='flex flex-column flex-row-l joyride-status-charts'>
<div className='pr0 pr2-l flex-auto'>
<NodeBandwidthChart />
</div>
<div className='dn db-l pl3 pr5'>
<NetworkTraffic />
</div>
</div>
</Box>
: <BandwidthStatsDisabled />
}
<ReactJoyride
run={toursEnabled}
steps={statusTour.getSteps({ t, Trans })}
styles={statusTour.styles}
callback={handleJoyrideCallback}
continuous
scrollToFirstStep
locale={getJoyrideLocales(t)}
showProgress />
</div>
</div>
)
}
export default connect(
'selectIpfsConnected',
'selectNodeBandwidthEnabled',
'selectShowAnalyticsBanner',
'selectShowAnalyticsComponents',
'selectToursEnabled',
'doEnableAnalytics',
'doDisableAnalytics',
'doToggleShowAnalyticsBanner',
withTour(withTranslation('status')(StatusPage))
)