import React, { useState } from 'react'; import { Button, Collapsible, CollapsibleItem, Select, TextInput } from 'react-materialize'; import axios from 'axios'; import { errorToast } from "../common/errorHelpers"; import M from 'materialize-css'; const NewHomieForm = (props) => { const [homieName, setHomieName] = useState(""); const [aboutHomie, setAboutHomie] = useState(""); const [homieImportance, setHomieImportance] = useState(""); const [busy, setBusy] = useState(false); const gang = props.gang; const disableAddButton = () => { return homieName.length === 0 || homieImportance === "" || busy; } const clearForm = () => { setHomieName(""); setAboutHomie(""); setHomieImportance(""); const collapsible = document.getElementById('new-homie-form-container'); const collapsibleInstance = M.Collapsible.getInstance(collapsible); collapsibleInstance.close(0); } const addNewHomie = async () => { setBusy(true); const newHomie = { homie: { name: homieName, about: aboutHomie, importance: parseInt(homieImportance), gang_id: gang.id } } try{ const response = await axios.post('/api/homies', newHomie); if (response.status === 200 && response.data) { props.newHomiesSetter(response.data); M.toast({ html: 'Welcome to the hood' }); clearForm(); }else{ errorToast(); } }catch (e) { console.log(e.message); errorToast(); } setBusy(false); } return (
{`Introduce new homie to the ${gang.name} gang`}}>
setHomieName(e.target.value)} />
setAboutHomie(e.target.value)} />
) } export default NewHomieForm;