import { Stack, Heading, HStack, Avatar, Button, FormControl, FormLabel, Input, Tooltip, Flex, Text, } from '@chakra-ui/react' import { UploadIcon } from 'assets/icons' import { UploadButton } from 'components/shared/buttons/UploadButton' import { useUser } from 'contexts/UserContext' import React, { ChangeEvent, useState } from 'react' import { uploadFile } from 'services/utils' export const PersonalInfoForm = () => { const { user, updateUser, saveUser, hasUnsavedChanges, isSaving, isOAuthProvider, } = useUser() const [reloadParam, setReloadParam] = useState('') const [isUploading, setIsUploading] = useState(false) const handleFileChange = async (file: File) => { setIsUploading(true) const { url } = await uploadFile(file, `${user?.id}/avatar`) setReloadParam(Date.now().toString()) updateUser({ image: url }) setIsUploading(false) } const handleNameChange = (e: ChangeEvent) => { updateUser({ name: e.target.value }) } const handleEmailChange = (e: ChangeEvent) => { updateUser({ email: e.target.value }) } return ( Personal info } isLoading={isUploading} onUploadChange={handleFileChange} > Change photo .jpg or.png, max 1MB Name Email address {hasUnsavedChanges && ( )} ) }