forked from mozilla/testpilot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExperimentsListPage.js
75 lines (63 loc) · 2.38 KB
/
ExperimentsListPage.js
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
import React from 'react';
import { connect } from 'react-redux';
import cookies from 'js-cookie';
import Header from '../components/Header';
import Footer from '../components/Footer';
import ExperimentRowCard from '../components/ExperimentRowCard';
import EmailDialog from '../components/EmailDialog';
import { getExperiments } from '../reducers/experiments';
export default connect(
state => ({
experiments: getExperiments(state.experiments),
isFirefox: state.browser.isFirefox,
hasAddon: state.addon.hasAddon,
installed: state.addon.installed
})
)((props) => <ExperimentsListPage {...props} />);
class ExperimentsListPage extends React.Component {
constructor(props) {
super(props);
let showEmailDialog = false;
if (cookies.get('first-run')) {
cookies.remove('first-run');
showEmailDialog = true;
}
this.state = {
showEmailDialog
};
}
render() {
const { dispatch, experiments, hasAddon } = this.props;
const { showEmailDialog } = this.state;
return (
<div>
{showEmailDialog &&
<EmailDialog onDismiss={() => this.setState({ showEmailDialog: false })} />}
<Header />
<div className="responsive-content-wrapper reverse-split-banner ">
<div className="copter-wrapper fly-down">
<div className="copter"></div>
</div>
<div className="intro-text">
<h2 data-l10n-id="experimentListPageHeader" className="banner">Ready for Takeoff!</h2>
<p data-l10n-id="experimentListPageSubHeader">Pick the features you want to try. <br /> Check back soon for more experiments.</p>
</div>
</div>
<div className="pinstripe responsive-content-wrapper"></div>
<div className="responsive-content-wrapper">
<div data-hook="experiment-list">
<div className="card-list experiments">
{ experiments.map((experiment, key) =>
<ExperimentRowCard key={key} dispatch={dispatch}
experiment={experiment} hasAddon={hasAddon}
eventCategory="HomePage Interactions" />) }
</div>
</div>
</div>
<footer id="main-footer" className="responsive-content-wrapper">
<Footer />
</footer>
</div>
);
}
}