import * as React from "react"; import { Box, TextField, Button, Typography, CircularProgress, } from "@mui/material"; export interface ProfileCreateProps { defaultUsername?: string; defaultEmail?: string; onSubmit: (data: { name: string; email: string }) => Promise; onBack?: () => void; loading?: boolean; error?: string | null; } export function ProfileCreate({ defaultUsername, defaultEmail, onSubmit, onBack, loading = false, error = null, }: ProfileCreateProps) { const [name, setName] = React.useState(""); const [email, setEmail] = React.useState(defaultEmail ?? ""); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); await onSubmit({ name: name || defaultUsername || "", email }); }; return ( Complete Your Profile {defaultUsername && ( Welcome {defaultUsername}!{" "} )} Fill in your details to get started.
{defaultUsername && ( )} setName(e.target.value)} placeholder={defaultUsername ?? "Your name"} required autoFocus={!defaultUsername} /> setEmail(e.target.value)} placeholder={defaultEmail ?? "you@example.com"} required /> {error && ( {error} )} {onBack && ( )}
); }