diff --git a/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx b/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx index 01d1ddbc0..fff9fc324 100644 --- a/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx +++ b/src/siteSettings/components/SiteSettingsPage/SiteSettingsPage.tsx @@ -45,7 +45,7 @@ export interface SiteSettingsPageFormData export interface SiteSettingsPageProps { disabled: boolean; errors: ShopErrorFragment[]; - shop: SiteSettingsQuery["shop"]; + shop?: SiteSettingsQuery["shop"]; saveButtonBarState: ConfirmButtonTransitionState; onSubmit: (data: SiteSettingsPageFormData) => SubmitPromise; } @@ -107,10 +107,11 @@ const SiteSettingsPage: React.FC = props => { const initialForm: SiteSettingsPageFormData = { ...initialFormAddress, description: shop?.description || "", - reserveStockDurationAnonymousUser: shop?.reserveStockDurationAnonymousUser, + reserveStockDurationAnonymousUser: + shop?.reserveStockDurationAnonymousUser ?? 0, reserveStockDurationAuthenticatedUser: - shop?.reserveStockDurationAuthenticatedUser, - limitQuantityPerCheckout: shop?.limitQuantityPerCheckout, + shop?.reserveStockDurationAuthenticatedUser ?? 0, + limitQuantityPerCheckout: shop?.limitQuantityPerCheckout ?? 0, }; return ( @@ -179,7 +180,7 @@ const SiteSettingsPage: React.FC = props => { navigate(configurationMenuUrl)} onSubmit={submit} /> diff --git a/src/siteSettings/fixtures.ts b/src/siteSettings/fixtures.ts index 21dabe0de..78441071a 100644 --- a/src/siteSettings/fixtures.ts +++ b/src/siteSettings/fixtures.ts @@ -12,14 +12,14 @@ export const shop: SiteSettingsQuery["shop"] = { code: "UA", country: "United Arab Emirates", }, - countryArea: null, - firstName: null, + countryArea: "", + firstName: "", id: "1", - lastName: null, + lastName: "", phone: "+41 876-373-9137", postalCode: "89880-6342", streetAddress1: "01419 Bernhard Plain", - streetAddress2: null, + streetAddress2: "s", }, countries: [ { diff --git a/src/siteSettings/index.tsx b/src/siteSettings/index.tsx index 195e46012..134313ba4 100644 --- a/src/siteSettings/index.tsx +++ b/src/siteSettings/index.tsx @@ -6,8 +6,7 @@ import { siteSettingsPath, SiteSettingsUrlQueryParams } from "./urls"; import SiteSettingsComponent from "./views/"; const SiteSettings: React.FC> = ({ location }) => { - const qs = parseQs(location.search.substr(1)); - const params: SiteSettingsUrlQueryParams = qs; + const params: SiteSettingsUrlQueryParams = parseQs(location.search.slice(1)); return ; }; diff --git a/src/siteSettings/urls.ts b/src/siteSettings/urls.ts index 1922e2aeb..3bd3f40c7 100644 --- a/src/siteSettings/urls.ts +++ b/src/siteSettings/urls.ts @@ -8,4 +8,4 @@ export const siteSettingsPath = siteSettingsSection; export type SiteSettingsUrlDialog = "add-key"; export type SiteSettingsUrlQueryParams = Dialog; export const siteSettingsUrl = (params?: SiteSettingsUrlQueryParams) => - siteSettingsPath + "?" + stringifyQs(params); + `${siteSettingsPath}?${stringifyQs(params)}`; diff --git a/src/siteSettings/views/index.tsx b/src/siteSettings/views/index.tsx index ca668078a..f58f06731 100644 --- a/src/siteSettings/views/index.tsx +++ b/src/siteSettings/views/index.tsx @@ -34,8 +34,10 @@ export const SiteSettings: React.FC = () => { ] = useShopSettingsUpdateMutation({ onCompleted: data => { if ( - [...data.shopAddressUpdate.errors, ...data.shopSettingsUpdate.errors] - .length === 0 + [ + ...(data?.shopAddressUpdate?.errors || []), + ...(data?.shopSettingsUpdate?.errors || []), + ].length === 0 ) { notify({ status: "success", @@ -46,8 +48,8 @@ export const SiteSettings: React.FC = () => { }); const errors = [ - ...(updateShopSettingsOpts.data?.shopSettingsUpdate.errors || []), - ...(updateShopSettingsOpts.data?.shopAddressUpdate.errors || []), + ...(updateShopSettingsOpts.data?.shopSettingsUpdate?.errors || []), + ...(updateShopSettingsOpts.data?.shopAddressUpdate?.errors || []), ]; const loading = siteSettings.loading || updateShopSettingsOpts.loading;