@commercetools-frontend/application-shell 25.0.0 → 25.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{application-entry-point-1b23fb6b.esm.js → application-entry-point-10a5e1a5.esm.js} +4 -6
- package/dist/{application-entry-point-74a06151.cjs.prod.js → application-entry-point-8c4b8e53.cjs.prod.js} +3 -4
- package/dist/{application-entry-point-18d8fba0.cjs.dev.js → application-entry-point-c87294b0.cjs.dev.js} +4 -7
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +4 -5
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +4 -5
- package/dist/commercetools-frontend-application-shell.esm.js +4 -5
- package/dist/{custom-view-dev-host-dc7f2835.cjs.dev.js → custom-view-dev-host-116479c1.cjs.dev.js} +10 -15
- package/dist/{custom-view-dev-host-d72f9ae0.cjs.prod.js → custom-view-dev-host-8dd01b96.cjs.prod.js} +10 -15
- package/dist/{custom-view-dev-host-98432fc5.esm.js → custom-view-dev-host-c47927c7.esm.js} +10 -14
- package/dist/{index-208c3cdd.cjs.dev.js → index-1bdcc336.cjs.dev.js} +108 -132
- package/dist/{index-52c724ed.cjs.prod.js → index-245e2980.cjs.prod.js} +2 -2
- package/dist/{index-25183095.cjs.dev.js → index-614accc4.cjs.dev.js} +2 -2
- package/dist/{index-5aaa33bb.esm.js → index-86039df7.esm.js} +2 -2
- package/dist/{index-af2cc053.cjs.prod.js → index-aa7211d5.cjs.prod.js} +108 -132
- package/dist/{index-75206fba.esm.js → index-b26c8745.esm.js} +108 -131
- package/dist/{navbar-0bad8bc8.esm.js → navbar-9a40ead9.esm.js} +89 -104
- package/dist/{navbar-d4189469.cjs.dev.js → navbar-c51e0607.cjs.dev.js} +89 -105
- package/dist/{navbar-7653417f.cjs.prod.js → navbar-e287ce25.cjs.prod.js} +89 -105
- package/dist/oidc-8827f9fe.cjs.dev.js +98 -0
- package/dist/oidc-b2520905.esm.js +84 -0
- package/dist/{oidc-callback-3f9e25bc.cjs.prod.js → oidc-callback-13f8e123.cjs.prod.js} +8 -10
- package/dist/{oidc-callback-b6584fe8.esm.js → oidc-callback-39ea9b04.esm.js} +8 -10
- package/dist/{oidc-callback-f2f37906.cjs.dev.js → oidc-callback-59160485.cjs.dev.js} +8 -10
- package/dist/oidc-d74e6aa2.cjs.prod.js +98 -0
- package/dist/{project-container-27db6a7e.cjs.dev.js → project-container-a6c01dbf.cjs.dev.js} +11 -14
- package/dist/{project-container-0c9ee557.cjs.prod.js → project-container-ad2b76c9.cjs.prod.js} +11 -14
- package/dist/{project-container-8f8e017f.esm.js → project-container-f874583d.esm.js} +11 -14
- package/dist/{project-expired-b35819a4.cjs.dev.js → project-expired-743bae82.cjs.dev.js} +5 -6
- package/dist/{project-expired-da5d431c.cjs.prod.js → project-expired-a52200df.cjs.prod.js} +5 -6
- package/dist/{project-expired-bfa29d75.esm.js → project-expired-d917372c.esm.js} +5 -6
- package/dist/{project-not-found-fdb50d15.cjs.dev.js → project-not-found-5f0b2a72.cjs.dev.js} +4 -5
- package/dist/{project-not-found-695fadf6.cjs.prod.js → project-not-found-e4f79d38.cjs.prod.js} +4 -5
- package/dist/{project-not-found-5fc657c1.esm.js → project-not-found-ee259f9b.esm.js} +4 -5
- package/dist/{project-not-initialized-06d78b62.cjs.dev.js → project-not-initialized-58002613.cjs.dev.js} +5 -6
- package/dist/{project-not-initialized-a3b358cc.esm.js → project-not-initialized-6a3a2473.esm.js} +5 -6
- package/dist/{project-not-initialized-1603b228.cjs.prod.js → project-not-initialized-cfbd7c01.cjs.prod.js} +5 -6
- package/dist/{project-suspended-324978bc.cjs.prod.js → project-suspended-18764104.cjs.prod.js} +4 -5
- package/dist/{project-suspended-7e2257ac.cjs.dev.js → project-suspended-9cc251b0.cjs.dev.js} +4 -5
- package/dist/{project-suspended-d85025fe.esm.js → project-suspended-befd6810.esm.js} +4 -5
- package/dist/{redirect-to-login-3e4a6434.cjs.prod.js → redirect-to-login-12f467b8.cjs.prod.js} +10 -13
- package/dist/{redirect-to-login-edbfacbc.esm.js → redirect-to-login-2944c890.esm.js} +10 -13
- package/dist/{redirect-to-login-66ea895a.cjs.dev.js → redirect-to-login-3bee13ba.cjs.dev.js} +10 -13
- package/dist/{redirect-to-logout-ab5d2b07.cjs.dev.js → redirect-to-logout-7a1fd867.cjs.dev.js} +6 -8
- package/dist/{redirect-to-logout-aea7e913.esm.js → redirect-to-logout-ace73e1b.esm.js} +6 -8
- package/dist/{redirect-to-logout-f96c0c4b.cjs.prod.js → redirect-to-logout-ba4a0b0b.cjs.prod.js} +6 -8
- package/dist/{redirector-c858d578.cjs.prod.js → redirector-0c72d0a4.cjs.prod.js} +3 -4
- package/dist/{redirector-0efdd994.cjs.dev.js → redirector-72ccfbc2.cjs.dev.js} +3 -4
- package/dist/{redirector-656c6ee7.esm.js → redirector-d856975f.esm.js} +3 -4
- package/dist/{requests-in-flight-loader-5f216050.esm.js → requests-in-flight-loader-78c4428e.esm.js} +4 -5
- package/dist/{requests-in-flight-loader-3ffee0c0.cjs.prod.js → requests-in-flight-loader-b7225f9e.cjs.prod.js} +4 -5
- package/dist/{requests-in-flight-loader-08ef339c.cjs.dev.js → requests-in-flight-loader-cbc5faa0.cjs.dev.js} +4 -5
- package/dist/{service-page-project-switcher-9c5c86df.cjs.dev.js → service-page-project-switcher-09e3adc9.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-99b35fc0.esm.js → service-page-project-switcher-9cac7971.esm.js} +1 -1
- package/dist/{service-page-project-switcher-b21619c0.cjs.prod.js → service-page-project-switcher-d8772801.cjs.prod.js} +1 -1
- package/dist/{use-applications-menu-21c7420b.cjs.prod.js → use-applications-menu-8984efa1.cjs.prod.js} +39 -47
- package/dist/{use-applications-menu-8ff2d130.esm.js → use-applications-menu-bc2b9a66.esm.js} +37 -44
- package/dist/{use-applications-menu-7a85c3ee.cjs.dev.js → use-applications-menu-bd718ac8.cjs.dev.js} +39 -47
- package/dist/{user-settings-menu-2d3bfa75.cjs.prod.js → user-settings-menu-013f0041.cjs.prod.js} +22 -29
- package/dist/{user-settings-menu-31e6bb38.esm.js → user-settings-menu-16e8d020.esm.js} +22 -29
- package/dist/{user-settings-menu-c37b343f.cjs.dev.js → user-settings-menu-dc598434.cjs.dev.js} +22 -29
- package/package.json +17 -17
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +1 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +1 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +1 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +22 -26
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +22 -26
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +17 -20
- package/dist/oidc-258fc018.cjs.prod.js +0 -115
- package/dist/oidc-35e8e62a.esm.js +0 -100
- package/dist/oidc-87d116c1.cjs.dev.js +0 -115
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lazy, useEffect, useMemo, useRef, useLayoutEffect, Suspense, Component, StrictMode, useState, useCallback } from 'react';
|
|
2
2
|
import { useLocation, Switch, Route, Redirect, Router, useRouteMatch, useHistory, generatePath } from 'react-router-dom';
|
|
3
|
-
import { R as RouteCatchAll, i as internalReduxStore } from './index-
|
|
3
|
+
import { R as RouteCatchAll, i as internalReduxStore } from './index-86039df7.esm.js';
|
|
4
4
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
5
5
|
import _styled from '@emotion/styled/base';
|
|
6
6
|
import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
|
|
@@ -21,9 +21,8 @@ import { STORAGE_KEYS, GRAPHQL_TARGETS, featureFlags, LOGOUT_REASONS, DOMAINS, C
|
|
|
21
21
|
import { AsyncLocaleData } from '@commercetools-frontend/i18n';
|
|
22
22
|
import { NotificationsList } from '@commercetools-frontend/react-notifications';
|
|
23
23
|
import { reportErrorToSentry, SentryUserTracker, boot } from '@commercetools-frontend/sentry';
|
|
24
|
-
import { D as DIMENSIONS, C as CONTAINERS, N as NAVBAR, b as buildOidcScope, O as OIDC_CLAIMS } from './oidc-
|
|
24
|
+
import { D as DIMENSIONS, C as CONTAINERS, N as NAVBAR, b as buildOidcScope, O as OIDC_CLAIMS } from './oidc-b2520905.esm.js';
|
|
25
25
|
import '@babel/runtime-corejs3/core-js-stable/url';
|
|
26
|
-
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
27
26
|
import { customProperties, designTokens, ThemeProvider } from '@commercetools-uikit/design-system';
|
|
28
27
|
import Spacings from '@commercetools-uikit/spacings';
|
|
29
28
|
import { defineMessages, useIntl, FormattedMessage, IntlProvider } from 'react-intl';
|
|
@@ -31,7 +30,6 @@ import FlatButton from '@commercetools-uikit/flat-button';
|
|
|
31
30
|
import { AngleLeftIcon } from '@commercetools-uikit/icons';
|
|
32
31
|
import { l as location } from './location-f21dbc25.esm.js';
|
|
33
32
|
import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
34
|
-
import _taggedTemplateLiteral from '@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral';
|
|
35
33
|
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/esm/objectWithoutProperties';
|
|
36
34
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
37
35
|
import memoize from 'memoize-one';
|
|
@@ -72,9 +70,9 @@ import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instanc
|
|
|
72
70
|
import { showUnexpectedErrorNotification } from '@commercetools-frontend/actions-global';
|
|
73
71
|
|
|
74
72
|
// NOTE: This string will be replaced on build time with the package version.
|
|
75
|
-
var version = "25.
|
|
73
|
+
var version = "25.2.0";
|
|
76
74
|
|
|
77
|
-
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-
|
|
75
|
+
const RequestsInFlightLoader = /*#__PURE__*/lazy(() => import('./requests-in-flight-loader-78c4428e.esm.js' /* webpackChunkName: "requests-in-flight-loader" */));
|
|
78
76
|
|
|
79
77
|
// Attempt to load the `projectKey` from localStorage
|
|
80
78
|
function selectProjectKeyFromLocalStorage() {
|
|
@@ -100,7 +98,7 @@ var messages$1 = defineMessages({
|
|
|
100
98
|
* A full page reload is needed as the user's project may have changed (deletions and/or additions).
|
|
101
99
|
* As a result the project and user queries need refetching.
|
|
102
100
|
*/
|
|
103
|
-
const redirectToProject = key => location.replace(
|
|
101
|
+
const redirectToProject = key => location.replace(`/${key}`);
|
|
104
102
|
const BackToProject = props => {
|
|
105
103
|
const intl = useIntl();
|
|
106
104
|
return jsx(FlatButton, {
|
|
@@ -111,8 +109,14 @@ const BackToProject = props => {
|
|
|
111
109
|
};
|
|
112
110
|
BackToProject.displayName = 'BackToProject';
|
|
113
111
|
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
const animationPulse = keyframes`
|
|
113
|
+
0% {
|
|
114
|
+
background-color: ${customProperties.colorNeutral};
|
|
115
|
+
}
|
|
116
|
+
100% {
|
|
117
|
+
background-color: ${customProperties.colorNeutral95};
|
|
118
|
+
}
|
|
119
|
+
`;
|
|
116
120
|
const getWidthBySize = props => {
|
|
117
121
|
switch (props.shape) {
|
|
118
122
|
case 'dot':
|
|
@@ -317,15 +321,14 @@ const ProjectSwitcher = props => {
|
|
|
317
321
|
onChange: event => {
|
|
318
322
|
const selectedProjectKey = event.target.value;
|
|
319
323
|
if (selectedProjectKey !== props.projectKey) {
|
|
320
|
-
|
|
321
|
-
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
324
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
322
325
|
oidcStorage.setActiveProjectKey(selectedProjectKey);
|
|
323
326
|
}
|
|
324
327
|
|
|
325
328
|
// We simply redirect to a "new" browser page, instead of using the
|
|
326
329
|
// history router. This will simplify a lot of things and avoid possible
|
|
327
330
|
// problems like e.g. resetting the store/state.
|
|
328
|
-
redirectTo(
|
|
331
|
+
redirectTo(`/${selectedProjectKey}`);
|
|
329
332
|
}
|
|
330
333
|
},
|
|
331
334
|
options: data && data.user && mapProjectsToOptions(data.user.projects.results) || [],
|
|
@@ -356,7 +359,7 @@ ProjectSwitcher.displayName = 'ProjectSwitcher';
|
|
|
356
359
|
// eslint-disable-next-line import/prefer-default-export
|
|
357
360
|
const REQUESTS_IN_FLIGHT_LOADER_DOM_ID = 'loader-for-requests-in-flight';
|
|
358
361
|
|
|
359
|
-
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-
|
|
362
|
+
const UserSettingsMenu = /*#__PURE__*/lazy(() => import('./user-settings-menu-16e8d020.esm.js' /* webpackChunkName: "user-settings-menu" */));
|
|
360
363
|
|
|
361
364
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
362
365
|
var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
@@ -384,8 +387,7 @@ var _ref3$1 = process.env.NODE_ENV === "production" ? {
|
|
|
384
387
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$2
|
|
385
388
|
};
|
|
386
389
|
const AppBar = props => {
|
|
387
|
-
|
|
388
|
-
const previousProjectKey = getPreviousProjectKey((_props$user$defaultPr = (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.defaultProjectKey) !== null && _props$user$defaultPr !== void 0 ? _props$user$defaultPr : undefined);
|
|
390
|
+
const previousProjectKey = getPreviousProjectKey(props.user?.defaultProjectKey ?? undefined);
|
|
389
391
|
return jsxs("div", {
|
|
390
392
|
css: /*#__PURE__*/css("background-color:", designTokens.colorSurface, ";box-shadow:0px 2px 5px 0px rgba(0, 0, 0, 0.15);padding:0 40px;min-height:", DIMENSIONS.header, ";position:relative;width:100%;z-index:20000;display:flex;align-items:center;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCYyIsImZpbGUiOiJhcHAtYmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IFByb2plY3RTdGFtcCB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIGFzIHVpa2l0RGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5pbXBvcnQgU3BhY2luZ3MgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3MnO1xuaW1wb3J0IHsgQ09OVEFJTkVSUywgRElNRU5TSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL21jJztcbmltcG9ydCB7IGdldFByZXZpb3VzUHJvamVjdEtleSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBCYWNrVG9Qcm9qZWN0IGZyb20gJy4uL2JhY2stdG8tcHJvamVjdCc7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IFByb2plY3RTd2l0Y2hlciBmcm9tICcuLi9wcm9qZWN0LXN3aXRjaGVyJztcbmltcG9ydCB7IFJFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEIH0gZnJvbSAnLi4vcmVxdWVzdHMtaW4tZmxpZ2h0LWxvYWRlci9jb25zdGFudHMnO1xuaW1wb3J0IFVzZXJTZXR0aW5nc01lbnUgZnJvbSAnLi4vdXNlci1zZXR0aW5ncy1tZW51JztcblxudHlwZSBQcm9wcyA9IHtcbiAgdXNlcjogVEZldGNoTG9nZ2VkSW5Vc2VyUXVlcnlbJ3VzZXInXTtcbiAgcHJvamVjdEtleUZyb21Vcmw/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBBcHBCYXIgPSAocHJvcHM6IFByb3BzKSA9PiB7XG4gIGNvbnN0IHByZXZpb3VzUHJvamVjdEtleSA9IGdldFByZXZpb3VzUHJvamVjdEtleShcbiAgICBwcm9wcy51c2VyPy5kZWZhdWx0UHJvamVjdEtleSA/PyB1bmRlZmluZWRcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Vpa2l0RGVzaWduVG9rZW5zLmNvbG9yU3VyZmFjZX07XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR7RElNRU5TSU9OUy5oZWFkZXJ9O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyMDAwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYH1cbiAgICAgIGRhdGEtdGVzdD1cInRvcC1uYXZpZ2F0aW9uXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzU1fTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTcGFjaW5ncy5JbmxpbmUgc2NhbGU9XCJtXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBnYXA6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzMwfTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghcHJvcHMudXNlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwicmVjdFwiIHNpemU9XCJzXCIgLz47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVGhlIGA8UHJvamVjdFN3aXRjaGVyPmAgc2hvdWxkIGJlIHJlbmRlcmVkIG9ubHkgaWYgdGhlXG4gICAgICAgICAgICAgIC8vIHVzZXIgaXMgZmV0Y2hlZCBhbmQgdGhlIHVzZXIgaGFzIHByb2plY3RzIHdoaWxlIHRoZSBhcHAgcnVucyBpbiBhbiBwcm9qZWN0IGNvbnRleHQuXG4gICAgICAgICAgICAgIGlmIChwcm9wcy51c2VyLnByb2plY3RzLnRvdGFsID4gMCAmJiBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvamVjdCA9IHByb3BzLnVzZXIucHJvamVjdHMucmVzdWx0cy5maW5kKFxuICAgICAgICAgICAgICAgICAgKHByb2plY3QpID0+IHByb2plY3Qua2V5ID09PSBwcm9wcy5wcm9qZWN0S2V5RnJvbVVybFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICBnYXA6ICR7dWlraXREZXNpZ25Ub2tlbnMuc3BhY2luZzIwfTtcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7c2VsZWN0ZWRQcm9qZWN0Py5pc1Byb2R1Y3Rpb25Qcm9qZWN0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UHJvamVjdFN0YW1wLklzUHJvZHVjdGlvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8UHJvamVjdFN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBjaGVjayBpZiB0aGUgYHByb2plY3RLZXlgIHBhcmFtXG4gICAgICAgICAgICAgICAgICAgICAgLy8gaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgcHJvamVjdHMuIEluIHN1Y2ggY2FzZVxuICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZSBkcm9wZG93biB3aWxsIHN0aWxsIGJlIHJlbmRlcmVkIGJ1dCBubyBwcm9qZWN0IHdpbGwgYmUgc2VsZWN0ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBmaW5lIGJlY2FzZSB0aGUgdXNlciBoYXMgc3RpbGwgdGhlIHBvc3NpYmlsaXR5IHRvIFwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB0byBhIHByb2plY3QuXG4gICAgICAgICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleUZyb21VcmwgfHwgcHJldmlvdXNQcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIuZGVmYXVsdFByb2plY3RLZXkpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICByZXR1cm4gPEJhY2tUb1Byb2plY3QgcHJvamVjdEtleT17cHJldmlvdXNQcm9qZWN0S2V5fSAvPjtcbiAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICB7LyogVGhpcyBub2RlIGlzIHVzZWQgYnkgYSByZWFjdCBwb3J0YWwgKi99XG4gICAgICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxPQ0FMRV9TV0lUQ0hFUn0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8U3BhY2luZ3MuSW5saW5lPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBpZD17UkVRVUVTVFNfSU5fRkxJR0hUX0xPQURFUl9ET01fSUR9XG4gICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TcGFjaW5ncy5JbmxpbmU+XG4gICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgaWQ9e0NPTlRBSU5FUlMuTEVGVF9PRl9QUk9GSUxFfT48L2Rpdj5cbiAgICAgICAge3Byb3BzLnVzZXIgPyAoXG4gICAgICAgICAgPFVzZXJTZXR0aW5nc01lbnVcbiAgICAgICAgICAgIGxhbmd1YWdlPXtwcm9wcy51c2VyLmxhbmd1YWdlfVxuICAgICAgICAgICAgZmlyc3ROYW1lPXtwcm9wcy51c2VyLmZpcnN0TmFtZX1cbiAgICAgICAgICAgIGxhc3ROYW1lPXtwcm9wcy51c2VyLmxhc3ROYW1lfVxuICAgICAgICAgICAgZ3JhdmF0YXJIYXNoPXtwcm9wcy51c2VyLmdyYXZhdGFySGFzaH1cbiAgICAgICAgICAgIGVtYWlsPXtwcm9wcy51c2VyLmVtYWlsfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJsXCIgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbkFwcEJhci5kaXNwbGF5TmFtZSA9ICdBcHBCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBBcHBCYXI7XG4iXX0= */"),
|
|
391
393
|
"data-test": "top-navigation",
|
|
@@ -410,7 +412,7 @@ const AppBar = props => {
|
|
|
410
412
|
const selectedProject = _findInstanceProperty(_context = props.user.projects.results).call(_context, project => project.key === props.projectKeyFromUrl);
|
|
411
413
|
return jsxs("div", {
|
|
412
414
|
css: /*#__PURE__*/css("display:flex;gap:", designTokens.spacing20, ";align-items:center;" + (process.env.NODE_ENV === "production" ? "" : ";label:AppBar;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1iYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFFNEIiLCJmaWxlIjoiYXBwLWJhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBQcm9qZWN0U3RhbXAgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1jb21wb25lbnRzJztcbmltcG9ydCB7IGRlc2lnblRva2VucyBhcyB1aWtpdERlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IFNwYWNpbmdzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3NwYWNpbmdzJztcbmltcG9ydCB7IENPTlRBSU5FUlMsIERJTUVOU0lPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hMb2dnZWRJblVzZXJRdWVyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2dlbmVyYXRlZC9tYyc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1Byb2plY3RLZXkgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgQmFja1RvUHJvamVjdCBmcm9tICcuLi9iYWNrLXRvLXByb2plY3QnO1xuaW1wb3J0IExvYWRpbmdQbGFjZWhvbGRlciBmcm9tICcuLi9sb2FkaW5nLXBsYWNlaG9sZGVyJztcbmltcG9ydCBQcm9qZWN0U3dpdGNoZXIgZnJvbSAnLi4vcHJvamVjdC1zd2l0Y2hlcic7XG5pbXBvcnQgeyBSRVFVRVNUU19JTl9GTElHSFRfTE9BREVSX0RPTV9JRCB9IGZyb20gJy4uL3JlcXVlc3RzLWluLWZsaWdodC1sb2FkZXIvY29uc3RhbnRzJztcbmltcG9ydCBVc2VyU2V0dGluZ3NNZW51IGZyb20gJy4uL3VzZXItc2V0dGluZ3MtbWVudSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHVzZXI6IFRGZXRjaExvZ2dlZEluVXNlclF1ZXJ5Wyd1c2VyJ107XG4gIHByb2plY3RLZXlGcm9tVXJsPzogc3RyaW5nO1xufTtcblxuY29uc3QgQXBwQmFyID0gKHByb3BzOiBQcm9wcykgPT4ge1xuICBjb25zdCBwcmV2aW91c1Byb2plY3RLZXkgPSBnZXRQcmV2aW91c1Byb2plY3RLZXkoXG4gICAgcHJvcHMudXNlcj8uZGVmYXVsdFByb2plY3RLZXkgPz8gdW5kZWZpbmVkXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt1aWtpdERlc2lnblRva2Vucy5jb2xvclN1cmZhY2V9O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAke0RJTUVOU0lPTlMuaGVhZGVyfTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjAwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRlc3Q9XCJ0b3AtbmF2aWdhdGlvblwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmc1NX07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8U3BhY2luZ3MuSW5saW5lIHNjYWxlPVwibVwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZ2FwOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmczMH07XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBgfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXByb3BzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cInJlY3RcIiBzaXplPVwic1wiIC8+O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIFRoZSBgPFByb2plY3RTd2l0Y2hlcj5gIHNob3VsZCBiZSByZW5kZXJlZCBvbmx5IGlmIHRoZVxuICAgICAgICAgICAgICAvLyB1c2VyIGlzIGZldGNoZWQgYW5kIHRoZSB1c2VyIGhhcyBwcm9qZWN0cyB3aGlsZSB0aGUgYXBwIHJ1bnMgaW4gYW4gcHJvamVjdCBjb250ZXh0LlxuICAgICAgICAgICAgICBpZiAocHJvcHMudXNlci5wcm9qZWN0cy50b3RhbCA+IDAgJiYgcHJvcHMucHJvamVjdEtleUZyb21VcmwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZFByb2plY3QgPSBwcm9wcy51c2VyLnByb2plY3RzLnJlc3VsdHMuZmluZChcbiAgICAgICAgICAgICAgICAgIChwcm9qZWN0KSA9PiBwcm9qZWN0LmtleSA9PT0gcHJvcHMucHJvamVjdEtleUZyb21VcmxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgZ2FwOiAke3Vpa2l0RGVzaWduVG9rZW5zLnNwYWNpbmcyMH07XG4gICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3NlbGVjdGVkUHJvamVjdD8uaXNQcm9kdWN0aW9uUHJvamVjdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFByb2plY3RTdGFtcC5Jc1Byb2R1Y3Rpb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPFByb2plY3RTd2l0Y2hlclxuICAgICAgICAgICAgICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgaWYgdGhlIGBwcm9qZWN0S2V5YCBwYXJhbVxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlzIGluY2x1ZGVkIGluIHRoZSBsaXN0IG9mIHByb2plY3RzLiBJbiBzdWNoIGNhc2VcbiAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgZHJvcGRvd24gd2lsbCBzdGlsbCBiZSByZW5kZXJlZCBidXQgbm8gcHJvamVjdCB3aWxsIGJlIHNlbGVjdGVkLlxuICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgZmluZSBiZWNhc2UgdGhlIHVzZXIgaGFzIHN0aWxsIHRoZSBwb3NzaWJpbGl0eSB0byBcInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgLy8gdG8gYSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXlGcm9tVXJsIHx8IHByZXZpb3VzUHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCFwcm9wcy51c2VyLmRlZmF1bHRQcm9qZWN0S2V5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgcmV0dXJuIDxCYWNrVG9Qcm9qZWN0IHByb2plY3RLZXk9e3ByZXZpb3VzUHJvamVjdEtleX0gLz47XG4gICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgey8qIFRoaXMgbm9kZSBpcyB1c2VkIGJ5IGEgcmVhY3QgcG9ydGFsICovfVxuICAgICAgICAgICAgPGRpdiBpZD17Q09OVEFJTkVSUy5MT0NBTEVfU1dJVENIRVJ9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFNwYWNpbmdzLklubGluZT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgaWQ9e1JFUVVFU1RTX0lOX0ZMSUdIVF9MT0FERVJfRE9NX0lEfVxuICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3BhY2luZ3MuSW5saW5lPlxuICAgICAgICA8L1NwYWNpbmdzLklubGluZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBgfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGlkPXtDT05UQUlORVJTLkxFRlRfT0ZfUFJPRklMRX0+PC9kaXY+XG4gICAgICAgIHtwcm9wcy51c2VyID8gKFxuICAgICAgICAgIDxVc2VyU2V0dGluZ3NNZW51XG4gICAgICAgICAgICBsYW5ndWFnZT17cHJvcHMudXNlci5sYW5ndWFnZX1cbiAgICAgICAgICAgIGZpcnN0TmFtZT17cHJvcHMudXNlci5maXJzdE5hbWV9XG4gICAgICAgICAgICBsYXN0TmFtZT17cHJvcHMudXNlci5sYXN0TmFtZX1cbiAgICAgICAgICAgIGdyYXZhdGFySGFzaD17cHJvcHMudXNlci5ncmF2YXRhckhhc2h9XG4gICAgICAgICAgICBlbWFpbD17cHJvcHMudXNlci5lbWFpbH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxMb2FkaW5nUGxhY2Vob2xkZXIgc2hhcGU9XCJkb3RcIiBzaXplPVwibFwiIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5BcHBCYXIuZGlzcGxheU5hbWUgPSAnQXBwQmFyJztcblxuZXhwb3J0IGRlZmF1bHQgQXBwQmFyO1xuIl19 */"),
|
|
413
|
-
children: [
|
|
415
|
+
children: [selectedProject?.isProductionProject && jsx("div", {
|
|
414
416
|
css: _ref3$1,
|
|
415
417
|
children: jsx(ProjectStamp.IsProduction, {})
|
|
416
418
|
}), jsx(ProjectSwitcher
|
|
@@ -553,11 +555,11 @@ const FetchUser = props => {
|
|
|
553
555
|
};
|
|
554
556
|
FetchUser.displayName = 'FetchUser';
|
|
555
557
|
|
|
556
|
-
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-
|
|
558
|
+
const Navbar = /*#__PURE__*/lazy(() => import('./navbar-9a40ead9.esm.js' /* webpackChunkName: "navbar" */));
|
|
557
559
|
|
|
558
|
-
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-
|
|
560
|
+
const ProjectContainer = /*#__PURE__*/lazy(() => import('./project-container-f874583d.esm.js' /* webpackChunkName: "project-container" */));
|
|
559
561
|
|
|
560
|
-
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-
|
|
562
|
+
const RedirectToLogout = /*#__PURE__*/lazy(() => import('./redirect-to-logout-ace73e1b.esm.js' /* webpackChunkName: "redirect-to-logout" */));
|
|
561
563
|
|
|
562
564
|
const RedirectToProjectCreate = /*#__PURE__*/lazy(() => import('./redirect-to-project-create-9249e554.esm.js' /* webpackChunkName: "redirect-to-project-create" */));
|
|
563
565
|
|
|
@@ -569,16 +571,15 @@ var AllFeaturesQuery = { kind: "Document", definitions: [{ kind: "OperationDefin
|
|
|
569
571
|
// is no need to be concerned about security.
|
|
570
572
|
const ldClientSideIdProduction = '5979d95f6040390cd07b5e01';
|
|
571
573
|
function getUserContextForLaunchDarklyAdapter(user, projectKey) {
|
|
572
|
-
var _user$launchdarklyTra, _user$launchdarklyTra2, _user$launchdarklyTra3, _user$launchdarklyTra4, _user$launchdarklyTra5;
|
|
573
574
|
return {
|
|
574
575
|
kind: 'user',
|
|
575
|
-
key: user
|
|
576
|
-
project: projectKey
|
|
577
|
-
id:
|
|
578
|
-
team:
|
|
579
|
-
group:
|
|
580
|
-
subgroup:
|
|
581
|
-
cloudEnvironment:
|
|
576
|
+
key: user?.id,
|
|
577
|
+
project: projectKey ?? '',
|
|
578
|
+
id: user?.launchdarklyTrackingId ?? '',
|
|
579
|
+
team: user?.launchdarklyTrackingTeam ?? [],
|
|
580
|
+
group: user?.launchdarklyTrackingGroup ?? '',
|
|
581
|
+
subgroup: user?.launchdarklyTrackingSubgroup ?? '',
|
|
582
|
+
cloudEnvironment: user?.launchdarklyTrackingCloudEnvironment ?? ''
|
|
582
583
|
};
|
|
583
584
|
}
|
|
584
585
|
const parseFlags = fetchedFlags => {
|
|
@@ -610,51 +611,47 @@ const SetupFlopFlipProvider = props => {
|
|
|
610
611
|
}
|
|
611
612
|
}, [enableLongLivedFeatureFlags]);
|
|
612
613
|
const defaultFlags = useMemo(() => _objectSpread$9(_objectSpread$9({}, featureFlags.DEFAULT_FLAGS), props.defaultFlags), [props.defaultFlags]);
|
|
613
|
-
const adapterArgs = useMemo(() => {
|
|
614
|
-
|
|
615
|
-
|
|
614
|
+
const adapterArgs = useMemo(() => ({
|
|
615
|
+
user: {
|
|
616
|
+
key: props.user?.id
|
|
617
|
+
},
|
|
618
|
+
launchdarkly: {
|
|
619
|
+
cacheIdentifier: cacheIdentifiers.local,
|
|
620
|
+
cacheMode: getCacheMode(adapterIdentifiers.launchdarkly),
|
|
621
|
+
sdk: {
|
|
622
|
+
// Allow to overwrite the client ID, passed via the `additionalEnv` properties
|
|
623
|
+
// of the application config.
|
|
624
|
+
// This is mostly useful for internal usage on our staging environments.
|
|
625
|
+
clientSideId: props.ldClientSideId ?? ldClientSideIdProduction,
|
|
626
|
+
clientOptions: {
|
|
627
|
+
sendEventsOnlyForVariation: true
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
flags,
|
|
631
|
+
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
632
|
+
},
|
|
633
|
+
http: {
|
|
634
|
+
// polling interval set to 15 minutes
|
|
635
|
+
pollingIntervalMs: 1000 * 60 * 15,
|
|
636
|
+
cacheIdentifier: cacheIdentifiers.local,
|
|
637
|
+
cacheMode: getCacheMode(adapterIdentifiers.http),
|
|
616
638
|
user: {
|
|
617
|
-
key:
|
|
639
|
+
key: props.user?.id
|
|
618
640
|
},
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
clientOptions: {
|
|
628
|
-
sendEventsOnlyForVariation: true
|
|
641
|
+
execute: async adapterArgs => {
|
|
642
|
+
const response = await apolloClient.query({
|
|
643
|
+
query: AllFeaturesQuery,
|
|
644
|
+
errorPolicy: 'ignore',
|
|
645
|
+
fetchPolicy: 'network-only',
|
|
646
|
+
context: {
|
|
647
|
+
target: GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
648
|
+
projectKey: adapterArgs.user?.project
|
|
629
649
|
}
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
context: getUserContextForLaunchDarklyAdapter(props.user, props.projectKey)
|
|
633
|
-
},
|
|
634
|
-
http: {
|
|
635
|
-
// polling interval set to 15 minutes
|
|
636
|
-
pollingIntervalMs: 1000 * 60 * 15,
|
|
637
|
-
cacheIdentifier: cacheIdentifiers.local,
|
|
638
|
-
cacheMode: getCacheMode(adapterIdentifiers.http),
|
|
639
|
-
user: {
|
|
640
|
-
key: (_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id
|
|
641
|
-
},
|
|
642
|
-
execute: async adapterArgs => {
|
|
643
|
-
var _adapterArgs$user;
|
|
644
|
-
const response = await apolloClient.query({
|
|
645
|
-
query: AllFeaturesQuery,
|
|
646
|
-
errorPolicy: 'ignore',
|
|
647
|
-
fetchPolicy: 'network-only',
|
|
648
|
-
context: {
|
|
649
|
-
target: GRAPHQL_TARGETS.MERCHANT_CENTER_BACKEND,
|
|
650
|
-
projectKey: (_adapterArgs$user = adapterArgs.user) === null || _adapterArgs$user === void 0 ? void 0 : _adapterArgs$user.project
|
|
651
|
-
}
|
|
652
|
-
});
|
|
653
|
-
return parseFlags(response.data);
|
|
654
|
-
}
|
|
650
|
+
});
|
|
651
|
+
return parseFlags(response.data);
|
|
655
652
|
}
|
|
656
|
-
}
|
|
657
|
-
}, [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
653
|
+
}
|
|
654
|
+
}), [apolloClient, flags, props.ldClientSideId, props.projectKey, props.user]);
|
|
658
655
|
|
|
659
656
|
/**
|
|
660
657
|
* The `<ApplicationShell />` tests itself. When it does so it can not setup and use
|
|
@@ -806,16 +803,16 @@ const ApplicationShellAuthenticated = props => {
|
|
|
806
803
|
const projectKeyFromUrl = selectProjectKeyFromUrl(location.pathname);
|
|
807
804
|
|
|
808
805
|
// Check if user is ct staff, and if so get language selected via staff bar from local storage
|
|
809
|
-
const staffBarLanguage =
|
|
806
|
+
const staffBarLanguage = user?.launchdarklyTrackingGroup === 'commercetools' || user?.launchdarklyTrackingGroup === 'mailosaur' ? selectUserLanguageFromStorage() : undefined;
|
|
810
807
|
const normalizedUser = user ? _objectSpread$8(_objectSpread$8({}, user), {}, {
|
|
811
808
|
// set the staff bar language if applicable
|
|
812
|
-
language: staffBarLanguage
|
|
809
|
+
language: staffBarLanguage ?? user.language
|
|
813
810
|
}) : undefined;
|
|
814
811
|
return jsx(ApplicationContextProvider, {
|
|
815
812
|
user: normalizedUser,
|
|
816
813
|
environment: applicationEnvironment,
|
|
817
814
|
children: jsx(AsyncLocaleData, {
|
|
818
|
-
locale: normalizedUser
|
|
815
|
+
locale: normalizedUser?.language,
|
|
819
816
|
applicationMessages: props.applicationMessages,
|
|
820
817
|
children: _ref7 => {
|
|
821
818
|
let isLoadingLocaleData = _ref7.isLoading,
|
|
@@ -939,8 +936,8 @@ const ApplicationShellAuthenticated = props => {
|
|
|
939
936
|
}), jsx(Route, {
|
|
940
937
|
exact: true,
|
|
941
938
|
path: "/",
|
|
942
|
-
children: (
|
|
943
|
-
const previousProjectKey = getPreviousProjectKey(
|
|
939
|
+
children: (() => {
|
|
940
|
+
const previousProjectKey = getPreviousProjectKey(normalizedUser?.defaultProjectKey ?? undefined);
|
|
944
941
|
|
|
945
942
|
/**
|
|
946
943
|
* NOTE:
|
|
@@ -953,7 +950,7 @@ const ApplicationShellAuthenticated = props => {
|
|
|
953
950
|
if (!normalizedUser) return jsx(ApplicationLoader, {});
|
|
954
951
|
if (!previousProjectKey) return jsx(RedirectToProjectCreate, {});
|
|
955
952
|
return jsx(Redirect, {
|
|
956
|
-
to:
|
|
953
|
+
to: `/${previousProjectKey}`
|
|
957
954
|
});
|
|
958
955
|
})()
|
|
959
956
|
}), jsx(Route, {
|
|
@@ -1129,37 +1126,31 @@ const withoutProjectKeyClaim = scope => {
|
|
|
1129
1126
|
return _filterInstanceProperty(_context = scope.split(' ')).call(_context, claim => !_startsWithInstanceProperty(claim).call(claim, OIDC_CLAIMS.PROJECT_KEY)).join(' ');
|
|
1130
1127
|
};
|
|
1131
1128
|
const hasCachedAuthenticationState = () => {
|
|
1132
|
-
|
|
1133
|
-
if ((_window$app$__DEVELOP = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP !== void 0 && (_window$app$__DEVELOP = _window$app$__DEVELOP.oidc) !== null && _window$app$__DEVELOP !== void 0 && _window$app$__DEVELOP.authorizeUrl) {
|
|
1129
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
1134
1130
|
try {
|
|
1135
|
-
var _window$app$__DEVELOP8, _window$app$__DEVELOP9, _window$app$__DEVELOP0, _window$app$__DEVELOP1;
|
|
1136
1131
|
let activeProjectKey = oidcStorage.getActiveProjectKey();
|
|
1137
1132
|
if (activeProjectKey) {
|
|
1138
|
-
var _window$app$__DEVELOP2, _window$app$__DEVELOP3, _window$app$__DEVELOP4;
|
|
1139
1133
|
// GIVEN The application is not requesting a project key,
|
|
1140
1134
|
// THEN we assume that the application does not need a project context.
|
|
1141
1135
|
// GIVEN The application is not requesting a project key,
|
|
1142
1136
|
// THEN we remove the cached project key.
|
|
1143
1137
|
// This is the case of an application like `account`.
|
|
1144
|
-
if (!
|
|
1138
|
+
if (!window.app.__DEVELOPMENT__?.oidc?.initialProjectKey) {
|
|
1145
1139
|
oidcStorage.removeActiveProjectKey();
|
|
1146
1140
|
}
|
|
1147
1141
|
|
|
1148
1142
|
// If the project key we had in the storage does not match the one
|
|
1149
1143
|
// we have in the development config, then we need to discard it and
|
|
1150
1144
|
// use the one from the development config.
|
|
1151
|
-
if (
|
|
1152
|
-
|
|
1153
|
-
activeProjectKey = (_window$app$__DEVELOP5 = window.app.__DEVELOPMENT__) === null || _window$app$__DEVELOP5 === void 0 || (_window$app$__DEVELOP5 = _window$app$__DEVELOP5.oidc) === null || _window$app$__DEVELOP5 === void 0 ? void 0 : _window$app$__DEVELOP5.initialProjectKey;
|
|
1145
|
+
if (window.app.__DEVELOPMENT__?.oidc?.initialProjectKey && window.app.__DEVELOPMENT__?.oidc?.initialProjectKey !== activeProjectKey) {
|
|
1146
|
+
activeProjectKey = window.app.__DEVELOPMENT__?.oidc?.initialProjectKey;
|
|
1154
1147
|
oidcStorage.setActiveProjectKey(activeProjectKey);
|
|
1155
1148
|
}
|
|
1156
1149
|
} else {
|
|
1157
|
-
|
|
1158
|
-
if ((_window$app$__DEVELOP6 = window.app.__DEVELOPMENT__) !== null && _window$app$__DEVELOP6 !== void 0 && (_window$app$__DEVELOP6 = _window$app$__DEVELOP6.oidc) !== null && _window$app$__DEVELOP6 !== void 0 && _window$app$__DEVELOP6.initialProjectKey) {
|
|
1159
|
-
var _window$app$__DEVELOP7;
|
|
1150
|
+
if (window.app.__DEVELOPMENT__?.oidc?.initialProjectKey) {
|
|
1160
1151
|
// Here we store the initial project key in local storage,
|
|
1161
1152
|
// so that it gets picked up when we initiate the login flow.
|
|
1162
|
-
oidcStorage.setActiveProjectKey(
|
|
1153
|
+
oidcStorage.setActiveProjectKey(window.app.__DEVELOPMENT__?.oidc?.initialProjectKey);
|
|
1163
1154
|
}
|
|
1164
1155
|
}
|
|
1165
1156
|
|
|
@@ -1174,11 +1165,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1174
1165
|
}
|
|
1175
1166
|
// Rebuild the requested OIDC scope to verify that it didn't change.
|
|
1176
1167
|
const requestedScope = buildOidcScope({
|
|
1177
|
-
projectKey: activeProjectKey
|
|
1178
|
-
oAuthScopes:
|
|
1179
|
-
additionalOAuthScopes:
|
|
1180
|
-
teamId:
|
|
1181
|
-
applicationId:
|
|
1168
|
+
projectKey: activeProjectKey ?? undefined,
|
|
1169
|
+
oAuthScopes: window.app.__DEVELOPMENT__?.oidc?.oAuthScopes,
|
|
1170
|
+
additionalOAuthScopes: window.app.__DEVELOPMENT__?.oidc?.additionalOAuthScopes,
|
|
1171
|
+
teamId: window.app.__DEVELOPMENT__?.oidc?.teamId,
|
|
1172
|
+
applicationId: window.app.__DEVELOPMENT__?.oidc?.applicationId
|
|
1182
1173
|
});
|
|
1183
1174
|
// Omit the project key from the check. This allows to switch projects
|
|
1184
1175
|
// without having to log in again.
|
|
@@ -1196,12 +1187,11 @@ const hasCachedAuthenticationState = () => {
|
|
|
1196
1187
|
return window.localStorage.getItem(STORAGE_KEYS.IS_AUTHENTICATED) === 'true';
|
|
1197
1188
|
};
|
|
1198
1189
|
|
|
1199
|
-
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-
|
|
1190
|
+
const OidcCallback = /*#__PURE__*/lazy(() => import('./oidc-callback-39ea9b04.esm.js' /* webpackChunkName: "oidc-callback" */));
|
|
1200
1191
|
|
|
1201
1192
|
function ownKeys$4(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1202
1193
|
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1203
1194
|
const Authenticated = props => {
|
|
1204
|
-
var _window$app$__DEVELOP;
|
|
1205
1195
|
// We attempt to see if the user was already authenticated by looking
|
|
1206
1196
|
// at the "cached" flag in local storage.
|
|
1207
1197
|
const cachedAuthenticationState = hasCachedAuthenticationState();
|
|
@@ -1215,7 +1205,7 @@ const Authenticated = props => {
|
|
|
1215
1205
|
|
|
1216
1206
|
// When using the OIDC workflow, we always return false, to trigger
|
|
1217
1207
|
// the redirect to the login page.
|
|
1218
|
-
if (
|
|
1208
|
+
if (window.app.__DEVELOPMENT__?.oidc?.authorizeUrl) {
|
|
1219
1209
|
return jsx(Fragment, {
|
|
1220
1210
|
children: props.render({
|
|
1221
1211
|
isAuthenticated: false
|
|
@@ -1229,13 +1219,13 @@ const Authenticated = props => {
|
|
|
1229
1219
|
Authenticated.displayName = 'Authenticated';
|
|
1230
1220
|
const AuthenticationRoutes = props => jsxs(Switch, {
|
|
1231
1221
|
children: [jsx(SuspendedRoute, {
|
|
1232
|
-
path:
|
|
1222
|
+
path: `/account/oidc/callback`,
|
|
1233
1223
|
children: jsx(OidcCallback, {
|
|
1234
1224
|
locale: props.locale,
|
|
1235
1225
|
applicationMessages: props.applicationMessages
|
|
1236
1226
|
})
|
|
1237
1227
|
}), jsx(SuspendedRoute, {
|
|
1238
|
-
path:
|
|
1228
|
+
path: `/:projectKey/:identifier/oidc/callback`,
|
|
1239
1229
|
children: jsx(OidcCallback, {
|
|
1240
1230
|
locale: props.locale,
|
|
1241
1231
|
applicationMessages: props.applicationMessages
|
|
@@ -1348,10 +1338,7 @@ const useCoercedEnvironmentValues = environment => {
|
|
|
1348
1338
|
};
|
|
1349
1339
|
|
|
1350
1340
|
const ApplicationShellProvider = props => {
|
|
1351
|
-
const apolloClient = useMemo(() =>
|
|
1352
|
-
var _props$apolloClient;
|
|
1353
|
-
return (_props$apolloClient = props.apolloClient) !== null && _props$apolloClient !== void 0 ? _props$apolloClient : createApolloClient();
|
|
1354
|
-
}, [props.apolloClient]);
|
|
1341
|
+
const apolloClient = useMemo(() => props.apolloClient ?? createApolloClient(), [props.apolloClient]);
|
|
1355
1342
|
useEffect(() => {
|
|
1356
1343
|
setCachedApolloClient(apolloClient);
|
|
1357
1344
|
}, [apolloClient]);
|
|
@@ -1402,7 +1389,7 @@ const ApplicationShellProvider = props => {
|
|
|
1402
1389
|
};
|
|
1403
1390
|
ApplicationShellProvider.displayName = 'ApplicationShellProvider';
|
|
1404
1391
|
|
|
1405
|
-
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-
|
|
1392
|
+
const RedirectToLogin = /*#__PURE__*/lazy(() => import('./redirect-to-login-2944c890.esm.js' /* webpackChunkName: "redirect-to-login" */));
|
|
1406
1393
|
|
|
1407
1394
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
1408
1395
|
const styles = process.env.NODE_ENV === "production" ? {
|
|
@@ -1430,8 +1417,7 @@ const StrictModeEnablement$1 = props => {
|
|
|
1430
1417
|
};
|
|
1431
1418
|
const ApplicationShell = props => {
|
|
1432
1419
|
useEffect(() => {
|
|
1433
|
-
|
|
1434
|
-
(_props$onRegisterErro = props.onRegisterErrorListeners) === null || _props$onRegisterErro === void 0 || _props$onRegisterErro.call(props, {
|
|
1420
|
+
props.onRegisterErrorListeners?.({
|
|
1435
1421
|
dispatch: internalReduxStore.dispatch
|
|
1436
1422
|
});
|
|
1437
1423
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1471,18 +1457,14 @@ const ApplicationShell = props => {
|
|
|
1471
1457
|
ApplicationShell.displayName = 'ApplicationShell';
|
|
1472
1458
|
ApplicationShell.version = version;
|
|
1473
1459
|
|
|
1474
|
-
const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-
|
|
1460
|
+
const CustomViewDevHost = /*#__PURE__*/lazy(() => import('./custom-view-dev-host-c47927c7.esm.js' /* webpackChunkName: "custom-view-dev-host" */));
|
|
1475
1461
|
|
|
1476
1462
|
function CustomViewFlopFlipProvider(props) {
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
key: (_props$user = props.user) === null || _props$user === void 0 ? void 0 : _props$user.id
|
|
1483
|
-
}
|
|
1484
|
-
};
|
|
1485
|
-
}, [(_props$user2 = props.user) === null || _props$user2 === void 0 ? void 0 : _props$user2.id]);
|
|
1463
|
+
const adapterArgs = useMemo(() => ({
|
|
1464
|
+
user: {
|
|
1465
|
+
key: props.user?.id
|
|
1466
|
+
}
|
|
1467
|
+
}), [props.user?.id]);
|
|
1486
1468
|
return jsx(ConfigureFlopFlip, {
|
|
1487
1469
|
adapter: adapter$3,
|
|
1488
1470
|
defaultFlags: _flagsInstanceProperty(props),
|
|
@@ -1518,7 +1500,7 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1518
1500
|
return jsx(ApplicationLoader, {});
|
|
1519
1501
|
}
|
|
1520
1502
|
return jsx(AsyncLocaleData, {
|
|
1521
|
-
locale:
|
|
1503
|
+
locale: user?.language || browserLocale,
|
|
1522
1504
|
applicationMessages: props.messages,
|
|
1523
1505
|
children: _ref2 => {
|
|
1524
1506
|
let isLoadingLocaleData = _ref2.isLoading,
|
|
@@ -1581,15 +1563,15 @@ function CustomViewShellAuthenticated(props) {
|
|
|
1581
1563
|
const customViewsThemesOverrides = {
|
|
1582
1564
|
default: {
|
|
1583
1565
|
marginForCustomViewsSelectorAsTabular: '0',
|
|
1584
|
-
marginForPageContent:
|
|
1585
|
-
paddingForDetailPageHeader:
|
|
1566
|
+
marginForPageContent: `${designTokens.spacing50} 0`,
|
|
1567
|
+
paddingForDetailPageHeader: `0 0 ${designTokens.spacing40} 0`,
|
|
1586
1568
|
paddingForMainPageHeader: '0',
|
|
1587
1569
|
paddingForTabularPageHeader: '0'
|
|
1588
1570
|
}
|
|
1589
1571
|
};
|
|
1590
1572
|
|
|
1591
1573
|
function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1592
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1574
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys$1(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys$1(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1593
1575
|
const browserLocale = getBrowserLocale(window);
|
|
1594
1576
|
function NotificationsContainer(props) {
|
|
1595
1577
|
return jsxs(Fragment, {
|
|
@@ -1649,7 +1631,6 @@ function CustomViewThemeProvider() {
|
|
|
1649
1631
|
*/
|
|
1650
1632
|
const isLocalProdMode = process.env.NODE_ENV === 'production' && window.app.env === 'development';
|
|
1651
1633
|
function CustomViewShell(props) {
|
|
1652
|
-
var _window$app$__DEVELOP;
|
|
1653
1634
|
const _useState = useState(),
|
|
1654
1635
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1655
1636
|
hostContext = _useState2[0],
|
|
@@ -1665,21 +1646,20 @@ function CustomViewShell(props) {
|
|
|
1665
1646
|
if (event.data.eventName === CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_INITIALIZATION) {
|
|
1666
1647
|
setHostContext(event.data.eventData.context);
|
|
1667
1648
|
} else {
|
|
1668
|
-
console.warn(
|
|
1649
|
+
console.warn(`CustomViewShell: Unknown received event with name: ${event.data.eventName}`, {
|
|
1669
1650
|
event
|
|
1670
1651
|
});
|
|
1671
1652
|
}
|
|
1672
1653
|
}, []);
|
|
1673
1654
|
const handleClose = useCallback(() => {
|
|
1674
|
-
|
|
1675
|
-
(_iFrameCommunicationP = iFrameCommunicationPort.current) === null || _iFrameCommunicationP === void 0 || _iFrameCommunicationP.postMessage({
|
|
1655
|
+
iFrameCommunicationPort.current?.postMessage({
|
|
1676
1656
|
origin: window.location.origin,
|
|
1677
|
-
source:
|
|
1657
|
+
source: `${CUSTOM_VIEWS_EVENTS_META.CUSTOM_VIEW_KEY_PREFIX}${hostContext?.customViewConfig.id}`,
|
|
1678
1658
|
destination: CUSTOM_VIEWS_EVENTS_META.HOST_APPLICATION_CODE,
|
|
1679
1659
|
eventName: CUSTOM_VIEWS_EVENTS_NAMES.CUSTOM_VIEW_CLOSE,
|
|
1680
1660
|
eventData: {}
|
|
1681
1661
|
});
|
|
1682
|
-
}, [hostContext
|
|
1662
|
+
}, [hostContext?.customViewConfig.id]);
|
|
1683
1663
|
useEffect(() => {
|
|
1684
1664
|
const bootstrapMessageHandler = event => {
|
|
1685
1665
|
if ((event.origin === window.location.origin ||
|
|
@@ -1711,8 +1691,7 @@ function CustomViewShell(props) {
|
|
|
1711
1691
|
useEffect(() => {
|
|
1712
1692
|
// Close the channel when the component unmounts
|
|
1713
1693
|
return () => {
|
|
1714
|
-
|
|
1715
|
-
(_iFrameCommunicationP2 = iFrameCommunicationPort.current) === null || _iFrameCommunicationP2 === void 0 || _iFrameCommunicationP2.close();
|
|
1694
|
+
iFrameCommunicationPort.current?.close();
|
|
1716
1695
|
iFrameCommunicationPort.current = undefined;
|
|
1717
1696
|
};
|
|
1718
1697
|
}, []);
|
|
@@ -1721,7 +1700,7 @@ function CustomViewShell(props) {
|
|
|
1721
1700
|
showLogo: true
|
|
1722
1701
|
});
|
|
1723
1702
|
}
|
|
1724
|
-
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ?
|
|
1703
|
+
const hostUrl = process.env.NODE_ENV === 'development' || isLocalProdMode ? window.app.__DEVELOPMENT__?.customViewHostUrl : hostContext.hostUrl;
|
|
1725
1704
|
return jsxs(Fragment, {
|
|
1726
1705
|
children: [jsx(GlobalStyles, {}), jsx(ApplicationShellProvider, {
|
|
1727
1706
|
environment: window.app,
|
|
@@ -1730,7 +1709,6 @@ function CustomViewShell(props) {
|
|
|
1730
1709
|
children: _ref => {
|
|
1731
1710
|
let isAuthenticated = _ref.isAuthenticated;
|
|
1732
1711
|
if (isAuthenticated) {
|
|
1733
|
-
var _context2;
|
|
1734
1712
|
return jsx(CustomViewContextProvider, {
|
|
1735
1713
|
hostUrl: hostUrl,
|
|
1736
1714
|
customViewConfig: hostContext.customViewConfig,
|
|
@@ -1749,7 +1727,7 @@ function CustomViewShell(props) {
|
|
|
1749
1727
|
notificationsGlobalRef: notificationsGlobalRef,
|
|
1750
1728
|
notificationsPageRef: notificationsPageRef
|
|
1751
1729
|
}), jsxs(Route, {
|
|
1752
|
-
path:
|
|
1730
|
+
path: `/custom-views/${hostContext.customViewConfig.id}/projects/${hostContext.projectKey}`,
|
|
1753
1731
|
children: [jsx(ModalPageTopBar, {
|
|
1754
1732
|
onClose: handleClose,
|
|
1755
1733
|
hidePathLabel: true
|
|
@@ -1888,7 +1866,7 @@ function setupGlobalErrorListener() {
|
|
|
1888
1866
|
}
|
|
1889
1867
|
|
|
1890
1868
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1891
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1869
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1892
1870
|
|
|
1893
1871
|
/**
|
|
1894
1872
|
* The route path to match. Usually it starts with `/:projectKey/my-entry-point`.
|
|
@@ -1898,8 +1876,7 @@ const makeRoute = (routePath, routeOptions) => {
|
|
|
1898
1876
|
const getUrl = (nextParams, nextQueryParams) => {
|
|
1899
1877
|
const baseUrl = generatePath(routePath, _objectSpread(_objectSpread({}, routeOptions.params), nextParams));
|
|
1900
1878
|
if (nextQueryParams) {
|
|
1901
|
-
|
|
1902
|
-
return _concatInstanceProperty(_context = "".concat(baseUrl, "?")).call(_context, nextQueryParams.toString());
|
|
1879
|
+
return `${baseUrl}?${nextQueryParams.toString()}`;
|
|
1903
1880
|
}
|
|
1904
1881
|
return baseUrl;
|
|
1905
1882
|
};
|