codogo-react-widgets
Version:
Provides a unified way to access the styling of commonly used widgets across different apps
109 lines (89 loc) • 4.07 kB
JavaScript
import _classCallCheck from "babel-runtime/helpers/classCallCheck";
import _createClass from "babel-runtime/helpers/createClass";
import _possibleConstructorReturn from "babel-runtime/helpers/possibleConstructorReturn";
import _inherits from "babel-runtime/helpers/inherits";
import _taggedTemplateLiteral from "babel-runtime/helpers/taggedTemplateLiteral";
var _templateObject = _taggedTemplateLiteral(["\n\t@import url('https://fonts.googleapis.com/css?family=Rubik:400,400i');\n\n\thtml, body, #root {\n\t\twidth: 100% ;\n\t\theight: 100% ;\n\t\tmin-height: 100% ;\n\t\tmargin: 0;\n\t}\n\n\t*, *:before, *:after {\n\t\tbox-sizing: border-box;\n\t}\n\n\tbody {\n\t\tfont-family: Rubik, Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;\n\t\tcolor: ", ";\n\t}\n\n\tdiv {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\th1, h2, h3, h4, h5, h6, p {\n\t\tmargin: 0;\n\t}\n\n\ta, a:hover, a:visited, a:active, a:link {\n\t\tcolor: ", ";\n\t\tcolor: currentColor;\n\t\ttext-decoration: none;\n\t}\n"], ["\n\t@import url('https://fonts.googleapis.com/css?family=Rubik:400,400i');\n\n\thtml, body, #root {\n\t\twidth: 100% ;\n\t\theight: 100% ;\n\t\tmin-height: 100% ;\n\t\tmargin: 0;\n\t}\n\n\t*, *:before, *:after {\n\t\tbox-sizing: border-box;\n\t}\n\n\tbody {\n\t\tfont-family: Rubik, Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;\n\t\tcolor: ", ";\n\t}\n\n\tdiv {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\th1, h2, h3, h4, h5, h6, p {\n\t\tmargin: 0;\n\t}\n\n\ta, a:hover, a:visited, a:active, a:link {\n\t\tcolor: ", ";\n\t\tcolor: currentColor;\n\t\ttext-decoration: none;\n\t}\n"]);
import React from "react";
import { ApolloProvider } from "react-apollo";
import { BrowserRouter, Route, Switch, Redirect } from "react-router-dom";
import { ThemeProvider, injectGlobal } from "styled-components";
import { withUserContext } from "../../enhancers/withUserContext";
import { client } from "../../apolloClient";
import theme from "../../theme";
import getJWT from "../../getJWT";
import Sidebar from "./sidebar";
import { Container } from "./styles";
//------------------------------
var defaultTheme = theme;
var defaultClient = client;
var defaultRouter = BrowserRouter;
//------------------------------
var EnhancedContainer = withUserContext(Container);
var renderContained = function renderContained(props) {
return function () {
return React.createElement(
EnhancedContainer,
null,
React.createElement(Sidebar, { showAccountLink: props.showAccountLink }),
props.children
);
};
};
/* eslint no-unused-expressions: 0 */
injectGlobal(_templateObject, theme.colors.black, theme.colors.black);
var AppRedirect = function AppRedirect() {
return React.createElement(Redirect, { to: "/app" });
};
var Shell = function (_React$Component) {
_inherits(Shell, _React$Component);
function Shell() {
_classCallCheck(this, Shell);
return _possibleConstructorReturn(this, (Shell.__proto__ || Object.getPrototypeOf(Shell)).apply(this, arguments));
}
_createClass(Shell, [{
key: "render",
value: function render() {
var Router = this.props.router;
return React.createElement(
ThemeProvider,
{ theme: this.props.theme },
React.createElement(
ThemeProvider,
{ theme: this.props.themeMutator },
React.createElement(
ApolloProvider,
{ client: this.props.client },
React.createElement(
Router,
null,
React.createElement(
Switch,
null,
React.createElement(Route, {
path: "/app/:orgID?",
render: renderContained(this.props)
}),
React.createElement(Route, { component: AppRedirect })
)
)
)
)
);
}
}]);
return Shell;
}(React.Component);
Shell.defaultRouter = defaultRouter;
Shell.defaultClient = defaultClient;
Shell.defaultTheme = defaultTheme;
Shell.getJWT = getJWT;
Shell.defaultProps = {
router: defaultRouter,
client: defaultClient,
theme: defaultTheme,
themeMutator: function themeMutator(x) {
return x;
}
};
export default Shell;