import React from 'react'; import ReactDOM from 'react-dom'; import { X } from 'lucide-react'; import { useAppConfig } from '../contexts/AppConfigContext'; const API = process.env.REACT_APP_API_URL || ''; const BUNDLED = [ 'advisor1.png','advisor2.png','advisor3.png','advisor4.png', 'advisor5.png','advisor6.png','advisor7.png', ]; const overlay = { position: 'fixed', inset: 0, background: 'rgba(0,0,0,0.5)', display: 'flex', alignItems: 'center', justifyContent: 'center', zIndex: 1000, }; const modal = { background: 'var(--bg-primary)', borderRadius: 16, padding: 24, width: 480, maxWidth: '95vw', maxHeight: '85vh', overflowY: 'auto', boxShadow: 'var(--shadow-xl)', }; const AvatarPickerModal = ({ advisorId, advisorName, onClose }) => { const { setAdvisorAvatar } = useAppConfig(); const select = (url) => { setAdvisorAvatar(advisorId, url || ''); onClose(); }; return ReactDOM.createPortal(
e.target === e.currentTarget && onClose()} onMouseDown={(e) => e.stopPropagation()}>

Choose Avatar — {advisorName}

Pre-made Avatars

{BUNDLED.map((file) => ( {file} select(`${API}/api/avatars/bundled/${file}`)} style={{ width: '100%', aspectRatio: '1', borderRadius: '50%', objectFit: 'cover', cursor: 'pointer', border: '2px solid transparent', transition: 'border-color 0.15s' }} onMouseEnter={e => e.target.style.borderColor = 'var(--accent-primary)'} onMouseLeave={e => e.target.style.borderColor = 'transparent'} /> ))}
, document.body ); }; export default AvatarPickerModal;