import {useState, useEffect} from 'react' import { useAuth } from '@redwoodjs/auth' import { navigate, routes } from '@redwoodjs/router' import Editor from "rich-markdown-editor"; import ImageUploader from 'src/components/ImageUploader' import Button from 'src/components/Button' import ProfileTextInput from 'src/components/ProfileTextInput' const UserProfile = ({user, isEditable, loading, onSave, error}) => { const { currentUser } = useAuth() const canEdit = currentUser?.sub === user.id useEffect(() => {isEditable && !canEdit && navigate(routes.user2({userName: user.userName}))}, [currentUser]) const [input, setInput] = useState({ userName: user.userName, name: user.name, bio: user.bio, image: user.image, }) const {userName, name} = input const editableTextFields = {userName, name} return ( <>
setInput({ ...input, image, })} aspectRatio={1} isEditable={isEditable} imageUrl={user.image} width={300} />
setInput({ ...input, name, userName: userName.replace(/([^a-zA-Z\d_:])/g, '-'), })} isEditable={isEditable}/> {isEditable ? : // TODO replace pencil with a save icon canEdit ? : null }

Bio:

setInput({ ...input, bio: bioFn(), })} />
) } export default UserProfile