import AppHeader from "@saleor/components/AppHeader"; import { CardSpacer } from "@saleor/components/CardSpacer"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import Container from "@saleor/components/Container"; import Form from "@saleor/components/Form"; import Grid from "@saleor/components/Grid"; import PageHeader from "@saleor/components/PageHeader"; import SaveButtonBar from "@saleor/components/SaveButtonBar"; import { AccountErrorFragment } from "@saleor/fragments/types/AccountErrorFragment"; import { SubmitPromise } from "@saleor/hooks/useForm"; import { sectionNames } from "@saleor/intl"; import React from "react"; import { useIntl } from "react-intl"; import { getUserName, maybe } from "../../../misc"; import { CustomerDetails_user } from "../../types/CustomerDetails"; import CustomerAddresses from "../CustomerAddresses"; import CustomerDetails from "../CustomerDetails"; import CustomerInfo from "../CustomerInfo"; import CustomerOrders from "../CustomerOrders"; import CustomerStats from "../CustomerStats"; export interface CustomerDetailsPageFormData { firstName: string; lastName: string; email: string; isActive: boolean; note: string; } export interface CustomerDetailsPageProps { customer: CustomerDetails_user; disabled: boolean; errors: AccountErrorFragment[]; saveButtonBar: ConfirmButtonTransitionState; onBack: () => void; onSubmit: (data: CustomerDetailsPageFormData) => SubmitPromise; onViewAllOrdersClick: () => void; onRowClick: (id: string) => void; onAddressManageClick: () => void; onDelete: () => void; } const CustomerDetailsPage: React.FC = ({ customer, disabled, errors, saveButtonBar, onBack, onSubmit, onViewAllOrdersClick, onRowClick, onAddressManageClick, onDelete }: CustomerDetailsPageProps) => { const intl = useIntl(); return (
customer.email, ""), firstName: maybe(() => customer.firstName, ""), isActive: maybe(() => customer.isActive, false), lastName: maybe(() => customer.lastName, ""), note: maybe(() => customer.note, "") }} onSubmit={onSubmit} confirmLeave > {({ change, data, hasChanged, submit }) => ( {intl.formatMessage(sectionNames.customers)}
customer.orders.edges.map(edge => edge.node) )} onViewAllOrdersClick={onViewAllOrdersClick} onRowClick={onRowClick} />
)}
); }; CustomerDetailsPage.displayName = "CustomerDetailsPage"; export default CustomerDetailsPage;