App.WelcomeModal = function WelcomeModal({ userId, onSave, onSkip }) { const [nickname, setNickname] = React.useState(''); const [saving, setSaving] = React.useState(false); const [error, setError] = React.useState(''); const handleSave = () => { const trimmed = nickname.trim(); if (!trimmed) { setError('Please enter a nickname'); return; } if (trimmed.length > 50) { setError('Max 50 characters'); return; } setSaving(true); setError(''); App.API.post('user', { fingerprint: App.fingerprint, nickname: trimmed, }).then(data => { onSave(data); }).catch(err => { setError(err.message); setSaving(false); }); }; const handleKeyDown = (e) => { if (e.key === 'Enter') handleSave(); }; return (
Your ID is {userId}. Set a nickname?
{error &&