Drop authorization keys section (#913)
* Drop authorization keys section * Update translations * Update snapshots Co-authored-by: dominik-zeglen <flesz3@o2.pl>
This commit is contained in:
parent
0ad9d6f487
commit
71b4b329d8
63 changed files with 46658 additions and 20844 deletions
1591
locale/ar.json
1591
locale/ar.json
File diff suppressed because it is too large
Load diff
1591
locale/az.json
1591
locale/az.json
File diff suppressed because it is too large
Load diff
1591
locale/bg.json
1591
locale/bg.json
File diff suppressed because it is too large
Load diff
1591
locale/bn.json
1591
locale/bn.json
File diff suppressed because it is too large
Load diff
1595
locale/ca.json
1595
locale/ca.json
File diff suppressed because it is too large
Load diff
1591
locale/cs.json
1591
locale/cs.json
File diff suppressed because it is too large
Load diff
1595
locale/da.json
1595
locale/da.json
File diff suppressed because it is too large
Load diff
1591
locale/de.json
1591
locale/de.json
File diff suppressed because it is too large
Load diff
|
@ -5686,45 +5686,6 @@
|
||||||
"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"
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeyDialog_dot_1238948746": {
|
|
||||||
"context": "dialog header",
|
|
||||||
"string": "Add New Authorization Key"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeyDialog_dot_2237029987": {
|
|
||||||
"string": "Password"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeyDialog_dot_2446088470": {
|
|
||||||
"context": "authentication provider API key",
|
|
||||||
"string": "Key"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeyDialog_dot_3039841202": {
|
|
||||||
"context": "authentication provider name",
|
|
||||||
"string": "Authentication type"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeyDialog_dot_50561933": {
|
|
||||||
"context": "button",
|
|
||||||
"string": "Add authentication"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeys_dot_1114030884": {
|
|
||||||
"context": "button",
|
|
||||||
"string": "Add key"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeys_dot_1270286507": {
|
|
||||||
"context": "authentication provider name",
|
|
||||||
"string": "Authentication Type"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeys_dot_226491688": {
|
|
||||||
"context": "section header",
|
|
||||||
"string": "Authentication Keys"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeys_dot_2446088470": {
|
|
||||||
"context": "authentication provider API key",
|
|
||||||
"string": "Key"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsKeys_dot_3981699144": {
|
|
||||||
"context": "no authentication provider API keys",
|
|
||||||
"string": "No keys"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsMailing_dot_1124962330": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsMailing_dot_1124962330": {
|
||||||
"string": "Mailing email address"
|
"string": "Mailing email address"
|
||||||
},
|
},
|
||||||
|
@ -5754,9 +5715,6 @@
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_1004240342": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_1004240342": {
|
||||||
"string": "This adress will be used to generate invoices and calculate shipping rates."
|
"string": "This adress will be used to generate invoices and calculate shipping rates."
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_1214877701": {
|
|
||||||
"string": "Authentication method defines additional ways that customers can log in to your ecommerce."
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_229184360": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_229184360": {
|
||||||
"context": "section header",
|
"context": "section header",
|
||||||
"string": "Store Information"
|
"string": "Store Information"
|
||||||
|
@ -5775,10 +5733,6 @@
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_3799756739": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_3799756739": {
|
||||||
"string": "These are general information about your store. They define what is the URL of your store and what is shown in browsers taskbar."
|
"string": "These are general information about your store. They define what is the URL of your store and what is shown in browsers taskbar."
|
||||||
},
|
},
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_4088830385": {
|
|
||||||
"context": "section header",
|
|
||||||
"string": "Authentication Methods"
|
|
||||||
},
|
|
||||||
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_866304242": {
|
"src_dot_siteSettings_dot_components_dot_SiteSettingsPage_dot_866304242": {
|
||||||
"string": "This where you will find all of the settings determining your stores e-mails. You can determine main email address and some of the contents of your emails."
|
"string": "This where you will find all of the settings determining your stores e-mails. You can determine main email address and some of the contents of your emails."
|
||||||
},
|
},
|
||||||
|
|
1591
locale/el.json
1591
locale/el.json
File diff suppressed because it is too large
Load diff
1599
locale/es.json
1599
locale/es.json
File diff suppressed because it is too large
Load diff
1639
locale/es_CO.json
1639
locale/es_CO.json
File diff suppressed because it is too large
Load diff
1591
locale/et.json
1591
locale/et.json
File diff suppressed because it is too large
Load diff
1603
locale/fa.json
1603
locale/fa.json
File diff suppressed because it is too large
Load diff
1665
locale/fr.json
1665
locale/fr.json
File diff suppressed because it is too large
Load diff
1591
locale/hi.json
1591
locale/hi.json
File diff suppressed because it is too large
Load diff
1591
locale/hu.json
1591
locale/hu.json
File diff suppressed because it is too large
Load diff
1591
locale/hy.json
1591
locale/hy.json
File diff suppressed because it is too large
Load diff
1603
locale/id.json
1603
locale/id.json
File diff suppressed because it is too large
Load diff
1603
locale/is.json
1603
locale/is.json
File diff suppressed because it is too large
Load diff
1675
locale/it.json
1675
locale/it.json
File diff suppressed because it is too large
Load diff
1591
locale/ja.json
1591
locale/ja.json
File diff suppressed because it is too large
Load diff
1595
locale/ko.json
1595
locale/ko.json
File diff suppressed because it is too large
Load diff
1591
locale/mn.json
1591
locale/mn.json
File diff suppressed because it is too large
Load diff
1591
locale/nb.json
1591
locale/nb.json
File diff suppressed because it is too large
Load diff
1591
locale/nl.json
1591
locale/nl.json
File diff suppressed because it is too large
Load diff
1881
locale/pl.json
1881
locale/pl.json
File diff suppressed because it is too large
Load diff
1629
locale/pt.json
1629
locale/pt.json
File diff suppressed because it is too large
Load diff
1591
locale/pt_BR.json
1591
locale/pt_BR.json
File diff suppressed because it is too large
Load diff
1591
locale/ro.json
1591
locale/ro.json
File diff suppressed because it is too large
Load diff
1981
locale/ru.json
1981
locale/ru.json
File diff suppressed because it is too large
Load diff
1591
locale/sk.json
1591
locale/sk.json
File diff suppressed because it is too large
Load diff
1595
locale/sl.json
1595
locale/sl.json
File diff suppressed because it is too large
Load diff
1591
locale/sq.json
1591
locale/sq.json
File diff suppressed because it is too large
Load diff
1597
locale/sr.json
1597
locale/sr.json
File diff suppressed because it is too large
Load diff
1591
locale/sv.json
1591
locale/sv.json
File diff suppressed because it is too large
Load diff
1591
locale/th.json
1591
locale/th.json
File diff suppressed because it is too large
Load diff
1591
locale/tr.json
1591
locale/tr.json
File diff suppressed because it is too large
Load diff
1597
locale/uk.json
1597
locale/uk.json
File diff suppressed because it is too large
Load diff
1591
locale/vi.json
1591
locale/vi.json
File diff suppressed because it is too large
Load diff
1595
locale/zh-Hans.json
1595
locale/zh-Hans.json
File diff suppressed because it is too large
Load diff
1591
locale/zh-Hant.json
1591
locale/zh-Hant.json
File diff suppressed because it is too large
Load diff
|
@ -633,35 +633,6 @@ type AttributeValueUpdate {
|
||||||
attributeValue: AttributeValue
|
attributeValue: AttributeValue
|
||||||
}
|
}
|
||||||
|
|
||||||
type AuthorizationKey {
|
|
||||||
name: AuthorizationKeyType!
|
|
||||||
key: String!
|
|
||||||
}
|
|
||||||
|
|
||||||
type AuthorizationKeyAdd {
|
|
||||||
errors: [Error!]! @deprecated(reason: "Use typed errors with error codes. This field will be removed after 2020-07-31.")
|
|
||||||
authorizationKey: AuthorizationKey
|
|
||||||
shop: Shop
|
|
||||||
shopErrors: [ShopError!]!
|
|
||||||
}
|
|
||||||
|
|
||||||
type AuthorizationKeyDelete {
|
|
||||||
errors: [Error!]! @deprecated(reason: "Use typed errors with error codes. This field will be removed after 2020-07-31.")
|
|
||||||
authorizationKey: AuthorizationKey
|
|
||||||
shop: Shop
|
|
||||||
shopErrors: [ShopError!]!
|
|
||||||
}
|
|
||||||
|
|
||||||
input AuthorizationKeyInput {
|
|
||||||
key: String!
|
|
||||||
password: String!
|
|
||||||
}
|
|
||||||
|
|
||||||
enum AuthorizationKeyType {
|
|
||||||
FACEBOOK
|
|
||||||
GOOGLE_OAUTH2
|
|
||||||
}
|
|
||||||
|
|
||||||
input BulkAttributeValueInput {
|
input BulkAttributeValueInput {
|
||||||
id: ID
|
id: ID
|
||||||
values: [String]!
|
values: [String]!
|
||||||
|
@ -806,6 +777,7 @@ type Channel implements Node {
|
||||||
isActive: Boolean!
|
isActive: Boolean!
|
||||||
slug: String!
|
slug: String!
|
||||||
currencyCode: String!
|
currencyCode: String!
|
||||||
|
hasOrders: Boolean!
|
||||||
}
|
}
|
||||||
|
|
||||||
type ChannelActivate {
|
type ChannelActivate {
|
||||||
|
@ -858,6 +830,7 @@ enum ChannelErrorCode {
|
||||||
UNIQUE
|
UNIQUE
|
||||||
CHANNEL_TARGET_ID_MUST_BE_DIFFERENT
|
CHANNEL_TARGET_ID_MUST_BE_DIFFERENT
|
||||||
CHANNELS_CURRENCY_MUST_BE_THE_SAME
|
CHANNELS_CURRENCY_MUST_BE_THE_SAME
|
||||||
|
CHANNEL_WITH_ORDERS
|
||||||
}
|
}
|
||||||
|
|
||||||
type ChannelUpdate {
|
type ChannelUpdate {
|
||||||
|
@ -2567,8 +2540,6 @@ type Mutation {
|
||||||
deleteWarehouse(id: ID!): WarehouseDelete
|
deleteWarehouse(id: ID!): WarehouseDelete
|
||||||
assignWarehouseShippingZone(id: ID!, shippingZoneIds: [ID!]!): WarehouseShippingZoneAssign
|
assignWarehouseShippingZone(id: ID!, shippingZoneIds: [ID!]!): WarehouseShippingZoneAssign
|
||||||
unassignWarehouseShippingZone(id: ID!, shippingZoneIds: [ID!]!): WarehouseShippingZoneUnassign
|
unassignWarehouseShippingZone(id: ID!, shippingZoneIds: [ID!]!): WarehouseShippingZoneUnassign
|
||||||
authorizationKeyAdd(input: AuthorizationKeyInput!, keyType: AuthorizationKeyType!): AuthorizationKeyAdd
|
|
||||||
authorizationKeyDelete(keyType: AuthorizationKeyType!): AuthorizationKeyDelete
|
|
||||||
staffNotificationRecipientCreate(input: StaffNotificationRecipientInput!): StaffNotificationRecipientCreate
|
staffNotificationRecipientCreate(input: StaffNotificationRecipientInput!): StaffNotificationRecipientCreate
|
||||||
staffNotificationRecipientUpdate(id: ID!, input: StaffNotificationRecipientInput!): StaffNotificationRecipientUpdate
|
staffNotificationRecipientUpdate(id: ID!, input: StaffNotificationRecipientInput!): StaffNotificationRecipientUpdate
|
||||||
staffNotificationRecipientDelete(id: ID!): StaffNotificationRecipientDelete
|
staffNotificationRecipientDelete(id: ID!): StaffNotificationRecipientDelete
|
||||||
|
@ -2742,7 +2713,7 @@ type Mutation {
|
||||||
checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!): CheckoutShippingMethodUpdate
|
checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!): CheckoutShippingMethodUpdate
|
||||||
channelCreate(input: ChannelCreateInput!): ChannelCreate
|
channelCreate(input: ChannelCreateInput!): ChannelCreate
|
||||||
channelUpdate(id: ID!, input: ChannelUpdateInput!): ChannelUpdate
|
channelUpdate(id: ID!, input: ChannelUpdateInput!): ChannelUpdate
|
||||||
channelDelete(id: ID!, input: ChannelDeleteInput!): ChannelDelete
|
channelDelete(id: ID!, input: ChannelDeleteInput): ChannelDelete
|
||||||
channelActivate(id: ID!): ChannelActivate
|
channelActivate(id: ID!): ChannelActivate
|
||||||
channelDeactivate(id: ID!): ChannelDeactivate
|
channelDeactivate(id: ID!): ChannelDeactivate
|
||||||
attributeCreate(input: AttributeCreateInput!): AttributeCreate
|
attributeCreate(input: AttributeCreateInput!): AttributeCreate
|
||||||
|
@ -4422,7 +4393,7 @@ type Query {
|
||||||
channel(id: ID): Channel
|
channel(id: ID): Channel
|
||||||
channels: [Channel!]
|
channels: [Channel!]
|
||||||
attributes(filter: AttributeFilterInput, sortBy: AttributeSortingInput, before: String, after: String, first: Int, last: Int): AttributeCountableConnection
|
attributes(filter: AttributeFilterInput, sortBy: AttributeSortingInput, before: String, after: String, first: Int, last: Int): AttributeCountableConnection
|
||||||
attribute(id: ID!): Attribute
|
attribute(id: ID, slug: String): Attribute
|
||||||
appsInstallations: [AppInstallation!]!
|
appsInstallations: [AppInstallation!]!
|
||||||
apps(filter: AppFilterInput, sortBy: AppSortingInput, before: String, after: String, first: Int, last: Int): AppCountableConnection
|
apps(filter: AppFilterInput, sortBy: AppSortingInput, before: String, after: String, first: Int, last: Int): AppCountableConnection
|
||||||
app(id: ID!): App
|
app(id: ID!): App
|
||||||
|
@ -4867,7 +4838,6 @@ type Shop {
|
||||||
availablePaymentGateways(currency: String): [PaymentGateway!]!
|
availablePaymentGateways(currency: String): [PaymentGateway!]!
|
||||||
availableShippingMethods(channel: String!, address: AddressInput): [ShippingMethod]
|
availableShippingMethods(channel: String!, address: AddressInput): [ShippingMethod]
|
||||||
geolocalization: Geolocalization
|
geolocalization: Geolocalization
|
||||||
authorizationKeys: [AuthorizationKey]!
|
|
||||||
countries(languageCode: LanguageCodeEnum): [CountryDisplay!]!
|
countries(languageCode: LanguageCodeEnum): [CountryDisplay!]!
|
||||||
defaultCountry: CountryDisplay
|
defaultCountry: CountryDisplay
|
||||||
defaultMailSenderName: String
|
defaultMailSenderName: String
|
||||||
|
|
|
@ -5,10 +5,6 @@ import { fragmentAddress } from "./address";
|
||||||
export const shopFragment = gql`
|
export const shopFragment = gql`
|
||||||
${fragmentAddress}
|
${fragmentAddress}
|
||||||
fragment ShopFragment on Shop {
|
fragment ShopFragment on Shop {
|
||||||
authorizationKeys {
|
|
||||||
key
|
|
||||||
name
|
|
||||||
}
|
|
||||||
companyAddress {
|
companyAddress {
|
||||||
...AddressFragment
|
...AddressFragment
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,18 +2,10 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
// This file was automatically generated and should not be edited.
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
import { AuthorizationKeyType } from "./../../types/globalTypes";
|
|
||||||
|
|
||||||
// ====================================================
|
// ====================================================
|
||||||
// GraphQL fragment: ShopFragment
|
// GraphQL fragment: ShopFragment
|
||||||
// ====================================================
|
// ====================================================
|
||||||
|
|
||||||
export interface ShopFragment_authorizationKeys {
|
|
||||||
__typename: "AuthorizationKey";
|
|
||||||
key: string;
|
|
||||||
name: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ShopFragment_companyAddress_country {
|
export interface ShopFragment_companyAddress_country {
|
||||||
__typename: "CountryDisplay";
|
__typename: "CountryDisplay";
|
||||||
code: string;
|
code: string;
|
||||||
|
@ -49,7 +41,6 @@ export interface ShopFragment_domain {
|
||||||
|
|
||||||
export interface ShopFragment {
|
export interface ShopFragment {
|
||||||
__typename: "Shop";
|
__typename: "Shop";
|
||||||
authorizationKeys: (ShopFragment_authorizationKeys | null)[];
|
|
||||||
companyAddress: ShopFragment_companyAddress | null;
|
companyAddress: ShopFragment_companyAddress | null;
|
||||||
countries: ShopFragment_countries[];
|
countries: ShopFragment_countries[];
|
||||||
customerSetPasswordUrl: string | null;
|
customerSetPasswordUrl: string | null;
|
||||||
|
|
|
@ -14,7 +14,6 @@ import {
|
||||||
} from "./types";
|
} from "./types";
|
||||||
import {
|
import {
|
||||||
AddressInput,
|
AddressInput,
|
||||||
AuthorizationKeyType,
|
|
||||||
CountryCode,
|
CountryCode,
|
||||||
OrderStatus,
|
OrderStatus,
|
||||||
PaymentChargeStatusEnum
|
PaymentChargeStatusEnum
|
||||||
|
@ -211,11 +210,6 @@ export const transformAddressToForm = (data: AddressType) => ({
|
||||||
streetAddress2: maybe(() => data.streetAddress2, "")
|
streetAddress2: maybe(() => data.streetAddress2, "")
|
||||||
});
|
});
|
||||||
|
|
||||||
export const authorizationKeyTypes = {
|
|
||||||
[AuthorizationKeyType.FACEBOOK]: "Facebook",
|
|
||||||
[AuthorizationKeyType.GOOGLE_OAUTH2]: "Google OAuth2"
|
|
||||||
};
|
|
||||||
|
|
||||||
export function maybe<T>(exp: () => T): T | undefined;
|
export function maybe<T>(exp: () => T): T | undefined;
|
||||||
export function maybe<T>(exp: () => T, d: T): T;
|
export function maybe<T>(exp: () => T, d: T): T;
|
||||||
export function maybe(exp: any, d?: any) {
|
export function maybe(exp: any, d?: any) {
|
||||||
|
|
|
@ -1,117 +0,0 @@
|
||||||
import Button from "@material-ui/core/Button";
|
|
||||||
import Dialog from "@material-ui/core/Dialog";
|
|
||||||
import DialogActions from "@material-ui/core/DialogActions";
|
|
||||||
import DialogContent from "@material-ui/core/DialogContent";
|
|
||||||
import DialogTitle from "@material-ui/core/DialogTitle";
|
|
||||||
import TextField from "@material-ui/core/TextField";
|
|
||||||
import Form from "@saleor/components/Form";
|
|
||||||
import { FormSpacer } from "@saleor/components/FormSpacer";
|
|
||||||
import SingleSelectField from "@saleor/components/SingleSelectField";
|
|
||||||
import { ShopErrorFragment } from "@saleor/fragments/types/ShopErrorFragment";
|
|
||||||
import { buttonMessages } from "@saleor/intl";
|
|
||||||
import { DialogProps } from "@saleor/types";
|
|
||||||
import { getFormErrors } from "@saleor/utils/errors";
|
|
||||||
import getShopErrorMessage from "@saleor/utils/errors/shop";
|
|
||||||
import React from "react";
|
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
|
||||||
|
|
||||||
import { authorizationKeyTypes } from "../../../misc";
|
|
||||||
import { AuthorizationKeyType } from "../../../types/globalTypes";
|
|
||||||
|
|
||||||
export interface SiteSettingsKeyDialogForm {
|
|
||||||
key: string;
|
|
||||||
password: string;
|
|
||||||
type: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SiteSettingsKeyDialogProps extends DialogProps {
|
|
||||||
errors: ShopErrorFragment[];
|
|
||||||
initial: SiteSettingsKeyDialogForm;
|
|
||||||
onSubmit: (data: SiteSettingsKeyDialogForm) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const SiteSettingsKeyDialog: React.FC<SiteSettingsKeyDialogProps> = ({
|
|
||||||
errors,
|
|
||||||
initial,
|
|
||||||
open,
|
|
||||||
onClose,
|
|
||||||
onSubmit
|
|
||||||
}) => {
|
|
||||||
const intl = useIntl();
|
|
||||||
|
|
||||||
const formErrors = getFormErrors(["keyType", "key", "password"], errors);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Dialog onClose={onClose} maxWidth="xs" fullWidth open={open}>
|
|
||||||
<Form initial={initial} onSubmit={onSubmit}>
|
|
||||||
{({ change, data }) => (
|
|
||||||
<>
|
|
||||||
<DialogTitle>
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="Add New Authorization Key"
|
|
||||||
description="dialog header"
|
|
||||||
/>
|
|
||||||
</DialogTitle>
|
|
||||||
<DialogContent>
|
|
||||||
<SingleSelectField
|
|
||||||
choices={Object.keys(authorizationKeyTypes).map(key => ({
|
|
||||||
label: authorizationKeyTypes[key],
|
|
||||||
value: key
|
|
||||||
}))}
|
|
||||||
error={!!formErrors.keyType}
|
|
||||||
label={intl.formatMessage({
|
|
||||||
defaultMessage: "Authentication type",
|
|
||||||
description: "authentication provider name"
|
|
||||||
})}
|
|
||||||
hint={getShopErrorMessage(formErrors.keyType, intl)}
|
|
||||||
name="type"
|
|
||||||
onChange={change}
|
|
||||||
value={data.type}
|
|
||||||
/>
|
|
||||||
<FormSpacer />
|
|
||||||
<TextField
|
|
||||||
autoComplete="off"
|
|
||||||
error={!!formErrors.key}
|
|
||||||
fullWidth
|
|
||||||
label={intl.formatMessage({
|
|
||||||
defaultMessage: "Key",
|
|
||||||
description: "authentication provider API key"
|
|
||||||
})}
|
|
||||||
helperText={getShopErrorMessage(formErrors.key, intl)}
|
|
||||||
name="key"
|
|
||||||
onChange={change}
|
|
||||||
value={data.key}
|
|
||||||
/>
|
|
||||||
<FormSpacer />
|
|
||||||
<TextField
|
|
||||||
autoComplete="off"
|
|
||||||
error={!!formErrors.password}
|
|
||||||
fullWidth
|
|
||||||
label={intl.formatMessage({
|
|
||||||
defaultMessage: "Password"
|
|
||||||
})}
|
|
||||||
helperText={getShopErrorMessage(formErrors.password, intl)}
|
|
||||||
name="password"
|
|
||||||
onChange={change}
|
|
||||||
value={data.password}
|
|
||||||
/>
|
|
||||||
</DialogContent>
|
|
||||||
<DialogActions>
|
|
||||||
<Button onClick={onClose}>
|
|
||||||
<FormattedMessage {...buttonMessages.back} />
|
|
||||||
</Button>
|
|
||||||
<Button color="primary" type="submit" variant="contained">
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="Add authentication"
|
|
||||||
description="button"
|
|
||||||
/>
|
|
||||||
</Button>
|
|
||||||
</DialogActions>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</Form>
|
|
||||||
</Dialog>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
SiteSettingsKeyDialog.displayName = "SiteSettingsKeyDialog";
|
|
||||||
export default SiteSettingsKeyDialog;
|
|
|
@ -1,2 +0,0 @@
|
||||||
export { default } from "./SiteSettingsKeyDialog";
|
|
||||||
export * from "./SiteSettingsKeyDialog";
|
|
|
@ -1,120 +0,0 @@
|
||||||
import Button from "@material-ui/core/Button";
|
|
||||||
import Card from "@material-ui/core/Card";
|
|
||||||
import IconButton from "@material-ui/core/IconButton";
|
|
||||||
import { makeStyles } from "@material-ui/core/styles";
|
|
||||||
import TableBody from "@material-ui/core/TableBody";
|
|
||||||
import TableCell from "@material-ui/core/TableCell";
|
|
||||||
import TableHead from "@material-ui/core/TableHead";
|
|
||||||
import TableRow from "@material-ui/core/TableRow";
|
|
||||||
import DeleteIcon from "@material-ui/icons/Delete";
|
|
||||||
import CardTitle from "@saleor/components/CardTitle";
|
|
||||||
import ResponsiveTable from "@saleor/components/ResponsiveTable";
|
|
||||||
import Skeleton from "@saleor/components/Skeleton";
|
|
||||||
import React from "react";
|
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
|
||||||
|
|
||||||
import { authorizationKeyTypes, maybe, renderCollection } from "../../../misc";
|
|
||||||
import { ICONBUTTON_SIZE } from "../../../theme";
|
|
||||||
import { AuthorizationKeyType } from "../../../types/globalTypes";
|
|
||||||
import { SiteSettings_shop_authorizationKeys } from "../../types/SiteSettings";
|
|
||||||
|
|
||||||
const useStyles = makeStyles(
|
|
||||||
theme => ({
|
|
||||||
iconCell: {
|
|
||||||
"&:last-child": {
|
|
||||||
paddingRight: 0
|
|
||||||
},
|
|
||||||
width: ICONBUTTON_SIZE + theme.spacing(0.5)
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
{ name: "SiteSettingsKeys" }
|
|
||||||
);
|
|
||||||
|
|
||||||
interface SiteSettingsKeysProps {
|
|
||||||
disabled: boolean;
|
|
||||||
keys: SiteSettings_shop_authorizationKeys[];
|
|
||||||
onAdd: () => void;
|
|
||||||
onRemove: (name: AuthorizationKeyType) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const SiteSettingsKeys: React.FC<SiteSettingsKeysProps> = props => {
|
|
||||||
const { disabled, keys, onAdd, onRemove } = props;
|
|
||||||
const classes = useStyles(props);
|
|
||||||
|
|
||||||
const intl = useIntl();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Card>
|
|
||||||
<CardTitle
|
|
||||||
title={intl.formatMessage({
|
|
||||||
defaultMessage: "Authentication Keys",
|
|
||||||
description: "section header"
|
|
||||||
})}
|
|
||||||
toolbar={
|
|
||||||
<Button
|
|
||||||
color="primary"
|
|
||||||
disabled={disabled}
|
|
||||||
variant="text"
|
|
||||||
onClick={onAdd}
|
|
||||||
>
|
|
||||||
<FormattedMessage defaultMessage="Add key" description="button" />
|
|
||||||
</Button>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
<ResponsiveTable>
|
|
||||||
<TableHead>
|
|
||||||
<TableRow>
|
|
||||||
<TableCell>
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="Authentication Type"
|
|
||||||
description="authentication provider name"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="Key"
|
|
||||||
description="authentication provider API key"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell />
|
|
||||||
</TableRow>
|
|
||||||
</TableHead>
|
|
||||||
<TableBody>
|
|
||||||
{renderCollection(
|
|
||||||
keys,
|
|
||||||
key => (
|
|
||||||
<TableRow hover={!(disabled || !key)} key={maybe(() => key.name)}>
|
|
||||||
<TableCell>
|
|
||||||
{maybe<React.ReactNode>(
|
|
||||||
() => authorizationKeyTypes[key.name],
|
|
||||||
<Skeleton />
|
|
||||||
)}
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
{maybe<React.ReactNode>(() => key.key, <Skeleton />)}
|
|
||||||
</TableCell>
|
|
||||||
<TableCell className={classes.iconCell}>
|
|
||||||
<IconButton onClick={() => onRemove(key.name)}>
|
|
||||||
<DeleteIcon color="primary" />
|
|
||||||
</IconButton>
|
|
||||||
</TableCell>
|
|
||||||
</TableRow>
|
|
||||||
),
|
|
||||||
() => (
|
|
||||||
<TableRow>
|
|
||||||
<TableCell colSpan={3}>
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="No keys"
|
|
||||||
description="no authentication provider API keys"
|
|
||||||
/>
|
|
||||||
</TableCell>
|
|
||||||
</TableRow>
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
</TableBody>
|
|
||||||
</ResponsiveTable>
|
|
||||||
</Card>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
SiteSettingsKeys.displayName = "SiteSettingsKeys";
|
|
||||||
export default SiteSettingsKeys;
|
|
|
@ -1,2 +0,0 @@
|
||||||
export { default } from "./SiteSettingsKeys";
|
|
||||||
export * from "./SiteSettingsKeys";
|
|
|
@ -20,10 +20,8 @@ import React from "react";
|
||||||
import { FormattedMessage, useIntl } from "react-intl";
|
import { FormattedMessage, useIntl } from "react-intl";
|
||||||
|
|
||||||
import { maybe } from "../../../misc";
|
import { maybe } from "../../../misc";
|
||||||
import { AuthorizationKeyType } from "../../../types/globalTypes";
|
|
||||||
import { SiteSettings_shop } from "../../types/SiteSettings";
|
import { SiteSettings_shop } from "../../types/SiteSettings";
|
||||||
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
||||||
import SiteSettingsKeys from "../SiteSettingsKeys/SiteSettingsKeys";
|
|
||||||
import SiteSettingsMailing, {
|
import SiteSettingsMailing, {
|
||||||
SiteSettingsMailingFormData
|
SiteSettingsMailingFormData
|
||||||
} from "../SiteSettingsMailing";
|
} from "../SiteSettingsMailing";
|
||||||
|
@ -53,8 +51,6 @@ export interface SiteSettingsPageProps {
|
||||||
shop: SiteSettings_shop;
|
shop: SiteSettings_shop;
|
||||||
saveButtonBarState: ConfirmButtonTransitionState;
|
saveButtonBarState: ConfirmButtonTransitionState;
|
||||||
onBack: () => void;
|
onBack: () => void;
|
||||||
onKeyAdd: () => void;
|
|
||||||
onKeyRemove: (keyType: AuthorizationKeyType) => void;
|
|
||||||
onSubmit: (data: SiteSettingsPageFormData) => SubmitPromise;
|
onSubmit: (data: SiteSettingsPageFormData) => SubmitPromise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,8 +89,6 @@ const SiteSettingsPage: React.FC<SiteSettingsPageProps> = props => {
|
||||||
saveButtonBarState,
|
saveButtonBarState,
|
||||||
shop,
|
shop,
|
||||||
onBack,
|
onBack,
|
||||||
onKeyAdd,
|
|
||||||
onKeyRemove,
|
|
||||||
onSubmit
|
onSubmit
|
||||||
} = props;
|
} = props;
|
||||||
const classes = useStyles(props);
|
const classes = useStyles(props);
|
||||||
|
@ -214,24 +208,6 @@ const SiteSettingsPage: React.FC<SiteSettingsPageProps> = props => {
|
||||||
onChange={change}
|
onChange={change}
|
||||||
onCountryChange={handleCountryChange}
|
onCountryChange={handleCountryChange}
|
||||||
/>
|
/>
|
||||||
<Hr className={classes.hr} />
|
|
||||||
<div>
|
|
||||||
<Typography>
|
|
||||||
<FormattedMessage
|
|
||||||
defaultMessage="Authentication Methods"
|
|
||||||
description="section header"
|
|
||||||
/>
|
|
||||||
</Typography>
|
|
||||||
<Typography variant="body2">
|
|
||||||
<FormattedMessage defaultMessage="Authentication method defines additional ways that customers can log in to your ecommerce." />
|
|
||||||
</Typography>
|
|
||||||
</div>
|
|
||||||
<SiteSettingsKeys
|
|
||||||
disabled={disabled}
|
|
||||||
keys={maybe(() => shop.authorizationKeys)}
|
|
||||||
onAdd={onKeyAdd}
|
|
||||||
onRemove={onKeyRemove}
|
|
||||||
/>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
<SaveButtonBar
|
<SaveButtonBar
|
||||||
state={saveButtonBarState}
|
state={saveButtonBarState}
|
||||||
|
|
|
@ -1,15 +1,7 @@
|
||||||
import { AuthorizationKeyType } from "../types/globalTypes";
|
|
||||||
import { SiteSettings_shop } from "./types/SiteSettings";
|
import { SiteSettings_shop } from "./types/SiteSettings";
|
||||||
|
|
||||||
export const shop: SiteSettings_shop = {
|
export const shop: SiteSettings_shop = {
|
||||||
__typename: "Shop",
|
__typename: "Shop",
|
||||||
authorizationKeys: [
|
|
||||||
{
|
|
||||||
__typename: "AuthorizationKey",
|
|
||||||
key: "n1n62jkn2123:123n",
|
|
||||||
name: AuthorizationKeyType.FACEBOOK
|
|
||||||
}
|
|
||||||
],
|
|
||||||
companyAddress: {
|
companyAddress: {
|
||||||
__typename: "Address",
|
__typename: "Address",
|
||||||
city: "Kenstad",
|
city: "Kenstad",
|
||||||
|
|
|
@ -4,60 +4,11 @@ import { shopFragment } from "@saleor/fragments/shop";
|
||||||
import gql from "graphql-tag";
|
import gql from "graphql-tag";
|
||||||
|
|
||||||
import { TypedMutation } from "../mutations";
|
import { TypedMutation } from "../mutations";
|
||||||
import {
|
|
||||||
AuthorizationKeyAdd,
|
|
||||||
AuthorizationKeyAddVariables
|
|
||||||
} from "./types/AuthorizationKeyAdd";
|
|
||||||
import {
|
|
||||||
AuthorizationKeyDelete,
|
|
||||||
AuthorizationKeyDeleteVariables
|
|
||||||
} from "./types/AuthorizationKeyDelete";
|
|
||||||
import {
|
import {
|
||||||
ShopSettingsUpdate,
|
ShopSettingsUpdate,
|
||||||
ShopSettingsUpdateVariables
|
ShopSettingsUpdateVariables
|
||||||
} from "./types/ShopSettingsUpdate";
|
} from "./types/ShopSettingsUpdate";
|
||||||
|
|
||||||
const authorizationKeyAdd = gql`
|
|
||||||
${shopErrorFragment}
|
|
||||||
${shopFragment}
|
|
||||||
mutation AuthorizationKeyAdd(
|
|
||||||
$input: AuthorizationKeyInput!
|
|
||||||
$keyType: AuthorizationKeyType!
|
|
||||||
) {
|
|
||||||
authorizationKeyAdd(input: $input, keyType: $keyType) {
|
|
||||||
errors: shopErrors {
|
|
||||||
...ShopErrorFragment
|
|
||||||
}
|
|
||||||
shop {
|
|
||||||
...ShopFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
export const TypedAuthorizationKeyAdd = TypedMutation<
|
|
||||||
AuthorizationKeyAdd,
|
|
||||||
AuthorizationKeyAddVariables
|
|
||||||
>(authorizationKeyAdd);
|
|
||||||
|
|
||||||
const authorizationKeyDelete = gql`
|
|
||||||
${shopErrorFragment}
|
|
||||||
${shopFragment}
|
|
||||||
mutation AuthorizationKeyDelete($keyType: AuthorizationKeyType!) {
|
|
||||||
authorizationKeyDelete(keyType: $keyType) {
|
|
||||||
errors: shopErrors {
|
|
||||||
...ShopErrorFragment
|
|
||||||
}
|
|
||||||
shop {
|
|
||||||
...ShopFragment
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
export const TypedAuthorizationKeyDelete = TypedMutation<
|
|
||||||
AuthorizationKeyDelete,
|
|
||||||
AuthorizationKeyDeleteVariables
|
|
||||||
>(authorizationKeyDelete);
|
|
||||||
|
|
||||||
const shopSettingsUpdate = gql`
|
const shopSettingsUpdate = gql`
|
||||||
${shopErrorFragment}
|
${shopErrorFragment}
|
||||||
${shopFragment}
|
${shopFragment}
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
/* tslint:disable */
|
|
||||||
/* eslint-disable */
|
|
||||||
// This file was automatically generated and should not be edited.
|
|
||||||
|
|
||||||
import { AuthorizationKeyInput, AuthorizationKeyType, ShopErrorCode } from "./../../types/globalTypes";
|
|
||||||
|
|
||||||
// ====================================================
|
|
||||||
// GraphQL mutation operation: AuthorizationKeyAdd
|
|
||||||
// ====================================================
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_errors {
|
|
||||||
__typename: "ShopError";
|
|
||||||
code: ShopErrorCode;
|
|
||||||
field: string | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop_authorizationKeys {
|
|
||||||
__typename: "AuthorizationKey";
|
|
||||||
key: string;
|
|
||||||
name: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop_companyAddress_country {
|
|
||||||
__typename: "CountryDisplay";
|
|
||||||
code: string;
|
|
||||||
country: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop_companyAddress {
|
|
||||||
__typename: "Address";
|
|
||||||
city: string;
|
|
||||||
cityArea: string;
|
|
||||||
companyName: string;
|
|
||||||
country: AuthorizationKeyAdd_authorizationKeyAdd_shop_companyAddress_country;
|
|
||||||
countryArea: string;
|
|
||||||
firstName: string;
|
|
||||||
id: string;
|
|
||||||
lastName: string;
|
|
||||||
phone: string | null;
|
|
||||||
postalCode: string;
|
|
||||||
streetAddress1: string;
|
|
||||||
streetAddress2: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop_countries {
|
|
||||||
__typename: "CountryDisplay";
|
|
||||||
code: string;
|
|
||||||
country: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop_domain {
|
|
||||||
__typename: "Domain";
|
|
||||||
host: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd_shop {
|
|
||||||
__typename: "Shop";
|
|
||||||
authorizationKeys: (AuthorizationKeyAdd_authorizationKeyAdd_shop_authorizationKeys | null)[];
|
|
||||||
companyAddress: AuthorizationKeyAdd_authorizationKeyAdd_shop_companyAddress | null;
|
|
||||||
countries: AuthorizationKeyAdd_authorizationKeyAdd_shop_countries[];
|
|
||||||
customerSetPasswordUrl: string | null;
|
|
||||||
defaultMailSenderAddress: string | null;
|
|
||||||
defaultMailSenderName: string | null;
|
|
||||||
description: string | null;
|
|
||||||
domain: AuthorizationKeyAdd_authorizationKeyAdd_shop_domain;
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd_authorizationKeyAdd {
|
|
||||||
__typename: "AuthorizationKeyAdd";
|
|
||||||
errors: AuthorizationKeyAdd_authorizationKeyAdd_errors[];
|
|
||||||
shop: AuthorizationKeyAdd_authorizationKeyAdd_shop | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAdd {
|
|
||||||
authorizationKeyAdd: AuthorizationKeyAdd_authorizationKeyAdd | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyAddVariables {
|
|
||||||
input: AuthorizationKeyInput;
|
|
||||||
keyType: AuthorizationKeyType;
|
|
||||||
}
|
|
|
@ -1,81 +0,0 @@
|
||||||
/* tslint:disable */
|
|
||||||
/* eslint-disable */
|
|
||||||
// This file was automatically generated and should not be edited.
|
|
||||||
|
|
||||||
import { AuthorizationKeyType, ShopErrorCode } from "./../../types/globalTypes";
|
|
||||||
|
|
||||||
// ====================================================
|
|
||||||
// GraphQL mutation operation: AuthorizationKeyDelete
|
|
||||||
// ====================================================
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_errors {
|
|
||||||
__typename: "ShopError";
|
|
||||||
code: ShopErrorCode;
|
|
||||||
field: string | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop_authorizationKeys {
|
|
||||||
__typename: "AuthorizationKey";
|
|
||||||
key: string;
|
|
||||||
name: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop_companyAddress_country {
|
|
||||||
__typename: "CountryDisplay";
|
|
||||||
code: string;
|
|
||||||
country: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop_companyAddress {
|
|
||||||
__typename: "Address";
|
|
||||||
city: string;
|
|
||||||
cityArea: string;
|
|
||||||
companyName: string;
|
|
||||||
country: AuthorizationKeyDelete_authorizationKeyDelete_shop_companyAddress_country;
|
|
||||||
countryArea: string;
|
|
||||||
firstName: string;
|
|
||||||
id: string;
|
|
||||||
lastName: string;
|
|
||||||
phone: string | null;
|
|
||||||
postalCode: string;
|
|
||||||
streetAddress1: string;
|
|
||||||
streetAddress2: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop_countries {
|
|
||||||
__typename: "CountryDisplay";
|
|
||||||
code: string;
|
|
||||||
country: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop_domain {
|
|
||||||
__typename: "Domain";
|
|
||||||
host: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete_shop {
|
|
||||||
__typename: "Shop";
|
|
||||||
authorizationKeys: (AuthorizationKeyDelete_authorizationKeyDelete_shop_authorizationKeys | null)[];
|
|
||||||
companyAddress: AuthorizationKeyDelete_authorizationKeyDelete_shop_companyAddress | null;
|
|
||||||
countries: AuthorizationKeyDelete_authorizationKeyDelete_shop_countries[];
|
|
||||||
customerSetPasswordUrl: string | null;
|
|
||||||
defaultMailSenderAddress: string | null;
|
|
||||||
defaultMailSenderName: string | null;
|
|
||||||
description: string | null;
|
|
||||||
domain: AuthorizationKeyDelete_authorizationKeyDelete_shop_domain;
|
|
||||||
name: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete_authorizationKeyDelete {
|
|
||||||
__typename: "AuthorizationKeyDelete";
|
|
||||||
errors: AuthorizationKeyDelete_authorizationKeyDelete_errors[];
|
|
||||||
shop: AuthorizationKeyDelete_authorizationKeyDelete_shop | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDelete {
|
|
||||||
authorizationKeyDelete: AuthorizationKeyDelete_authorizationKeyDelete | null;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface AuthorizationKeyDeleteVariables {
|
|
||||||
keyType: AuthorizationKeyType;
|
|
||||||
}
|
|
|
@ -2,7 +2,7 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
// This file was automatically generated and should not be edited.
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
import { SiteDomainInput, ShopSettingsInput, AddressInput, ShopErrorCode, AuthorizationKeyType } from "./../../types/globalTypes";
|
import { SiteDomainInput, ShopSettingsInput, AddressInput, ShopErrorCode } from "./../../types/globalTypes";
|
||||||
|
|
||||||
// ====================================================
|
// ====================================================
|
||||||
// GraphQL mutation operation: ShopSettingsUpdate
|
// GraphQL mutation operation: ShopSettingsUpdate
|
||||||
|
@ -14,12 +14,6 @@ export interface ShopSettingsUpdate_shopSettingsUpdate_errors {
|
||||||
field: string | null;
|
field: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ShopSettingsUpdate_shopSettingsUpdate_shop_authorizationKeys {
|
|
||||||
__typename: "AuthorizationKey";
|
|
||||||
key: string;
|
|
||||||
name: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ShopSettingsUpdate_shopSettingsUpdate_shop_companyAddress_country {
|
export interface ShopSettingsUpdate_shopSettingsUpdate_shop_companyAddress_country {
|
||||||
__typename: "CountryDisplay";
|
__typename: "CountryDisplay";
|
||||||
code: string;
|
code: string;
|
||||||
|
@ -55,7 +49,6 @@ export interface ShopSettingsUpdate_shopSettingsUpdate_shop_domain {
|
||||||
|
|
||||||
export interface ShopSettingsUpdate_shopSettingsUpdate_shop {
|
export interface ShopSettingsUpdate_shopSettingsUpdate_shop {
|
||||||
__typename: "Shop";
|
__typename: "Shop";
|
||||||
authorizationKeys: (ShopSettingsUpdate_shopSettingsUpdate_shop_authorizationKeys | null)[];
|
|
||||||
companyAddress: ShopSettingsUpdate_shopSettingsUpdate_shop_companyAddress | null;
|
companyAddress: ShopSettingsUpdate_shopSettingsUpdate_shop_companyAddress | null;
|
||||||
countries: ShopSettingsUpdate_shopSettingsUpdate_shop_countries[];
|
countries: ShopSettingsUpdate_shopSettingsUpdate_shop_countries[];
|
||||||
customerSetPasswordUrl: string | null;
|
customerSetPasswordUrl: string | null;
|
||||||
|
|
|
@ -2,18 +2,10 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
// This file was automatically generated and should not be edited.
|
// This file was automatically generated and should not be edited.
|
||||||
|
|
||||||
import { AuthorizationKeyType } from "./../../types/globalTypes";
|
|
||||||
|
|
||||||
// ====================================================
|
// ====================================================
|
||||||
// GraphQL query operation: SiteSettings
|
// GraphQL query operation: SiteSettings
|
||||||
// ====================================================
|
// ====================================================
|
||||||
|
|
||||||
export interface SiteSettings_shop_authorizationKeys {
|
|
||||||
__typename: "AuthorizationKey";
|
|
||||||
key: string;
|
|
||||||
name: AuthorizationKeyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SiteSettings_shop_companyAddress_country {
|
export interface SiteSettings_shop_companyAddress_country {
|
||||||
__typename: "CountryDisplay";
|
__typename: "CountryDisplay";
|
||||||
code: string;
|
code: string;
|
||||||
|
@ -49,7 +41,6 @@ export interface SiteSettings_shop_domain {
|
||||||
|
|
||||||
export interface SiteSettings_shop {
|
export interface SiteSettings_shop {
|
||||||
__typename: "Shop";
|
__typename: "Shop";
|
||||||
authorizationKeys: (SiteSettings_shop_authorizationKeys | null)[];
|
|
||||||
companyAddress: SiteSettings_shop_companyAddress | null;
|
companyAddress: SiteSettings_shop_companyAddress | null;
|
||||||
countries: SiteSettings_shop_countries[];
|
countries: SiteSettings_shop_countries[];
|
||||||
customerSetPasswordUrl: string | null;
|
customerSetPasswordUrl: string | null;
|
||||||
|
|
|
@ -7,56 +7,25 @@ import { useIntl } from "react-intl";
|
||||||
|
|
||||||
import { configurationMenuUrl } from "../../configuration";
|
import { configurationMenuUrl } from "../../configuration";
|
||||||
import { findInEnum } from "../../misc";
|
import { findInEnum } from "../../misc";
|
||||||
import { AuthorizationKeyType, CountryCode } from "../../types/globalTypes";
|
import { CountryCode } from "../../types/globalTypes";
|
||||||
import SiteSettingsKeyDialog, {
|
|
||||||
SiteSettingsKeyDialogForm
|
|
||||||
} from "../components/SiteSettingsKeyDialog";
|
|
||||||
import SiteSettingsPage, {
|
import SiteSettingsPage, {
|
||||||
areAddressInputFieldsModified,
|
areAddressInputFieldsModified,
|
||||||
SiteSettingsPageFormData
|
SiteSettingsPageFormData
|
||||||
} from "../components/SiteSettingsPage";
|
} from "../components/SiteSettingsPage";
|
||||||
import {
|
import { TypedShopSettingsUpdate } from "../mutations";
|
||||||
TypedAuthorizationKeyAdd,
|
|
||||||
TypedAuthorizationKeyDelete,
|
|
||||||
TypedShopSettingsUpdate
|
|
||||||
} from "../mutations";
|
|
||||||
import { TypedSiteSettingsQuery } from "../queries";
|
import { TypedSiteSettingsQuery } from "../queries";
|
||||||
import { AuthorizationKeyAdd } from "../types/AuthorizationKeyAdd";
|
|
||||||
import { AuthorizationKeyDelete } from "../types/AuthorizationKeyDelete";
|
|
||||||
import { ShopSettingsUpdate } from "../types/ShopSettingsUpdate";
|
import { ShopSettingsUpdate } from "../types/ShopSettingsUpdate";
|
||||||
import { siteSettingsUrl, SiteSettingsUrlQueryParams } from "../urls";
|
import { SiteSettingsUrlQueryParams } from "../urls";
|
||||||
|
|
||||||
export interface SiteSettingsProps {
|
export interface SiteSettingsProps {
|
||||||
params: SiteSettingsUrlQueryParams;
|
params: SiteSettingsUrlQueryParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SiteSettings: React.FC<SiteSettingsProps> = ({ params }) => {
|
export const SiteSettings: React.FC<SiteSettingsProps> = () => {
|
||||||
const navigate = useNavigator();
|
const navigate = useNavigator();
|
||||||
const notify = useNotifier();
|
const notify = useNotifier();
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
|
|
||||||
const handleAddKeySuccess = (data: AuthorizationKeyAdd) => {
|
|
||||||
if (data.authorizationKeyAdd.errors.length === 0) {
|
|
||||||
notify({
|
|
||||||
status: "success",
|
|
||||||
text: intl.formatMessage(commonMessages.savedChanges)
|
|
||||||
});
|
|
||||||
navigate(siteSettingsUrl());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const handleDeleteKeySuccess = (data: AuthorizationKeyDelete) => {
|
|
||||||
if (data.authorizationKeyDelete.errors.length === 0) {
|
|
||||||
notify({
|
|
||||||
status: "success",
|
|
||||||
text: intl.formatMessage(commonMessages.savedChanges)
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
notify({
|
|
||||||
status: "error",
|
|
||||||
text: intl.formatMessage(commonMessages.somethingWentWrong)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const handleSiteSettingsSuccess = (data: ShopSettingsUpdate) => {
|
const handleSiteSettingsSuccess = (data: ShopSettingsUpdate) => {
|
||||||
if (
|
if (
|
||||||
data.shopDomainUpdate.errors.length === 0 &&
|
data.shopDomainUpdate.errors.length === 0 &&
|
||||||
|
@ -73,39 +42,16 @@ export const SiteSettings: React.FC<SiteSettingsProps> = ({ params }) => {
|
||||||
return (
|
return (
|
||||||
<TypedSiteSettingsQuery displayLoader>
|
<TypedSiteSettingsQuery displayLoader>
|
||||||
{siteSettings => (
|
{siteSettings => (
|
||||||
<TypedAuthorizationKeyAdd onCompleted={handleAddKeySuccess}>
|
<TypedShopSettingsUpdate onCompleted={handleSiteSettingsSuccess}>
|
||||||
{(addAuthorizationKey, addAuthorizationKeyOpts) => (
|
|
||||||
<TypedAuthorizationKeyDelete onCompleted={handleDeleteKeySuccess}>
|
|
||||||
{(deleteAuthorizationKey, _) => (
|
|
||||||
<TypedShopSettingsUpdate
|
|
||||||
onCompleted={handleSiteSettingsSuccess}
|
|
||||||
>
|
|
||||||
{(updateShopSettings, updateShopSettingsOpts) => {
|
{(updateShopSettings, updateShopSettingsOpts) => {
|
||||||
const errors = [
|
const errors = [
|
||||||
...(updateShopSettingsOpts.data?.shopDomainUpdate
|
...(updateShopSettingsOpts.data?.shopDomainUpdate.errors || []),
|
||||||
.errors || []),
|
...(updateShopSettingsOpts.data?.shopSettingsUpdate.errors || []),
|
||||||
...(updateShopSettingsOpts.data?.shopSettingsUpdate
|
...(updateShopSettingsOpts.data?.shopAddressUpdate.errors || [])
|
||||||
.errors || []),
|
|
||||||
...(updateShopSettingsOpts.data?.shopAddressUpdate
|
|
||||||
.errors || [])
|
|
||||||
];
|
];
|
||||||
const loading =
|
const loading =
|
||||||
siteSettings.loading ||
|
siteSettings.loading || updateShopSettingsOpts.loading;
|
||||||
addAuthorizationKeyOpts.loading ||
|
|
||||||
updateShopSettingsOpts.loading;
|
|
||||||
|
|
||||||
const handleAuthenticationKeyAdd = (
|
|
||||||
data: SiteSettingsKeyDialogForm
|
|
||||||
) =>
|
|
||||||
addAuthorizationKey({
|
|
||||||
variables: {
|
|
||||||
input: {
|
|
||||||
key: data.key,
|
|
||||||
password: data.password
|
|
||||||
},
|
|
||||||
keyType: data.type
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const handleUpdateShopSettings = async (
|
const handleUpdateShopSettings = async (
|
||||||
data: SiteSettingsPageFormData
|
data: SiteSettingsPageFormData
|
||||||
) => {
|
) => {
|
||||||
|
@ -132,8 +78,7 @@ export const SiteSettings: React.FC<SiteSettingsProps> = ({ params }) => {
|
||||||
},
|
},
|
||||||
shopSettingsInput: {
|
shopSettingsInput: {
|
||||||
customerSetPasswordUrl: data.customerSetPasswordUrl,
|
customerSetPasswordUrl: data.customerSetPasswordUrl,
|
||||||
defaultMailSenderAddress:
|
defaultMailSenderAddress: data.defaultMailSenderAddress,
|
||||||
data.defaultMailSenderAddress,
|
|
||||||
defaultMailSenderName: data.defaultMailSenderName,
|
defaultMailSenderName: data.defaultMailSenderName,
|
||||||
description: data.description
|
description: data.description
|
||||||
}
|
}
|
||||||
|
@ -157,44 +102,14 @@ export const SiteSettings: React.FC<SiteSettingsProps> = ({ params }) => {
|
||||||
errors={errors}
|
errors={errors}
|
||||||
shop={siteSettings.data?.shop}
|
shop={siteSettings.data?.shop}
|
||||||
onBack={() => navigate(configurationMenuUrl)}
|
onBack={() => navigate(configurationMenuUrl)}
|
||||||
onKeyAdd={() =>
|
|
||||||
navigate(
|
|
||||||
siteSettingsUrl({
|
|
||||||
action: "add-key"
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
onKeyRemove={keyType =>
|
|
||||||
deleteAuthorizationKey({
|
|
||||||
variables: { keyType }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
onSubmit={handleUpdateShopSettings}
|
onSubmit={handleUpdateShopSettings}
|
||||||
saveButtonBarState={updateShopSettingsOpts.status}
|
saveButtonBarState={updateShopSettingsOpts.status}
|
||||||
/>
|
/>
|
||||||
<SiteSettingsKeyDialog
|
|
||||||
errors={
|
|
||||||
addAuthorizationKeyOpts.data?.authorizationKeyAdd
|
|
||||||
.errors || []
|
|
||||||
}
|
|
||||||
initial={{
|
|
||||||
key: "",
|
|
||||||
password: "",
|
|
||||||
type: AuthorizationKeyType.FACEBOOK
|
|
||||||
}}
|
|
||||||
open={params.action === "add-key"}
|
|
||||||
onClose={() => navigate(siteSettingsUrl())}
|
|
||||||
onSubmit={handleAuthenticationKeyAdd}
|
|
||||||
/>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
</TypedShopSettingsUpdate>
|
</TypedShopSettingsUpdate>
|
||||||
)}
|
)}
|
||||||
</TypedAuthorizationKeyDelete>
|
|
||||||
)}
|
|
||||||
</TypedAuthorizationKeyAdd>
|
|
||||||
)}
|
|
||||||
</TypedSiteSettingsQuery>
|
</TypedSiteSettingsQuery>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -17876,18 +17876,6 @@ exports[`Storyshots Shipping / UnassignDialog default 1`] = `
|
||||||
/>
|
/>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`Storyshots SiteSettings / Add key dialog default 1`] = `
|
|
||||||
<div
|
|
||||||
style="padding:24px"
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Storyshots SiteSettings / Add key dialog form errors 1`] = `
|
|
||||||
<div
|
|
||||||
style="padding:24px"
|
|
||||||
/>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Storyshots Views / Apps / Activate app default 1`] = `
|
exports[`Storyshots Views / Apps / Activate app default 1`] = `
|
||||||
<div
|
<div
|
||||||
style="padding:24px"
|
style="padding:24px"
|
||||||
|
@ -213911,130 +213899,6 @@ exports[`Storyshots Views / Site settings / Page default 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr
|
|
||||||
class="Hr-root-id SiteSettingsPage-hr-id"
|
|
||||||
/>
|
|
||||||
<div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body1-id"
|
|
||||||
>
|
|
||||||
Authentication Methods
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body2-id"
|
|
||||||
>
|
|
||||||
Authentication method defines additional ways that customers can log in to your ecommerce.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiPaper-root-id MuiPaper-elevation0-id MuiCard-root-id MuiPaper-rounded-id"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="CardTitle-root-id"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiTypography-root-id CardTitle-title-id MuiTypography-h5-id"
|
|
||||||
>
|
|
||||||
Authentication Keys
|
|
||||||
</span>
|
|
||||||
<div
|
|
||||||
class="CardTitle-toolbar-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiButton-root-id MuiButton-text-id MuiButton-textPrimary-id"
|
|
||||||
tabindex="0"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiButton-label-id"
|
|
||||||
>
|
|
||||||
Add key
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="CardTitle-children-id"
|
|
||||||
/>
|
|
||||||
<hr
|
|
||||||
class="CardTitle-hr-id"
|
|
||||||
/>
|
|
||||||
<div
|
|
||||||
class="ResponsiveTable-root-id"
|
|
||||||
>
|
|
||||||
<table
|
|
||||||
class="MuiTable-root-id"
|
|
||||||
>
|
|
||||||
<thead
|
|
||||||
class="MuiTableHead-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id MuiTableRow-head-id"
|
|
||||||
>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Authentication Type
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Key
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
/>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody
|
|
||||||
class="MuiTableBody-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id MuiTableRow-hover-id"
|
|
||||||
>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
Facebook
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
n1n62jkn2123:123n
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id SiteSettingsKeys-iconCell-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiIconButton-root-id"
|
|
||||||
tabindex="0"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiIconButton-label-id"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="MuiSvgIcon-root-id MuiSvgIcon-colorPrimary-id"
|
|
||||||
focusable="false"
|
|
||||||
role="presentation"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -214787,130 +214651,6 @@ exports[`Storyshots Views / Site settings / Page form errors 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr
|
|
||||||
class="Hr-root-id SiteSettingsPage-hr-id"
|
|
||||||
/>
|
|
||||||
<div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body1-id"
|
|
||||||
>
|
|
||||||
Authentication Methods
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body2-id"
|
|
||||||
>
|
|
||||||
Authentication method defines additional ways that customers can log in to your ecommerce.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiPaper-root-id MuiPaper-elevation0-id MuiCard-root-id MuiPaper-rounded-id"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="CardTitle-root-id"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiTypography-root-id CardTitle-title-id MuiTypography-h5-id"
|
|
||||||
>
|
|
||||||
Authentication Keys
|
|
||||||
</span>
|
|
||||||
<div
|
|
||||||
class="CardTitle-toolbar-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiButton-root-id MuiButton-text-id MuiButton-textPrimary-id"
|
|
||||||
tabindex="0"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiButton-label-id"
|
|
||||||
>
|
|
||||||
Add key
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="CardTitle-children-id"
|
|
||||||
/>
|
|
||||||
<hr
|
|
||||||
class="CardTitle-hr-id"
|
|
||||||
/>
|
|
||||||
<div
|
|
||||||
class="ResponsiveTable-root-id"
|
|
||||||
>
|
|
||||||
<table
|
|
||||||
class="MuiTable-root-id"
|
|
||||||
>
|
|
||||||
<thead
|
|
||||||
class="MuiTableHead-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id MuiTableRow-head-id"
|
|
||||||
>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Authentication Type
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Key
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
/>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody
|
|
||||||
class="MuiTableBody-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id MuiTableRow-hover-id"
|
|
||||||
>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
Facebook
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
n1n62jkn2123:123n
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id SiteSettingsKeys-iconCell-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiIconButton-root-id"
|
|
||||||
tabindex="0"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiIconButton-label-id"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="MuiSvgIcon-root-id MuiSvgIcon-colorPrimary-id"
|
|
||||||
focusable="false"
|
|
||||||
role="presentation"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -215669,139 +215409,6 @@ exports[`Storyshots Views / Site settings / Page loading 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr
|
|
||||||
class="Hr-root-id SiteSettingsPage-hr-id"
|
|
||||||
/>
|
|
||||||
<div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body1-id"
|
|
||||||
>
|
|
||||||
Authentication Methods
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiTypography-root-id MuiTypography-body2-id"
|
|
||||||
>
|
|
||||||
Authentication method defines additional ways that customers can log in to your ecommerce.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="MuiPaper-root-id MuiPaper-elevation0-id MuiCard-root-id MuiPaper-rounded-id"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="CardTitle-root-id"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiTypography-root-id CardTitle-title-id MuiTypography-h5-id"
|
|
||||||
>
|
|
||||||
Authentication Keys
|
|
||||||
</span>
|
|
||||||
<div
|
|
||||||
class="CardTitle-toolbar-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiButton-root-id MuiButton-text-id MuiButton-textPrimary-id MuiButton-disabled-id MuiButtonBase-disabled-id"
|
|
||||||
disabled=""
|
|
||||||
tabindex="-1"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiButton-label-id"
|
|
||||||
>
|
|
||||||
Add key
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="CardTitle-children-id"
|
|
||||||
/>
|
|
||||||
<hr
|
|
||||||
class="CardTitle-hr-id"
|
|
||||||
/>
|
|
||||||
<div
|
|
||||||
class="ResponsiveTable-root-id"
|
|
||||||
>
|
|
||||||
<table
|
|
||||||
class="MuiTable-root-id"
|
|
||||||
>
|
|
||||||
<thead
|
|
||||||
class="MuiTableHead-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id MuiTableRow-head-id"
|
|
||||||
>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Authentication Type
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
>
|
|
||||||
Key
|
|
||||||
</th>
|
|
||||||
<th
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-head-id"
|
|
||||||
scope="col"
|
|
||||||
/>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody
|
|
||||||
class="MuiTableBody-root-id"
|
|
||||||
>
|
|
||||||
<tr
|
|
||||||
class="MuiTableRow-root-id"
|
|
||||||
>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="Skeleton-skeleton-id"
|
|
||||||
>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="Skeleton-skeleton-id"
|
|
||||||
>
|
|
||||||
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td
|
|
||||||
class="MuiTableCell-root-id MuiTableCell-body-id SiteSettingsKeys-iconCell-id"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="MuiButtonBase-root-id MuiIconButton-root-id"
|
|
||||||
tabindex="0"
|
|
||||||
type="button"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="MuiIconButton-label-id"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
aria-hidden="true"
|
|
||||||
class="MuiSvgIcon-root-id MuiSvgIcon-colorPrimary-id"
|
|
||||||
focusable="false"
|
|
||||||
role="presentation"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -146,7 +146,6 @@ function loadStories() {
|
||||||
require("./stories/shipping/ShippingZonesListPage");
|
require("./stories/shipping/ShippingZonesListPage");
|
||||||
|
|
||||||
// Site settings
|
// Site settings
|
||||||
require("./stories/siteSettings/SiteSettingsKeyDialog");
|
|
||||||
require("./stories/siteSettings/SiteSettingsPage");
|
require("./stories/siteSettings/SiteSettingsPage");
|
||||||
|
|
||||||
// Taxes
|
// Taxes
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
import { storiesOf } from "@storybook/react";
|
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import SiteSettingsKeyDialog, {
|
|
||||||
SiteSettingsKeyDialogProps
|
|
||||||
} from "../../../siteSettings/components/SiteSettingsKeyDialog";
|
|
||||||
import {
|
|
||||||
AuthorizationKeyType,
|
|
||||||
ShopErrorCode
|
|
||||||
} from "../../../types/globalTypes";
|
|
||||||
import Decorator from "../../Decorator";
|
|
||||||
|
|
||||||
const props: SiteSettingsKeyDialogProps = {
|
|
||||||
errors: [],
|
|
||||||
initial: {
|
|
||||||
key: "912n3n123j9",
|
|
||||||
password: "090das9d86gad678adf7ad6f88asd8",
|
|
||||||
type: AuthorizationKeyType.FACEBOOK
|
|
||||||
},
|
|
||||||
onClose: () => undefined,
|
|
||||||
onSubmit: () => undefined,
|
|
||||||
open: true
|
|
||||||
};
|
|
||||||
|
|
||||||
storiesOf("SiteSettings / Add key dialog", module)
|
|
||||||
.addDecorator(Decorator)
|
|
||||||
.add("default", () => <SiteSettingsKeyDialog {...props} />)
|
|
||||||
.add("form errors", () => (
|
|
||||||
<SiteSettingsKeyDialog
|
|
||||||
{...props}
|
|
||||||
errors={["key", "password", "keyType"].map(field => ({
|
|
||||||
__typename: "ShopError",
|
|
||||||
code: ShopErrorCode.INVALID,
|
|
||||||
field
|
|
||||||
}))}
|
|
||||||
/>
|
|
||||||
));
|
|
|
@ -13,8 +13,6 @@ const props: Omit<SiteSettingsPageProps, "classes"> = {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
errors: [],
|
errors: [],
|
||||||
onBack: () => undefined,
|
onBack: () => undefined,
|
||||||
onKeyAdd: () => undefined,
|
|
||||||
onKeyRemove: () => undefined,
|
|
||||||
onSubmit: () => undefined,
|
onSubmit: () => undefined,
|
||||||
saveButtonBarState: "default",
|
saveButtonBarState: "default",
|
||||||
shop
|
shop
|
||||||
|
|
|
@ -102,11 +102,6 @@ export enum AttributeTypeEnum {
|
||||||
PRODUCT_TYPE = "PRODUCT_TYPE",
|
PRODUCT_TYPE = "PRODUCT_TYPE",
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum AuthorizationKeyType {
|
|
||||||
FACEBOOK = "FACEBOOK",
|
|
||||||
GOOGLE_OAUTH2 = "GOOGLE_OAUTH2",
|
|
||||||
}
|
|
||||||
|
|
||||||
export enum CategorySortField {
|
export enum CategorySortField {
|
||||||
NAME = "NAME",
|
NAME = "NAME",
|
||||||
PRODUCT_COUNT = "PRODUCT_COUNT",
|
PRODUCT_COUNT = "PRODUCT_COUNT",
|
||||||
|
@ -117,6 +112,7 @@ export enum ChannelErrorCode {
|
||||||
ALREADY_EXISTS = "ALREADY_EXISTS",
|
ALREADY_EXISTS = "ALREADY_EXISTS",
|
||||||
CHANNELS_CURRENCY_MUST_BE_THE_SAME = "CHANNELS_CURRENCY_MUST_BE_THE_SAME",
|
CHANNELS_CURRENCY_MUST_BE_THE_SAME = "CHANNELS_CURRENCY_MUST_BE_THE_SAME",
|
||||||
CHANNEL_TARGET_ID_MUST_BE_DIFFERENT = "CHANNEL_TARGET_ID_MUST_BE_DIFFERENT",
|
CHANNEL_TARGET_ID_MUST_BE_DIFFERENT = "CHANNEL_TARGET_ID_MUST_BE_DIFFERENT",
|
||||||
|
CHANNEL_WITH_ORDERS = "CHANNEL_WITH_ORDERS",
|
||||||
GRAPHQL_ERROR = "GRAPHQL_ERROR",
|
GRAPHQL_ERROR = "GRAPHQL_ERROR",
|
||||||
INVALID = "INVALID",
|
INVALID = "INVALID",
|
||||||
NOT_FOUND = "NOT_FOUND",
|
NOT_FOUND = "NOT_FOUND",
|
||||||
|
@ -1090,11 +1086,6 @@ export interface AttributeValueInput {
|
||||||
contentType?: string | null;
|
contentType?: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AuthorizationKeyInput {
|
|
||||||
key: string;
|
|
||||||
password: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface BulkAttributeValueInput {
|
export interface BulkAttributeValueInput {
|
||||||
id?: string | null;
|
id?: string | null;
|
||||||
values: (string | null)[];
|
values: (string | null)[];
|
||||||
|
|
Loading…
Reference in a new issue