summaryrefslogtreecommitdiff
path: root/web-ui/src/common/app.js
diff options
context:
space:
mode:
authorAnike Arni <anikarni@gmail.com>2017-03-13 18:41:59 -0300
committerGitHub <noreply@github.com>2017-03-13 18:41:59 -0300
commit99a6a41ffea6de9e4b3df43265282d76c3391fd1 (patch)
tree2b4d7b3c5ebd267ad252ab05c440a90033e4f962 /web-ui/src/common/app.js
parent8595d3d4f31b761574c08d6f9cdf5bfc00f53a99 (diff)
parent412d95d64b5d26d4f5e00a85b7b62da23e9bb168 (diff)
Merge branch 'master' into makefile-tests
Diffstat (limited to 'web-ui/src/common/app.js')
-rw-r--r--web-ui/src/common/app.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/web-ui/src/common/app.js b/web-ui/src/common/app.js
new file mode 100644
index 00000000..b8302000
--- /dev/null
+++ b/web-ui/src/common/app.js
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2017 ThoughtWorks, Inc.
+ *
+ * Pixelated is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Pixelated is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import React from 'react';
+import { I18nextProvider } from 'react-i18next';
+
+import internationalization from 'src/common/i18n';
+import injectTapEventPlugin from 'react-tap-event-plugin';
+import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
+import materialPixTheme from 'src/common/materialPixTheme';
+
+injectTapEventPlugin();
+
+const App = ({ i18n = internationalization, child }) => (
+ <MuiThemeProvider muiTheme={materialPixTheme}>
+ <I18nextProvider i18n={i18n}>
+ {child}
+ </I18nextProvider>
+ </MuiThemeProvider>
+);
+
+App.propTypes = {
+ i18n: React.PropTypes.object, // eslint-disable-line react/forbid-prop-types
+ child: React.PropTypes.element.isRequired
+};
+
+App.defaultProps = {
+ i18n: internationalization
+};
+
+export default App;