UNPKG

netlify-cms-core

Version:

Netlify CMS core application, see netlify-cms package for the main distribution.

140 lines (102 loc) 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactDom = require("react-dom"); var _reactRedux = require("react-redux"); var _reactRouterDom = require("react-router-dom"); var _netlifyCmsUiDefault = require("netlify-cms-ui-default"); var _reactPolyglot = require("react-polyglot"); var _redux = require("./redux"); var _history = require("./routing/history"); var _config = require("./actions/config"); var _auth = require("./actions/auth"); var _phrases = require("./lib/phrases"); var _config2 = require("./reducers/config"); var _UI = require("./components/UI"); var _App = _interopRequireDefault(require("./components/App/App")); require("./components/EditorWidgets"); require("./mediaLibrary"); require("what-input"); var _core = require("@emotion/core"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const ROOT_ID = 'nc-root'; function TranslatedApp(_ref) { let { locale, config } = _ref; return (0, _core.jsx)(_reactPolyglot.I18n, { locale: locale, messages: (0, _phrases.getPhrases)(locale) }, (0, _core.jsx)(_UI.ErrorBoundary, { showBackup: true, config: config }, (0, _core.jsx)(_reactRouterDom.Router, { history: _history.history }, (0, _core.jsx)(_reactRouterDom.Route, { component: _App.default })))); } function mapDispatchToProps(state) { return { locale: (0, _config2.selectLocale)(state.config), config: state.config }; } const ConnectedTranslatedApp = (0, _reactRedux.connect)(mapDispatchToProps)(TranslatedApp); function bootstrap() { let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; const { config } = opts; /** * Log the version number. */ if (typeof "2.55.2" === 'string') { console.log(`netlify-cms-core ${"2.55.2"}`); } /** * Get DOM element where app will mount. */ function getRoot() { /** * Return existing root if found. */ const existingRoot = document.getElementById(ROOT_ID); if (existingRoot) { return existingRoot; } /** * If no existing root, create and return a new root. */ const newRoot = document.createElement('div'); newRoot.id = ROOT_ID; document.body.appendChild(newRoot); return newRoot; } /** * Dispatch config to store if received. This config will be merged into * config.yml if it exists, and any portion that produces a conflict will be * overwritten. */ _redux.store.dispatch((0, _config.loadConfig)(config, function onLoad() { _redux.store.dispatch((0, _auth.authenticateUser)()); })); /** * Create connected root component. */ function Root() { return (0, _core.jsx)(_react.default.Fragment, null, (0, _core.jsx)(_netlifyCmsUiDefault.GlobalStyles, null), (0, _core.jsx)(_reactRedux.Provider, { store: _redux.store }, (0, _core.jsx)(ConnectedTranslatedApp, null))); } /** * Render application root. */ (0, _reactDom.render)((0, _core.jsx)(Root, null), getRoot()); } var _default = bootstrap; exports.default = _default;