Second frontend, written in Next.JS + Typescript.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
23 KiB

{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime/regenerator\");\n\nvar _classCallCheck = require(\"@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"@babel/runtime/helpers/getPrototypeOf\");\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _interopRequireWildcard3 = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.render = render;\nexports.renderError = renderError;\nexports[\"default\"] = exports.emitter = exports.router = exports.version = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _interopRequireWildcard2 = _interopRequireDefault(require(\"@babel/runtime/helpers/interopRequireWildcard\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _headManager = _interopRequireDefault(require(\"./head-manager\"));\n\nvar _router = require(\"next/router\");\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nvar _pageLoader = _interopRequireDefault(require(\"./page-loader\"));\n\nvar envConfig = _interopRequireWildcard3(require(\"../next-server/lib/runtime-config\"));\n\nvar _headManagerContext = require(\"../next-server/lib/head-manager-context\");\n\nvar _routerContext = require(\"../next-server/lib/router-context\");\n\nvar _querystring = require(\"querystring\");\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n\nvar _performanceRelayer = require(\"./performance-relayer\");\n/* global location */\n\n\nif (!('finally' in Promise.prototype)) {\n // eslint-disable-next-line no-extend-native\n Promise.prototype[\"finally\"] = require('next/dist/build/polyfills/finally-polyfill.min');\n}\n\nvar data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\nwindow.__NEXT_DATA__ = data;\nvar version = \"9.3.5\";\nexports.version = version;\nvar props = data.props,\n err = data.err,\n page = data.page,\n query = data.query,\n buildId = data.buildId,\n assetPrefix = data.assetPrefix,\n runtimeConfig = data.runtimeConfig,\n dynamicIds = data.dynamicIds,\n isFallback = data.isFallback;\nvar prefix = assetPrefix || ''; // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n// So, this is how we do it in the client side at runtime\n\n__webpack_public_path__ = prefix + \"/_next/\"; //eslint-disable-line\n// Initialize next/config with the environment configuration\n\nenvConfig.setConfig({\n serverRuntimeConfig: {},\n publicRuntimeConfig: runtimeConfig || {}\n});\nvar asPath = (0, _utils.getURL)();\nvar pageLoader = new _pageLoader[\"default\"](buildId, prefix);\n\nvar register = function register(_ref) {\n var _ref6 = _slicedToArray(_ref, 2),\n r = _ref6[0],\n f = _ref6[1];\n\n return pageLoader.registerPage(r, f);\n};\n\nif (window.__NEXT_P) {\n window.__NEXT_P.map(register);\n}\n\nwindow.__NEXT_P = [];\nwindow.__NEXT_P.push = register;\nvar updateHead = (0, _headManager[\"default\"])();\nvar appElement = document.getElementById('__next');\nvar lastAppProps;\nvar webpackHMR;\nvar router;\nexports.router = router;\nvar ErrorComponent;\nvar Component;\nvar App, onPerfEntry;\n\nvar Container = /*#__PURE__*/function (_react$default$Compon) {\n _inherits(Container, _react$default$Compon);\n\n var _super = _createSuper(Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Container, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(err, info) {\n this.props.fn(err, info);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollToHash();\n\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n Promise.resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=unstable-post-hydration!'));\n }).then(function (mod) {\n return mod[\"default\"]();\n })[\"catch\"](function (err) {\n console.error('Error calling post-hydration for plugins', err);\n });\n } // We need to replace the router state if:\n // - the page was (auto) exported and has a query string or search (hash)\n // - it was auto exported and is a dynamic route (to provide params)\n // - if it is a client-side skeleton (fallback render)\n\n\n if (router.isSsr && (isFallback || data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search) || props.__N_SSG && location.search)) {\n // update query on mount for exported pages\n router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2[\"default\"])({}, router.query, {}, (0, _querystring.parse)(location.search.substr(1)))), asPath, {\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n // Fallback pages must trigger the data fetch, so the transition is\n // not shallow.\n // Other pages (strictly updating query) happens shallowly, as data\n // requirements would already be present.\n shallow: !isFallback\n });\n }\n\n if (process.env.__NEXT_TEST_MODE) {\n window.__NEXT_HYDRATED = true;\n\n if (window.__NEXT_HYDRATED_CB) {\n window.__NEXT_HYDRATED_CB();\n }\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.scrollToHash();\n }\n }, {\n key: \"scrollToHash\",\n value: function scrollToHash() {\n var _location = location,\n hash = _location.hash;\n hash = hash && hash.substring(1);\n if (!hash) return;\n var el = document.getElementById(hash);\n if (!el) return; // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n\n setTimeout(function () {\n return el.scrollIntoView();\n }, 0);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return Container;\n}(_react[\"default\"].Component);\n\nvar emitter = (0, _mitt[\"default\"])();\nexports.emitter = emitter;\n\nvar _default = function _default(_temp) {\n var _ref7, passedWebpackHMR, _await$pageLoader$loa, app, mod, initialErr, _await$pageLoader$loa2, _require, isValidElementType, renderCtx;\n\n return _regeneratorRuntime.async(function _default$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _ref7 = _temp === void 0 ? {} : _temp, passedWebpackHMR = _ref7.webpackHMR; // This makes sure this specific lines are removed in production\n\n if (false) {\n webpackHMR = passedWebpackHMR;\n }\n\n _context.next = 4;\n return _regeneratorRuntime.awrap(pageLoader.loadPageScript('/_app'));\n\n case 4:\n _await$pageLoader$loa = _context.sent;\n app = _await$pageLoader$loa.page;\n mod = _await$pageLoader$loa.mod;\n App = app;\n\n if (mod && mod.unstable_onPerformanceData) {\n onPerfEntry = function onPerfEntry(_ref2) {\n var name = _ref2.name,\n startTime = _ref2.startTime,\n value = _ref2.value,\n duration = _ref2.duration,\n entryType = _ref2.entryType;\n mod.unstable_onPerformanceData({\n name: name,\n startTime: startTime,\n value: value,\n duration: duration,\n entryType: entryType\n });\n };\n }\n\n initialErr = err;\n _context.prev = 10;\n ;\n _context.next = 14;\n return _regeneratorRuntime.awrap(pageLoader.loadPage(page));\n\n case 14:\n _await$pageLoader$loa2 = _context.sent;\n Component = _await$pageLoader$loa2.page;\n\n if (!false) {\n _context.next = 20;\n break;\n }\n\n _require = require('react-is'), isValidElementType = _require.isValidElementType;\n\n if (isValidElementType(Component)) {\n _context.next = 20;\n break;\n }\n\n throw new Error(\"The default export is not a React Component in page: \\\"\" + page + \"\\\"\");\n\n case 20:\n _context.next = 25;\n break;\n\n case 22:\n _context.prev = 22;\n _context.t0 = _context[\"catch\"](10);\n // This catches errors like throwing in the top level of a module\n initialErr = _context.t0;\n\n case 25:\n if (!window.__NEXT_PRELOADREADY) {\n _context.next = 28;\n break;\n }\n\n _context.next = 28;\n return _regeneratorRuntime.awrap(window.__NEXT_PRELOADREADY(dynamicIds));\n\n case 28:\n exports.router = router = (0, _router.createRouter)(page, query, asPath, {\n initialProps: props,\n pageLoader: pageLoader,\n App: App,\n Component: Component,\n wrapApp: wrapApp,\n err: initialErr,\n isFallback: isFallback,\n subscription: function subscription(_ref3, App) {\n var Component = _ref3.Component,\n props = _ref3.props,\n err = _ref3.err;\n render({\n App: App,\n Component: Component,\n props: props,\n err: err\n });\n }\n }); // call init-client middleware\n\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n Promise.resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-init-client!'));\n }).then(function (mod) {\n return mod[\"default\"]({\n router: router\n });\n })[\"catch\"](function (err) {\n console.error('Error calling client-init for plugins', err);\n });\n }\n\n renderCtx = {\n App: App,\n Component: Component,\n props: props,\n err: initialErr\n };\n\n if (!true) {\n _context.next = 34;\n break;\n }\n\n render(renderCtx);\n return _context.abrupt(\"return\", emitter);\n\n case 34:\n if (!false) {\n _context.next = 36;\n break;\n }\n\n return _context.abrupt(\"return\", {\n emitter: emitter,\n render: render,\n renderCtx: renderCtx\n });\n\n case 36:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, [[10, 22]], Promise);\n};\n\nexports[\"default\"] = _default;\n\nfunction render(props) {\n return _regeneratorRuntime.async(function render$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!props.err) {\n _context2.next = 4;\n break;\n }\n\n _context2.next = 3;\n return _regeneratorRuntime.awrap(renderError(props));\n\n case 3:\n return _context2.abrupt(\"return\");\n\n case 4:\n _context2.prev = 4;\n _context2.next = 7;\n return _regeneratorRuntime.awrap(doRender(props));\n\n case 7:\n _context2.next = 13;\n break;\n\n case 9:\n _context2.prev = 9;\n _context2.t0 = _context2[\"catch\"](4);\n _context2.next = 13;\n return _regeneratorRuntime.awrap(renderError((0, _extends2[\"default\"])({}, props, {\n err: _context2.t0\n })));\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, null, null, [[4, 9]], Promise);\n} // This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\n\n\nfunction renderError(props) {\n var App, err, _await$pageLoader$loa3, AppTree, appCtx, initProps;\n\n return _regeneratorRuntime.async(function renderError$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n App = props.App, err = props.err; // In development runtime errors are caught by react-error-overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n\n if (!false) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", webpackHMR.reportRuntimeError(webpackHMR.prepareError(err)));\n\n case 3:\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n Promise.resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-error-client!'));\n }).then(function (mod) {\n return mod[\"default\"]({\n err: err\n });\n })[\"catch\"](function (err) {\n console.error('error calling on-error-client for plugins', err);\n });\n } // Make sure we log the error to the console, otherwise users can't track down issues.\n\n\n console.error(err);\n _context3.next = 7;\n return _regeneratorRuntime.awrap(pageLoader.loadPage('/_error'));\n\n case 7:\n _await$pageLoader$loa3 = _context3.sent;\n ErrorComponent = _await$pageLoader$loa3.page;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n AppTree = wrapApp(App);\n appCtx = {\n Component: ErrorComponent,\n AppTree: AppTree,\n router: router,\n ctx: {\n err: err,\n pathname: page,\n query: query,\n asPath: asPath,\n AppTree: AppTree\n }\n };\n\n if (!props.props) {\n _context3.next = 15;\n break;\n }\n\n _context3.t0 = props.props;\n _context3.next = 18;\n break;\n\n case 15:\n _context3.next = 17;\n return _regeneratorRuntime.awrap((0, _utils.loadGetInitialProps)(App, appCtx));\n\n case 17:\n _context3.t0 = _context3.sent;\n\n case 18:\n initProps = _context3.t0;\n _context3.next = 21;\n return _regeneratorRuntime.awrap(doRender((0, _extends2[\"default\"])({}, props, {\n err: err,\n Component: ErrorComponent,\n props: initProps\n })));\n\n case 21:\n case \"end\":\n return _context3.stop();\n }\n }\n }, null, null, null, Promise);\n} // If hydrate does not exist, eg in preact.\n\n\nvar isInitialRender = typeof _reactDom[\"default\"].hydrate === 'function';\nvar reactRoot = null;\n\nfunction renderReactElement(reactEl, domEl) {\n if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n if (!reactRoot) {\n var opts = {\n hydrate: true\n };\n reactRoot = process.env.__NEXT_REACT_MODE === 'concurrent' ? _reactDom[\"default\"].createRoot(domEl, opts) : _reactDom[\"default\"].createBlockingRoot(domEl, opts);\n }\n\n reactRoot.render(reactEl);\n } else {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark('beforeRender');\n } // The check for `.hydrate` is there to support React alternatives like preact\n\n\n if (isInitialRender) {\n _reactDom[\"default\"].hydrate(reactEl, domEl, markHydrateComplete);\n\n isInitialRender = false;\n } else {\n _reactDom[\"default\"].render(reactEl, domEl, markRenderComplete);\n }\n }\n\n if (onPerfEntry && _utils.ST) {\n try {\n (0, _performanceRelayer.observeLayoutShift)(onPerfEntry);\n (0, _performanceRelayer.observeLargestContentfulPaint)(onPerfEntry);\n (0, _performanceRelayer.observePaint)(onPerfEntry);\n } catch (e) {\n window.addEventListener('load', function () {\n performance.getEntriesByType('paint').forEach(onPerfEntry);\n });\n }\n }\n}\n\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark('afterHydrate'); // mark end of hydration\n\n performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');\n performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');\n\n if (onPerfEntry) {\n if (process.env.__NEXT_FID_POLYFILL) {\n Promise.resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('../next-server/lib/fid-measure'));\n }).then(function (mod) {\n mod[\"default\"](onPerfEntry);\n })[\"catch\"](function (err) {\n console.error('Error measuring First Input Delay', err);\n });\n }\n\n performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);\n performance.getEntriesByName('beforeRender').forEach(onPerfEntry);\n }\n\n clearMarks();\n}\n\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark('afterRender'); // mark end of render\n\n var navStartEntries = performance.getEntriesByName('routeChange', 'mark');\n\n if (!navStartEntries.length) {\n return;\n }\n\n performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');\n performance.measure('Next.js-render', 'beforeRender', 'afterRender');\n\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);\n performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);\n }\n\n clearMarks();\n ['Next.js-route-change-to-render', 'Next.js-render'].forEach(function (measure) {\n return performance.clearMeasures(measure);\n });\n}\n\nfunction clearMarks() {\n ;\n ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {\n return performance.clearMarks(mark);\n });\n}\n\nfunction AppContainer(_ref4) {\n var children = _ref4.children;\n return _react[\"default\"].createElement(Container, {\n fn: function fn(error) {\n return renderError({\n App: App,\n err: error\n })[\"catch\"](function (err) {\n return console.error('Error rendering page: ', err);\n });\n }\n }, _react[\"default\"].createElement(_routerContext.RouterContext.Provider, {\n value: (0, _router.makePublicRouterInstance)(router)\n }, _react[\"default\"].createElement(_headManagerContext.HeadManagerContext.Provider, {\n value: updateHead\n }, children)));\n}\n\nvar wrapApp = function wrapApp(App) {\n return function (props) {\n var appProps = (0, _extends2[\"default\"])({}, props, {\n Component: Component,\n err: err,\n router: router\n });\n return _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps));\n };\n};\n\nfunction doRender(_ref5) {\n var App, Component, props, err, _router2, pathname, _query, _asPath, AppTree, appCtx, appProps, elem;\n\n return _regeneratorRuntime.async(function doRender$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n App = _ref5.App, Component = _ref5.Component, props = _ref5.props, err = _ref5.err; // Usual getInitialProps fetching is handled in next/router\n // this is for when ErrorComponent gets replaced by Component by HMR\n\n if (!(!props && Component && Component !== ErrorComponent && lastAppProps.Component === ErrorComponent)) {\n _context4.next = 8;\n break;\n }\n\n _router2 = router, pathname = _router2.pathname, _query = _router2.query, _asPath = _router2.asPath;\n AppTree = wrapApp(App);\n appCtx = {\n router: router,\n AppTree: AppTree,\n Component: ErrorComponent,\n ctx: {\n err: err,\n pathname: pathname,\n query: _query,\n asPath: _asPath,\n AppTree: AppTree\n }\n };\n _context4.next = 7;\n return _regeneratorRuntime.awrap((0, _utils.loadGetInitialProps)(App, appCtx));\n\n case 7:\n props = _context4.sent;\n\n case 8:\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n appProps = (0, _extends2[\"default\"])({}, props, {\n Component: Component,\n err: err,\n router: router\n }); // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n\n lastAppProps = appProps;\n emitter.emit('before-reactdom-render', {\n Component: Component,\n ErrorComponent: ErrorComponent,\n appProps: appProps\n });\n elem = _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps)); // We catch runtime errors using componentDidCatch which will trigger renderError\n\n renderReactElement(process.env.__NEXT_STRICT_MODE ? _react[\"default\"].createElement(_react[\"default\"].StrictMode, null, elem) : elem, appElement);\n emitter.emit('after-reactdom-render', {\n Component: Component,\n ErrorComponent: ErrorComponent,\n appProps: appProps\n });\n\n case 16:\n case \"end\":\n return _context4.stop();\n }\n }\n }, null, null, null, Promise);\n}","map":null,"metadata":{},"sourceType":"script"}