// Primus IQ — Paste Text Input Modal const spInputShell = (children, onClose) => (
{children}
); const spFieldLabel = { fontSize: 11, fontWeight: 700, color: 'var(--mute)', letterSpacing: '0.08em', textTransform: 'uppercase', marginBottom: 6, display: 'block', }; const spTextField = { width: '100%', height: 40, padding: '0 12px', borderRadius: 9, border: '1px solid var(--line-2)', fontSize: 13, fontFamily: 'inherit', outline: 'none', color: 'var(--ink)', background: 'white', boxSizing: 'border-box', }; const TextInputModal = ({ open, onClose, onConfirm }) => { const [title, setTitle] = React.useState(''); const [content, setContent] = React.useState(''); React.useEffect(() => { if (open) { setTitle(''); setContent(''); } }, [open]); if (!open) return null; const ready = content.trim().length > 0; const submit = () => { if (ready) onConfirm({ title: title.trim() || 'Untitled note', content }); }; return spInputShell((
e.stopPropagation()} style={{ width: 560, maxWidth: '94%', background: 'var(--bg-card)', borderRadius: 18, boxShadow: '0 30px 80px rgba(26,22,20,0.30), 0 0 0 1px var(--line)', animation: 'rise 0.22s ease-out', display: 'flex', flexDirection: 'column', overflow: 'hidden', }}>

Add text

Paste notes or any text — it’s saved as a document you can tag.
setTitle(e.target.value)} placeholder="e.g. CFO interview notes" style={spTextField} />