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 ConfirmButton, { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import Form from "@saleor/components/Form"; import FormSpacer from "@saleor/components/FormSpacer"; import { StaffErrorFragment } from "@saleor/fragments/types/StaffErrorFragment"; import useModalDialogErrors from "@saleor/hooks/useModalDialogErrors"; import { buttonMessages, commonMessages } from "@saleor/intl"; import { SearchPermissionGroups_search_edges_node } from "@saleor/searches/types/SearchPermissionGroups"; import { makeStyles } from "@saleor/theme"; import { FetchMoreProps, SearchPageProps } from "@saleor/types"; import { getFormErrors } from "@saleor/utils/errors"; import getStaffErrorMessage from "@saleor/utils/errors/staff"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; export interface AddMemberFormData { email: string; firstName: string; lastName: string; permissionGroups: string[]; } const initialForm: AddMemberFormData = { email: "", firstName: "", lastName: "", permissionGroups: [] }; const useStyles = makeStyles( theme => ({ hr: { backgroundColor: "#eaeaea", border: "none", height: 1, marginBottom: 0 }, sectionTitle: { fontWeight: 600 as 600, marginBottom: theme.spacing(), marginTop: theme.spacing(2) }, textFieldGrid: { display: "grid", gridColumnGap: theme.spacing(2), gridTemplateColumns: "1fr 1fr" } }), { name: "StaffAddMemberDialog" } ); interface StaffAddMemberDialogProps extends SearchPageProps { availablePermissionGroups: SearchPermissionGroups_search_edges_node[]; confirmButtonState: ConfirmButtonTransitionState; disabled: boolean; errors: StaffErrorFragment[]; fetchMorePermissionGroups: FetchMoreProps; open: boolean; onClose: () => void; onConfirm: (data: AddMemberFormData) => void; } const StaffAddMemberDialog: React.FC = props => { const { confirmButtonState, errors, onClose, onConfirm, open } = props; const classes = useStyles(props); const dialogErrors = useModalDialogErrors(errors, open); const intl = useIntl(); const formErrors = getFormErrors( ["firstName", "lastName", "email"], dialogErrors ); return (
{({ change, data: formData, hasChanged }) => ( <>

)}
); }; StaffAddMemberDialog.displayName = "StaffAddMemberDialog"; export default StaffAddMemberDialog;