Make company address shared component
This commit is contained in:
parent
82909e9067
commit
74ea099824
4 changed files with 26 additions and 25 deletions
|
@ -17,14 +17,15 @@ import { ShopErrorFragment } from "@saleor/siteSettings/types/ShopErrorFragment"
|
||||||
import getShopErrorMessage from "@saleor/utils/errors/shop";
|
import getShopErrorMessage from "@saleor/utils/errors/shop";
|
||||||
import { AccountErrorFragment } from "@saleor/customers/types/AccountErrorFragment";
|
import { AccountErrorFragment } from "@saleor/customers/types/AccountErrorFragment";
|
||||||
import getAccountErrorMessage from "@saleor/utils/errors/account";
|
import getAccountErrorMessage from "@saleor/utils/errors/account";
|
||||||
import { SiteSettingsPageFormData } from "../SiteSettingsPage";
|
import { AddressTypeInput } from "@saleor/customers/types";
|
||||||
|
|
||||||
interface SiteSettingsAddressProps {
|
interface CompanyAddressInputProps {
|
||||||
countries: SingleAutocompleteChoiceType[];
|
countries: SingleAutocompleteChoiceType[];
|
||||||
data: SiteSettingsPageFormData;
|
data: AddressTypeInput;
|
||||||
displayCountry: string;
|
displayCountry: string;
|
||||||
errors: Array<AccountErrorFragment | ShopErrorFragment>;
|
errors: Array<AccountErrorFragment | ShopErrorFragment>;
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
|
header: string;
|
||||||
onChange: (event: ChangeEvent) => void;
|
onChange: (event: ChangeEvent) => void;
|
||||||
onCountryChange: (event: ChangeEvent) => void;
|
onCountryChange: (event: ChangeEvent) => void;
|
||||||
}
|
}
|
||||||
|
@ -35,7 +36,7 @@ const useStyles = makeStyles(
|
||||||
overflow: "visible"
|
overflow: "visible"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ name: "SiteSettingsAddress" }
|
{ name: "CompanyAddressInput" }
|
||||||
);
|
);
|
||||||
|
|
||||||
function getErrorMessage(
|
function getErrorMessage(
|
||||||
|
@ -49,13 +50,14 @@ function getErrorMessage(
|
||||||
return getShopErrorMessage(err, intl);
|
return getShopErrorMessage(err, intl);
|
||||||
}
|
}
|
||||||
|
|
||||||
const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
const CompanyAddressInput: React.FC<CompanyAddressInputProps> = props => {
|
||||||
const {
|
const {
|
||||||
countries,
|
countries,
|
||||||
data,
|
data,
|
||||||
disabled,
|
disabled,
|
||||||
displayCountry,
|
displayCountry,
|
||||||
errors,
|
errors,
|
||||||
|
header,
|
||||||
onChange,
|
onChange,
|
||||||
onCountryChange
|
onCountryChange
|
||||||
} = props;
|
} = props;
|
||||||
|
@ -77,12 +79,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className={classes.root}>
|
<Card className={classes.root}>
|
||||||
<CardTitle
|
<CardTitle title={header} />
|
||||||
title={intl.formatMessage({
|
|
||||||
defaultMessage: "Store Information",
|
|
||||||
description: "section header"
|
|
||||||
})}
|
|
||||||
/>
|
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<TextField
|
<TextField
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
@ -91,7 +88,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Company"
|
defaultMessage: "Company"
|
||||||
})}
|
})}
|
||||||
name={"companyName" as keyof SiteSettingsPageFormData}
|
name={"companyName" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.companyName}
|
value={data.companyName}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -104,7 +101,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Address line 1"
|
defaultMessage: "Address line 1"
|
||||||
})}
|
})}
|
||||||
name={"streetAddress1" as keyof SiteSettingsPageFormData}
|
name={"streetAddress1" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.streetAddress1}
|
value={data.streetAddress1}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -117,7 +114,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Address line 2"
|
defaultMessage: "Address line 2"
|
||||||
})}
|
})}
|
||||||
name={"streetAddress2" as keyof SiteSettingsPageFormData}
|
name={"streetAddress2" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.streetAddress2}
|
value={data.streetAddress2}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -131,7 +128,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "City"
|
defaultMessage: "City"
|
||||||
})}
|
})}
|
||||||
name={"city" as keyof SiteSettingsPageFormData}
|
name={"city" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.city}
|
value={data.city}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -143,7 +140,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "ZIP / Postal code"
|
defaultMessage: "ZIP / Postal code"
|
||||||
})}
|
})}
|
||||||
name={"postalCode" as keyof SiteSettingsPageFormData}
|
name={"postalCode" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.postalCode}
|
value={data.postalCode}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -159,7 +156,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Country"
|
defaultMessage: "Country"
|
||||||
})}
|
})}
|
||||||
name={"country" as keyof SiteSettingsPageFormData}
|
name={"country" as keyof AddressTypeInput}
|
||||||
onChange={onCountryChange}
|
onChange={onCountryChange}
|
||||||
value={data.country}
|
value={data.country}
|
||||||
choices={countries}
|
choices={countries}
|
||||||
|
@ -174,7 +171,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Country area"
|
defaultMessage: "Country area"
|
||||||
})}
|
})}
|
||||||
name={"countryArea" as keyof SiteSettingsPageFormData}
|
name={"countryArea" as keyof AddressTypeInput}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
value={data.countryArea}
|
value={data.countryArea}
|
||||||
fullWidth
|
fullWidth
|
||||||
|
@ -189,7 +186,7 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Phone"
|
defaultMessage: "Phone"
|
||||||
})}
|
})}
|
||||||
name={"phone" as keyof SiteSettingsPageFormData}
|
name={"phone" as keyof AddressTypeInput}
|
||||||
value={data.phone}
|
value={data.phone}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
|
@ -197,5 +194,5 @@ const SiteSettingsAddress: React.FC<SiteSettingsAddressProps> = props => {
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
SiteSettingsAddress.displayName = "SiteSettingsAddress";
|
CompanyAddressInput.displayName = "CompanyAddressInput";
|
||||||
export default SiteSettingsAddress;
|
export default CompanyAddressInput;
|
2
src/components/CompanyAddressInput/index.ts
Normal file
2
src/components/CompanyAddressInput/index.ts
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
export { default } from "./CompanyAddressInput";
|
||||||
|
export * from "./CompanyAddressInput";
|
|
@ -1,2 +0,0 @@
|
||||||
export { default } from "./SiteSettingsAddress";
|
|
||||||
export * from "./SiteSettingsAddress";
|
|
|
@ -17,10 +17,10 @@ import { commonMessages, sectionNames } from "@saleor/intl";
|
||||||
import createSingleAutocompleteSelectHandler from "@saleor/utils/handlers/singleAutocompleteSelectChangeHandler";
|
import createSingleAutocompleteSelectHandler from "@saleor/utils/handlers/singleAutocompleteSelectChangeHandler";
|
||||||
import { mapCountriesToChoices } from "@saleor/utils/maps";
|
import { mapCountriesToChoices } from "@saleor/utils/maps";
|
||||||
import { ShopErrorFragment } from "@saleor/siteSettings/types/ShopErrorFragment";
|
import { ShopErrorFragment } from "@saleor/siteSettings/types/ShopErrorFragment";
|
||||||
|
import CompanyAddressInput from "@saleor/components/CompanyAddressInput";
|
||||||
import { maybe } from "../../../misc";
|
import { maybe } from "../../../misc";
|
||||||
import { AuthorizationKeyType } from "../../../types/globalTypes";
|
import { AuthorizationKeyType } from "../../../types/globalTypes";
|
||||||
import { SiteSettings_shop } from "../../types/SiteSettings";
|
import { SiteSettings_shop } from "../../types/SiteSettings";
|
||||||
import SiteSettingsAddress from "../SiteSettingsAddress/SiteSettingsAddress";
|
|
||||||
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
import SiteSettingsDetails from "../SiteSettingsDetails/SiteSettingsDetails";
|
||||||
import SiteSettingsKeys from "../SiteSettingsKeys/SiteSettingsKeys";
|
import SiteSettingsKeys from "../SiteSettingsKeys/SiteSettingsKeys";
|
||||||
import SiteSettingsMailing, {
|
import SiteSettingsMailing, {
|
||||||
|
@ -200,12 +200,16 @@ const SiteSettingsPage: React.FC<SiteSettingsPageProps> = props => {
|
||||||
<FormattedMessage defaultMessage="Email adress you provide here will be used as a contact adress for your customers." />
|
<FormattedMessage defaultMessage="Email adress you provide here will be used as a contact adress for your customers." />
|
||||||
</Typography>
|
</Typography>
|
||||||
</div>
|
</div>
|
||||||
<SiteSettingsAddress
|
<CompanyAddressInput
|
||||||
data={data}
|
data={data}
|
||||||
displayCountry={displayCountry}
|
displayCountry={displayCountry}
|
||||||
countries={countryChoices}
|
countries={countryChoices}
|
||||||
errors={[...errors, ...validationErrors]}
|
errors={[...errors, ...validationErrors]}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
header={intl.formatMessage({
|
||||||
|
defaultMessage: "Store Information",
|
||||||
|
description: "section header"
|
||||||
|
})}
|
||||||
onChange={change}
|
onChange={change}
|
||||||
onCountryChange={handleCountryChange}
|
onCountryChange={handleCountryChange}
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in a new issue