// @flow import { observer } from "mobx-react"; import * as React from "react"; import { useTranslation, Trans } from "react-i18next"; import Group from "models/Group"; import Button from "components/Button"; import Flex from "components/Flex"; import HelpText from "components/HelpText"; import Input from "components/Input"; import useToasts from "hooks/useToasts"; type Props = { group: Group, onSubmit: () => void, }; function GroupEdit({ group, onSubmit }: Props) { const { showToast } = useToasts(); const { t } = useTranslation(); const [name, setName] = React.useState(group.name); const [isSaving, setIsSaving] = React.useState(); const handleSubmit = React.useCallback( async (ev: SyntheticEvent<>) => { ev.preventDefault(); setIsSaving(true); try { await group.save({ name: name }); onSubmit(); } catch (err) { showToast(err.message, { type: "error" }); } finally { setIsSaving(false); } }, [group, onSubmit, showToast, name] ); const handleNameChange = React.useCallback((ev: SyntheticInputEvent<*>) => { setName(ev.target.value); }, []); return (
); } export default observer(GroupEdit);