-
Notifications
You must be signed in to change notification settings - Fork 527
Expand file tree
/
Copy pathExperimentsPanel.js
More file actions
63 lines (61 loc) · 2.09 KB
/
ExperimentsPanel.js
File metadata and controls
63 lines (61 loc) · 2.09 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
import React from 'react'
import { connect } from 'redux-bundler-react'
import Checkbox from '../checkbox/Checkbox.js'
import Box from '../box/Box.tsx'
import Title from '../../settings/Title.js'
const Experiments = ({ doExpToggleAction, experiments, t }) => {
// if there are no experiments to show don't render
if (experiments && experiments.length > 0) {
const tkey = (selector, key) =>
t(`Experiments.${key ? `${key}.${selector}` : `${selector}`}`)
return (
<Box className='mb3 pa4 lh-copy'>
<Title>{t('experiments')}</Title>
<p className='db mv4 f6 charcoal mw7'>{tkey('description')}</p>
<div className='flex flex-wrap pb3'>
{experiments.map(({ key, actionUrls, enabled, blocked }) => {
return (
<div
key={key}
className='pa3 mr3 mb3 mw6 br3 bg-white dib f6 ba b1 b--light-gray'
>
<h3>{tkey('title', key)}</h3>
<p className='charcoal'>{tkey('description', key)}</p>
<Checkbox
className='dib'
disabled={blocked}
onChange={() => doExpToggleAction(key, enabled)}
checked={enabled}
label={<span className='fw5 f6'>{tkey('label', key)}</span>}
/>
{actionUrls && (
<div className='mv3'>
{actionUrls.map((action, i) => (
<a
target='_blank'
rel='noopener noreferrer'
key={action.key}
className={`link blue pr2 ${i > 0 &&
'bl b1 pl2 b--light-gray'}`}
href={action.url}
>
{tkey(action.key)}
</a>
))}
</div>
)}
</div>
)
})}
</div>
</Box>
)
} else {
return null
}
}
export default connect(
'selectExperiments',
'doExpToggleAction',
Experiments
)