import React, { useState } from 'react'; import { Dialog, DialogTitle, DialogContent, TextField, DialogActions, Button, } from '@material-ui/core'; import { useHistory } from 'react-router-dom'; // styles import useStyles from './styles'; import { createContactProfileRequest, } from '../../squeakclient/requests'; import { goToProfilePage, } from '../../navigation/navigation'; export default function CreateContactProfileDialog({ open, handleClose, initialPubkey = '', ...props }) { const classes = useStyles(); const history = useHistory(); const [profileName, setProfileName] = useState(''); const [pubkey, setPubkey] = useState(initialPubkey); const resetFields = () => { setProfileName(''); setPubkey(initialPubkey); }; const handleChangeProfileName = (event) => { setProfileName(event.target.value); }; const handleChangePubkey = (event) => { setPubkey(event.target.value); }; const handleResponse = (response) => { goToProfilePage(history, response.getProfileId()); }; const handleErr = (err) => { alert(`Error creating contact profile: ${err}`); }; const createContactProfile = (profileName, squeakPubkey) => { createContactProfileRequest(profileName, squeakPubkey, handleResponse, handleErr); }; function handleSubmit(event) { event.preventDefault(); console.log('profileName:', profileName); console.log('pubkey:', pubkey); if (!profileName) { alert('Profile Name cannot be empty.'); return; } if (!pubkey) { alert('Pubkey Name cannot be empty.'); return; } createContactProfile(profileName, pubkey); handleClose(); } function CreateContactProfileNameInput() { return ( ); } function CreateContactPubkeyInput() { return ( ); } function CancelButton() { return ( ); } function CreateContactProfilButton() { return ( ); } return ( Create Contact Profile
{CreateContactProfileNameInput()} {CreateContactPubkeyInput()} {CancelButton()} {CreateContactProfilButton()}
); }