File size: 1,948 Bytes
0dd2082
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { useState, useRef, useEffect } from 'react';
import './ClarificationPrompt.css';

export default function ClarificationPrompt({ question, onSubmit, onCancel }) {
    const [answer, setAnswer] = useState('');
    const inputRef = useRef(null);

    useEffect(() => {
        if (inputRef.current) {
            inputRef.current.focus();
        }
    }, [question]);

    const handleSubmit = (e) => {
        e.preventDefault();
        if (answer.trim()) {
            onSubmit(answer.trim());
        }
    };

    return (
        <div className="clarification-prompt fade-in-up">
            <div className="clarification-header">
                <span className="clarification-icon">🤖</span>
                <span className="clarification-title">Clarification Needed</span>
                <button type="button" className="clarification-close" onClick={onCancel} title="Cancel search">
                    &times;
                </button>
            </div>

            <p className="clarification-question">{question}</p>

            <form className="clarification-form" onSubmit={handleSubmit}>
                <input
                    ref={inputRef}
                    type="text"
                    className="clarification-input"
                    placeholder="Type your answer..."
                    value={answer}
                    onChange={(e) => setAnswer(e.target.value)}
                />
                <button type="submit" className="clarification-btn" disabled={!answer.trim()}>
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round">
                        <line x1="22" y1="2" x2="11" y2="13" />
                        <polygon points="22 2 15 22 11 13 2 9 22 2" />
                    </svg>
                    Send
                </button>
            </form>
        </div>
    );
}