import { SubmitButton, Form, FormInput, FormRow, FormButtons, TextField, Button, Flexbox, } from 'react-basics'; import { getRandomChars } from 'next-basics'; import { useRef, useState } from 'react'; import { useApi } from 'components/hooks'; import { useMessages } from 'components/hooks'; const generateId = () => getRandomChars(16); export function TeamEditForm({ teamId, data, onSave, readOnly }) { const { formatMessage, labels } = useMessages(); const { post, useMutation } = useApi(); const { mutate, error } = useMutation({ mutationFn: (data: any) => post(`/teams/${teamId}`, data), }); const ref = useRef(null); const [accessCode, setAccessCode] = useState(data.accessCode); const handleSubmit = async (data: any) => { mutate(data, { onSuccess: async () => { ref.current.reset(data); onSave?.(data); }, }); }; const handleRegenerate = () => { const code = generateId(); ref.current.setValue('accessCode', code, { shouldValidate: true, shouldDirty: true, }); setAccessCode(code); }; return (
); } export default TeamEditForm;