import Card from "@material-ui/core/Card"; import CardContent from "@material-ui/core/CardContent"; import { makeStyles } from "@material-ui/core/styles"; import TextField from "@material-ui/core/TextField"; import React from "react"; import { useIntl, IntlShape } from "react-intl"; import CardTitle from "@saleor/components/CardTitle"; import FormSpacer from "@saleor/components/FormSpacer"; import Grid from "@saleor/components/Grid"; import SingleAutocompleteSelectField, { SingleAutocompleteChoiceType } from "@saleor/components/SingleAutocompleteSelectField"; import { ChangeEvent } from "@saleor/hooks/useForm"; import { getFormErrors } from "@saleor/utils/errors"; import { ShopErrorFragment } from "@saleor/siteSettings/types/ShopErrorFragment"; import getShopErrorMessage from "@saleor/utils/errors/shop"; import { AccountErrorFragment } from "@saleor/customers/types/AccountErrorFragment"; import getAccountErrorMessage from "@saleor/utils/errors/account"; import { SiteSettingsPageFormData } from "../SiteSettingsPage"; interface SiteSettingsAddressProps { countries: SingleAutocompleteChoiceType[]; data: SiteSettingsPageFormData; displayCountry: string; errors: Array; disabled: boolean; onChange: (event: ChangeEvent) => void; onCountryChange: (event: ChangeEvent) => void; } const useStyles = makeStyles( { root: { overflow: "visible" } }, { name: "SiteSettingsAddress" } ); function getErrorMessage( err: AccountErrorFragment | ShopErrorFragment, intl: IntlShape ): string { if (err?.__typename === "AccountError") { return getAccountErrorMessage(err, intl); } return getShopErrorMessage(err, intl); } const SiteSettingsAddress: React.FC = props => { const { countries, data, disabled, displayCountry, errors, onChange, onCountryChange } = props; const classes = useStyles(props); const intl = useIntl(); const formFields = [ "companyName", "streetAddress1", "streetAddress2", "city", "postalCode", "country", "companyArea", "phone" ]; const formErrors = getFormErrors(formFields, errors); return ( ); }; SiteSettingsAddress.displayName = "SiteSettingsAddress"; export default SiteSettingsAddress;