import { faChevronUp } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import React, { useState } from "react"; import { validateForm } from "../lib/product"; import Errors from "./Errors"; export default function ProductForm({ name, price, onFormChange, onSubmit, busy }) { let [form, setForm] = useState({ name: "", value: "", }); let [errors, setErrors] = useState({ name: new Array(), price: new Array(), }); let nameChanged = (e: React.ChangeEvent) => { name = e.target.value; setErrors(validateForm({name,price})); onFormChange({ name, price }); } let priceChanged = (e: React.ChangeEvent) => { price = e.target.value; setErrors(validateForm({name,price})); onFormChange({ name, price }); } let isValid = (prop) => { if(errors[prop].length > 0) { return "form-control is-invalid"; } else { return "form-control is-valid"; } } let submit = (e: React.FormEvent) => { e.preventDefault() let currentErrors = validateForm({ name, price}); if (currentErrors.name.length === 0 && currentErrors.price.length === 0) { onSubmit(); } } return (
); }