import React, { useCallback, useEffect, useState } from "react"; import { Button } from "./button"; import { useProfile } from "./ConferenceCallManagerHooks"; import { FieldRow, InputField, ErrorMessage } from "./Input"; import { Modal, ModalContent } from "./Modal"; export function ProfileModal({ client, ...rest }) { const { onClose } = rest; const { success, error, loading, displayName: initialDisplayName, saveProfile, } = useProfile(client); const [displayName, setDisplayName] = useState(initialDisplayName || ""); const onChangeDisplayName = useCallback( (e) => { setDisplayName(e.target.value); }, [setDisplayName] ); const onSubmit = useCallback( (e) => { e.preventDefault(); const data = new FormData(e.target); const displayName = data.get("displayName"); const avatar = data.get("avatar"); saveProfile({ displayName, avatar, }); }, [saveProfile] ); useEffect(() => { if (success) { onClose(); } }, [success, onClose]); return (
{error && ( {error.message} )}
); }