App adjustments (#1385)
* Use shop domain as backendHost, guard domain changes on cloud instances * Update messages and snapshots * Remove unused prop
This commit is contained in:
parent
cda3cfa4c0
commit
dbaed5478a
17 changed files with 61 additions and 65 deletions
1
.github/workflows/deploy-prod.yaml
vendored
1
.github/workflows/deploy-prod.yaml
vendored
|
@ -25,6 +25,7 @@ jobs:
|
||||||
ENVIRONMENT: ${{ github.event.inputs.service_name }}
|
ENVIRONMENT: ${{ github.event.inputs.service_name }}
|
||||||
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
IS_CLOUD_INSTANCE: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
|
|
1
.github/workflows/deploy-staging.yaml
vendored
1
.github/workflows/deploy-staging.yaml
vendored
|
@ -24,6 +24,7 @@ jobs:
|
||||||
SENTRY_URL_PREFIX: "~/dashboard/static"
|
SENTRY_URL_PREFIX: "~/dashboard/static"
|
||||||
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
|
IS_CLOUD_INSTANCE: true
|
||||||
steps:
|
steps:
|
||||||
- name: Set env variables
|
- name: Set env variables
|
||||||
run: |
|
run: |
|
||||||
|
|
1
.github/workflows/test-env-deploy.yml
vendored
1
.github/workflows/test-env-deploy.yml
vendored
|
@ -62,6 +62,7 @@ jobs:
|
||||||
API_URI: ${{ steps.api_uri.outputs.custom_api_uri || 'https://qa.staging.saleor.cloud/graphql/' }}
|
API_URI: ${{ steps.api_uri.outputs.custom_api_uri || 'https://qa.staging.saleor.cloud/graphql/' }}
|
||||||
APP_MOUNT_URI: /
|
APP_MOUNT_URI: /
|
||||||
STATIC_URL: /
|
STATIC_URL: /
|
||||||
|
IS_CLOUD_INSTANCE: true
|
||||||
run: |
|
run: |
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
|
|
|
@ -6726,14 +6726,14 @@
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_1008586926": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_1008586926": {
|
||||||
"string": "Name of your store is shown on tab in web browser"
|
"string": "Name of your store is shown on tab in web browser"
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_1987367127": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_1170194728": {
|
||||||
"string": "Store Description"
|
"string": "Store domain"
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_2286355060": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_2286355060": {
|
||||||
"string": "Name of your store"
|
"string": "Name of your store"
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_3808773492": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_3868874271": {
|
||||||
"string": "URL of your online store"
|
"string": "Store description"
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_529433178": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsDetails_dot_529433178": {
|
||||||
"string": "Store description is shown on taskbar after your store name"
|
"string": "Store description is shown on taskbar after your store name"
|
||||||
|
|
|
@ -8,7 +8,6 @@ import AppDetailsSettingsPage, {
|
||||||
} from "./AppDetailsSettingsPage";
|
} from "./AppDetailsSettingsPage";
|
||||||
|
|
||||||
const props: AppDetailsSettingsPageProps = {
|
const props: AppDetailsSettingsPageProps = {
|
||||||
backendHost: "host",
|
|
||||||
data: appDetails,
|
data: appDetails,
|
||||||
navigateToDashboard: () => undefined,
|
navigateToDashboard: () => undefined,
|
||||||
onBack: () => undefined,
|
onBack: () => undefined,
|
||||||
|
|
|
@ -5,7 +5,6 @@ import Grid from "@saleor/components/Grid";
|
||||||
import Hr from "@saleor/components/Hr";
|
import Hr from "@saleor/components/Hr";
|
||||||
import { sectionNames } from "@saleor/intl";
|
import { sectionNames } from "@saleor/intl";
|
||||||
import { Backlink } from "@saleor/macaw-ui";
|
import { Backlink } from "@saleor/macaw-ui";
|
||||||
import { useTheme } from "@saleor/macaw-ui";
|
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import { FormattedMessage, useIntl } from "react-intl";
|
||||||
|
@ -16,7 +15,6 @@ import { useStyles } from "./styles";
|
||||||
import useSettingsBreadcrumbs from "./useSettingsBreadcrumbs";
|
import useSettingsBreadcrumbs from "./useSettingsBreadcrumbs";
|
||||||
|
|
||||||
export interface AppDetailsSettingsPageProps {
|
export interface AppDetailsSettingsPageProps {
|
||||||
backendHost: string;
|
|
||||||
data: App_app;
|
data: App_app;
|
||||||
navigateToDashboard: () => void;
|
navigateToDashboard: () => void;
|
||||||
onBack: () => void;
|
onBack: () => void;
|
||||||
|
@ -24,7 +22,6 @@ export interface AppDetailsSettingsPageProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const AppDetailsSettingsPage: React.FC<AppDetailsSettingsPageProps> = ({
|
export const AppDetailsSettingsPage: React.FC<AppDetailsSettingsPageProps> = ({
|
||||||
backendHost,
|
|
||||||
data,
|
data,
|
||||||
navigateToDashboard,
|
navigateToDashboard,
|
||||||
onBack,
|
onBack,
|
||||||
|
@ -33,7 +30,6 @@ export const AppDetailsSettingsPage: React.FC<AppDetailsSettingsPageProps> = ({
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const classes = useStyles({});
|
const classes = useStyles({});
|
||||||
const [breadcrumbs, onBreadcrumbClick] = useSettingsBreadcrumbs();
|
const [breadcrumbs, onBreadcrumbClick] = useSettingsBreadcrumbs();
|
||||||
const { sendThemeToExtension } = useTheme();
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
|
@ -104,9 +100,7 @@ export const AppDetailsSettingsPage: React.FC<AppDetailsSettingsPageProps> = ({
|
||||||
{data && (
|
{data && (
|
||||||
<AppFrame
|
<AppFrame
|
||||||
src={data.configurationUrl}
|
src={data.configurationUrl}
|
||||||
backendHost={backendHost}
|
|
||||||
appToken={data.accessToken}
|
appToken={data.accessToken}
|
||||||
onLoad={sendThemeToExtension}
|
|
||||||
onError={onError}
|
onError={onError}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import useShop from "@saleor/hooks/useShop";
|
||||||
import { useTheme } from "@saleor/macaw-ui";
|
import { useTheme } from "@saleor/macaw-ui";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import urlJoin from "url-join";
|
import urlJoin from "url-join";
|
||||||
|
@ -8,7 +9,6 @@ import { useAppActions } from "./useAppActions";
|
||||||
interface Props {
|
interface Props {
|
||||||
src: string;
|
src: string;
|
||||||
appToken: string;
|
appToken: string;
|
||||||
backendHost: string;
|
|
||||||
onLoad?(): void;
|
onLoad?(): void;
|
||||||
onError?(): void;
|
onError?(): void;
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,10 @@ const getOrigin = (url: string) => new URL(url).origin;
|
||||||
export const AppFrame: React.FC<Props> = ({
|
export const AppFrame: React.FC<Props> = ({
|
||||||
src,
|
src,
|
||||||
appToken,
|
appToken,
|
||||||
backendHost,
|
|
||||||
onLoad,
|
onLoad,
|
||||||
onError
|
onError
|
||||||
}) => {
|
}) => {
|
||||||
|
const shop = useShop();
|
||||||
const frameRef = React.useRef<HTMLIFrameElement>();
|
const frameRef = React.useRef<HTMLIFrameElement>();
|
||||||
const { sendThemeToExtension } = useTheme();
|
const { sendThemeToExtension } = useTheme();
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
|
@ -43,10 +43,14 @@ export const AppFrame: React.FC<Props> = ({
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!shop?.domain.host) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<iframe
|
<iframe
|
||||||
ref={frameRef}
|
ref={frameRef}
|
||||||
src={urlJoin(src, `?domain=${backendHost}`)}
|
src={urlJoin(src, `?domain=${shop.domain.host}`)}
|
||||||
onError={onError}
|
onError={onError}
|
||||||
onLoad={handleLoad}
|
onLoad={handleLoad}
|
||||||
className={classes.iframe}
|
className={classes.iframe}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import { AppFrame } from "../AppFrame";
|
||||||
export interface AppData {
|
export interface AppData {
|
||||||
appToken: string;
|
appToken: string;
|
||||||
src: string;
|
src: string;
|
||||||
backendUrl: string;
|
|
||||||
label: string;
|
label: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,11 +30,7 @@ export const ExternalAppProvider: React.FC = ({ children }) => {
|
||||||
{children}
|
{children}
|
||||||
<AppDialog open={open} onClose={handleClose} title={appData?.label}>
|
<AppDialog open={open} onClose={handleClose} title={appData?.label}>
|
||||||
{open && appData && (
|
{open && appData && (
|
||||||
<AppFrame
|
<AppFrame src={appData.src} appToken={appData.appToken} />
|
||||||
src={appData.src}
|
|
||||||
appToken={appData.appToken}
|
|
||||||
backendHost={appData.backendUrl}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</AppDialog>
|
</AppDialog>
|
||||||
</ExternalAppContext.Provider>
|
</ExternalAppContext.Provider>
|
||||||
|
|
|
@ -30,8 +30,7 @@ const filterAndMapToTarget = (
|
||||||
accessToken,
|
accessToken,
|
||||||
url,
|
url,
|
||||||
label,
|
label,
|
||||||
open: () =>
|
open: () => openApp({ appToken: accessToken, src: url, label })
|
||||||
openApp({ appToken: accessToken, backendUrl: url, src: url, label })
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const mapToMenuItems = (extensions: Extension[]) =>
|
export const mapToMenuItems = (extensions: Extension[]) =>
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import useNavigator from "@saleor/hooks/useNavigator";
|
import useNavigator from "@saleor/hooks/useNavigator";
|
||||||
import useNotifier from "@saleor/hooks/useNotifier";
|
import useNotifier from "@saleor/hooks/useNotifier";
|
||||||
import useShop from "@saleor/hooks/useShop";
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useIntl } from "react-intl";
|
import { useIntl } from "react-intl";
|
||||||
|
|
||||||
|
@ -15,7 +14,6 @@ interface AppDetailsSetttingsProps {
|
||||||
export const AppDetailsSettings: React.FC<AppDetailsSetttingsProps> = ({
|
export const AppDetailsSettings: React.FC<AppDetailsSetttingsProps> = ({
|
||||||
id
|
id
|
||||||
}) => {
|
}) => {
|
||||||
const shop = useShop();
|
|
||||||
const { data } = useAppDetails({
|
const { data } = useAppDetails({
|
||||||
displayLoader: true,
|
displayLoader: true,
|
||||||
variables: { id }
|
variables: { id }
|
||||||
|
@ -26,7 +24,6 @@ export const AppDetailsSettings: React.FC<AppDetailsSetttingsProps> = ({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AppDetailsSettingsPage
|
<AppDetailsSettingsPage
|
||||||
backendHost={shop?.domain.host}
|
|
||||||
data={data?.app}
|
data={data?.app}
|
||||||
navigateToDashboard={() => navigate(appUrl(id))}
|
navigateToDashboard={() => navigate(appUrl(id))}
|
||||||
onBack={() => navigate(appsListPath)}
|
onBack={() => navigate(appsListPath)}
|
||||||
|
|
|
@ -6,6 +6,7 @@ export const APP_MOUNT_URI = process.env.APP_MOUNT_URI;
|
||||||
export const APP_DEFAULT_URI = "/";
|
export const APP_DEFAULT_URI = "/";
|
||||||
export const API_URI = process.env.API_URI;
|
export const API_URI = process.env.API_URI;
|
||||||
export const SW_INTERVAL = parseInt(process.env.SW_INTERVAL, 0);
|
export const SW_INTERVAL = parseInt(process.env.SW_INTERVAL, 0);
|
||||||
|
export const IS_CLOUD_INSTANCE = process.env.IS_CLOUD_INSTANCE === "true";
|
||||||
|
|
||||||
export const DEFAULT_INITIAL_SEARCH_DATA: SearchVariables = {
|
export const DEFAULT_INITIAL_SEARCH_DATA: SearchVariables = {
|
||||||
after: null,
|
after: null,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { Card, CardContent, TextField } from "@material-ui/core";
|
import { Card, CardContent, TextField } from "@material-ui/core";
|
||||||
import CardTitle from "@saleor/components/CardTitle";
|
import CardTitle from "@saleor/components/CardTitle";
|
||||||
import FormSpacer from "@saleor/components/FormSpacer";
|
import FormSpacer from "@saleor/components/FormSpacer";
|
||||||
|
import { IS_CLOUD_INSTANCE } from "@saleor/config";
|
||||||
import { ShopErrorFragment } from "@saleor/fragments/types/ShopErrorFragment";
|
import { ShopErrorFragment } from "@saleor/fragments/types/ShopErrorFragment";
|
||||||
import { commonMessages } from "@saleor/intl";
|
import { commonMessages } from "@saleor/intl";
|
||||||
import { getFormErrors } from "@saleor/utils/errors";
|
import { getFormErrors } from "@saleor/utils/errors";
|
||||||
|
@ -63,12 +64,13 @@ const SiteSettingsDetails: React.FC<SiteSettingsDetailsProps> = ({
|
||||||
fullWidth
|
fullWidth
|
||||||
name="domain"
|
name="domain"
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "URL of your online store"
|
defaultMessage: "Store domain"
|
||||||
})}
|
})}
|
||||||
helperText={getShopErrorMessage(formErrors.domain, intl)}
|
helperText={getShopErrorMessage(formErrors.domain, intl)}
|
||||||
value={data.domain}
|
value={data.domain}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
InputProps={{
|
InputProps={{
|
||||||
|
readOnly: IS_CLOUD_INSTANCE,
|
||||||
inputProps: {
|
inputProps: {
|
||||||
autoComplete: "none"
|
autoComplete: "none"
|
||||||
}
|
}
|
||||||
|
@ -81,7 +83,7 @@ const SiteSettingsDetails: React.FC<SiteSettingsDetailsProps> = ({
|
||||||
fullWidth
|
fullWidth
|
||||||
name="description"
|
name="description"
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Store Description"
|
defaultMessage: "Store description"
|
||||||
})}
|
})}
|
||||||
helperText={
|
helperText={
|
||||||
getShopErrorMessage(formErrors.description, intl) ||
|
getShopErrorMessage(formErrors.description, intl) ||
|
||||||
|
|
|
@ -19,7 +19,6 @@ import { mapCountriesToChoices } from "@saleor/utils/maps";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import { FormattedMessage, useIntl } from "react-intl";
|
||||||
|
|
||||||
import { maybe } from "../../../misc";
|
|
||||||
import { SiteSettings_shop } from "../../types/SiteSettings";
|
import { SiteSettings_shop } from "../../types/SiteSettings";
|
||||||
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
||||||
|
|
||||||
|
@ -90,7 +89,7 @@ const SiteSettingsPage: React.FC<SiteSettingsPageProps> = props => {
|
||||||
const classes = useStyles(props);
|
const classes = useStyles(props);
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const [displayCountry, setDisplayCountry] = useStateFromProps(
|
const [displayCountry, setDisplayCountry] = useStateFromProps(
|
||||||
maybe(() => shop.companyAddress.country.code, "")
|
shop?.companyAddress?.country.code || ""
|
||||||
);
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
@ -99,20 +98,20 @@ const SiteSettingsPage: React.FC<SiteSettingsPageProps> = props => {
|
||||||
} = useAddressValidation(onSubmit);
|
} = useAddressValidation(onSubmit);
|
||||||
|
|
||||||
const initialFormAddress: SiteSettingsPageAddressFormData = {
|
const initialFormAddress: SiteSettingsPageAddressFormData = {
|
||||||
city: maybe(() => shop.companyAddress.city, ""),
|
city: shop?.companyAddress?.city || "",
|
||||||
companyName: maybe(() => shop.companyAddress.companyName, ""),
|
companyName: shop?.companyAddress?.companyName || "",
|
||||||
country: maybe(() => shop.companyAddress.country.code, ""),
|
country: shop?.companyAddress?.country.code || "",
|
||||||
countryArea: maybe(() => shop.companyAddress.countryArea, ""),
|
countryArea: shop?.companyAddress?.countryArea || "",
|
||||||
phone: maybe(() => shop.companyAddress.phone, ""),
|
phone: shop?.companyAddress?.phone || "",
|
||||||
postalCode: maybe(() => shop.companyAddress.postalCode, ""),
|
postalCode: shop?.companyAddress?.postalCode || "",
|
||||||
streetAddress1: maybe(() => shop.companyAddress.streetAddress1, ""),
|
streetAddress1: shop?.companyAddress?.streetAddress1 || "",
|
||||||
streetAddress2: maybe(() => shop.companyAddress.streetAddress2, "")
|
streetAddress2: shop?.companyAddress?.streetAddress2 || ""
|
||||||
};
|
};
|
||||||
const initialForm: SiteSettingsPageFormData = {
|
const initialForm: SiteSettingsPageFormData = {
|
||||||
...initialFormAddress,
|
...initialFormAddress,
|
||||||
description: maybe(() => shop.description, ""),
|
description: shop?.description || "",
|
||||||
domain: maybe(() => shop.domain.host, ""),
|
domain: shop?.domain.host || "",
|
||||||
name: maybe(() => shop.name, "")
|
name: shop?.name || ""
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { IS_CLOUD_INSTANCE } from "@saleor/config";
|
||||||
import { fragmentAddress } from "@saleor/fragments/address";
|
import { fragmentAddress } from "@saleor/fragments/address";
|
||||||
import { shopErrorFragment } from "@saleor/fragments/errors";
|
import { shopErrorFragment } from "@saleor/fragments/errors";
|
||||||
import { shopFragment } from "@saleor/fragments/shop";
|
import { shopFragment } from "@saleor/fragments/shop";
|
||||||
|
@ -26,7 +27,7 @@ const shopSettingsUpdate = gql`
|
||||||
...ShopFragment
|
...ShopFragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
shopDomainUpdate(input: $shopDomainInput) {
|
shopDomainUpdate(input: $shopDomainInput) @skip(if: ${IS_CLOUD_INSTANCE}) {
|
||||||
errors {
|
errors {
|
||||||
...ShopErrorFragment
|
...ShopErrorFragment
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,9 +28,11 @@ export const SiteSettings: React.FC<SiteSettingsProps> = () => {
|
||||||
|
|
||||||
const handleSiteSettingsSuccess = (data: ShopSettingsUpdate) => {
|
const handleSiteSettingsSuccess = (data: ShopSettingsUpdate) => {
|
||||||
if (
|
if (
|
||||||
data.shopDomainUpdate.errors.length === 0 &&
|
[
|
||||||
data.shopSettingsUpdate.errors.length === 0 &&
|
...data.shopAddressUpdate.errors,
|
||||||
data.shopAddressUpdate.errors.length === 0
|
...data.shopSettingsUpdate.errors,
|
||||||
|
...(data.shopDomainUpdate?.errors || [])
|
||||||
|
].length === 0
|
||||||
) {
|
) {
|
||||||
notify({
|
notify({
|
||||||
status: "success",
|
status: "success",
|
||||||
|
@ -45,7 +47,7 @@ export const SiteSettings: React.FC<SiteSettingsProps> = () => {
|
||||||
<TypedShopSettingsUpdate onCompleted={handleSiteSettingsSuccess}>
|
<TypedShopSettingsUpdate onCompleted={handleSiteSettingsSuccess}>
|
||||||
{(updateShopSettings, updateShopSettingsOpts) => {
|
{(updateShopSettings, updateShopSettingsOpts) => {
|
||||||
const errors = [
|
const errors = [
|
||||||
...(updateShopSettingsOpts.data?.shopDomainUpdate.errors || []),
|
...(updateShopSettingsOpts.data?.shopDomainUpdate?.errors || []),
|
||||||
...(updateShopSettingsOpts.data?.shopSettingsUpdate.errors || []),
|
...(updateShopSettingsOpts.data?.shopSettingsUpdate.errors || []),
|
||||||
...(updateShopSettingsOpts.data?.shopAddressUpdate.errors || [])
|
...(updateShopSettingsOpts.data?.shopAddressUpdate.errors || [])
|
||||||
];
|
];
|
||||||
|
@ -84,7 +86,7 @@ export const SiteSettings: React.FC<SiteSettingsProps> = () => {
|
||||||
|
|
||||||
return [
|
return [
|
||||||
...result.data.shopAddressUpdate.errors,
|
...result.data.shopAddressUpdate.errors,
|
||||||
...result.data.shopDomainUpdate.errors,
|
...(result.data.shopDomainUpdate?.errors || []),
|
||||||
...result.data.shopSettingsUpdate.errors
|
...result.data.shopSettingsUpdate.errors
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -23505,12 +23505,7 @@ exports[`Storyshots Views / Apps / App details settings default 1`] = `
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
class="AppDetailsSettingsPage-iframeContainer-id"
|
class="AppDetailsSettingsPage-iframeContainer-id"
|
||||||
>
|
/>
|
||||||
<iframe
|
|
||||||
class="AppFrame-iframe-id"
|
|
||||||
src="htpp://localhost:8888/configuration?domain=host"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
class="CardSpacer-spacer-id"
|
class="CardSpacer-spacer-id"
|
||||||
/>
|
/>
|
||||||
|
@ -246205,7 +246200,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
|
||||||
data-shrink="true"
|
data-shrink="true"
|
||||||
>
|
>
|
||||||
URL of your online store
|
Store domain
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -246226,7 +246221,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
URL of your online store
|
Store domain
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -246242,7 +246237,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
|
||||||
data-shrink="true"
|
data-shrink="true"
|
||||||
>
|
>
|
||||||
Store Description
|
Store description
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -246263,7 +246258,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
Store Description
|
Store description
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -246410,6 +246405,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
||||||
name="streetAddress2"
|
name="streetAddress2"
|
||||||
type="text"
|
type="text"
|
||||||
|
value=""
|
||||||
/>
|
/>
|
||||||
<fieldset
|
<fieldset
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
|
@ -246581,6 +246577,7 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
||||||
name="countryArea"
|
name="countryArea"
|
||||||
type="text"
|
type="text"
|
||||||
|
value=""
|
||||||
/>
|
/>
|
||||||
<fieldset
|
<fieldset
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
|
@ -246756,7 +246753,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id"
|
||||||
data-shrink="true"
|
data-shrink="true"
|
||||||
>
|
>
|
||||||
URL of your online store
|
Store domain
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -246777,7 +246774,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
URL of your online store
|
Store domain
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -246798,7 +246795,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id"
|
||||||
data-shrink="true"
|
data-shrink="true"
|
||||||
>
|
>
|
||||||
Store Description
|
Store description
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -246819,7 +246816,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
Store Description
|
Store description
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -246966,6 +246963,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
||||||
name="streetAddress2"
|
name="streetAddress2"
|
||||||
type="text"
|
type="text"
|
||||||
|
value=""
|
||||||
/>
|
/>
|
||||||
<fieldset
|
<fieldset
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
|
@ -247137,6 +247135,7 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
|
||||||
name="countryArea"
|
name="countryArea"
|
||||||
type="text"
|
type="text"
|
||||||
|
value=""
|
||||||
/>
|
/>
|
||||||
<fieldset
|
<fieldset
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
|
@ -247313,7 +247312,7 @@ exports[`Storyshots Views / Site settings / Page loading 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
|
||||||
data-shrink="false"
|
data-shrink="false"
|
||||||
>
|
>
|
||||||
URL of your online store
|
Store domain
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -247335,7 +247334,7 @@ exports[`Storyshots Views / Site settings / Page loading 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id"
|
class="PrivateNotchedOutline-legendLabelled-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
URL of your online store
|
Store domain
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -247351,7 +247350,7 @@ exports[`Storyshots Views / Site settings / Page loading 1`] = `
|
||||||
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
|
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
|
||||||
data-shrink="false"
|
data-shrink="false"
|
||||||
>
|
>
|
||||||
Store Description
|
Store description
|
||||||
</label>
|
</label>
|
||||||
<div
|
<div
|
||||||
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
|
||||||
|
@ -247373,7 +247372,7 @@ exports[`Storyshots Views / Site settings / Page loading 1`] = `
|
||||||
class="PrivateNotchedOutline-legendLabelled-id"
|
class="PrivateNotchedOutline-legendLabelled-id"
|
||||||
>
|
>
|
||||||
<span>
|
<span>
|
||||||
Store Description
|
Store description
|
||||||
</span>
|
</span>
|
||||||
</legend>
|
</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
|
@ -43,7 +43,8 @@ const environmentPlugin = new webpack.EnvironmentPlugin({
|
||||||
ENVIRONMENT: "",
|
ENVIRONMENT: "",
|
||||||
GTM_ID: "",
|
GTM_ID: "",
|
||||||
SENTRY_DSN: "",
|
SENTRY_DSN: "",
|
||||||
SW_INTERVAL: "300" // Fetch SW every 300 seconds
|
SW_INTERVAL: "300", // Fetch SW every 300 seconds
|
||||||
|
IS_CLOUD_INSTANCE: false
|
||||||
});
|
});
|
||||||
|
|
||||||
const dashboardBuildPath = "build/dashboard/";
|
const dashboardBuildPath = "build/dashboard/";
|
||||||
|
|
Loading…
Reference in a new issue