import { useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { Formik, Form, Field, useFormikContext, useField } from 'formik';
import Button from 'components/common/Button';
import Checkbox from 'components/common/Checkbox';
import FormLayout, {
FormButtons,
FormError,
FormMessage,
FormRow,
} from 'components/layout/FormLayout';
import useApi from 'hooks/useApi';
import useFetch from 'hooks/useFetch';
const initialValues = {
username: '',
password: '',
isViewer: false,
websiteIds: [],
};
const validate = ({ id, username, password }) => {
const errors = {};
if (!username) {
errors.username = ;
}
if (!id && !password) {
errors.password = ;
}
return errors;
};
const WebsiteSelect = props => {
const { data } = useFetch(`/websites`);
const [field, meta] = useField(props);
const {
values: { websiteIds },
} = useFormikContext();
return (
<>
{data && data.length > 0 && (
)}
{!!meta.touched && !!meta.error && {meta.error}
}
>
);
};
export default function AccountEditForm({ values, onSave, onClose }) {
const { post } = useApi();
const [message, setMessage] = useState();
const handleSubmit = async values => {
const { id } = values;
const { ok, data } = await post(id ? `/accounts/${id}` : '/accounts', values);
if (ok) {
onSave();
} else {
setMessage(
data || ,
);
}
};
return (
{values => (
)}
);
}