Skip to content

Commit a668a73

Browse files
committed
[Fix]: null value in ChatBox.tsx and indents->2
1 parent 8aff245 commit a668a73

File tree

1 file changed

+72
-72
lines changed

1 file changed

+72
-72
lines changed

fe_repo/src/pages/ChatBox.tsx

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ interface IChatBoxProps {
99
onAnalyze: (jd: string) => void;
1010
}
1111

12-
export const ChatBox = ({ onSendMessage, onAnalyze }: IChatBoxProps) => {
12+
export const ChatBox = ({onSendMessage, onAnalyze}: IChatBoxProps) => {
1313

1414
const [message, setMessage] = useState("");
1515
const [showPrompt, setShowPrompt] = useState(false);
@@ -33,84 +33,84 @@ export const ChatBox = ({ onSendMessage, onAnalyze }: IChatBoxProps) => {
3333

3434

3535
return (
36-
<div className="border-2 p-4 flex flex-col bg-white rounded-lg shadow-md">
37-
{/* Overlay and Modal for Job Description */
38-
showPrompt && (
39-
<>
40-
<div
41-
className="fixed inset-0 bg-black bg-opacity-50 z-40"
42-
onClick={() => setShowPrompt(false)}
43-
/>
44-
<div
45-
className="fixed top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-white p-10 rounded-xl shadow-xl z-50 w-96">
46-
<h3 className="text-2xl font-bold mb-6">Enter a Job Description</h3>
47-
<Textarea
48-
className="w-full h-40 p-4 border-2 border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 shadow-sm transition-all"
49-
value={jobDescription}
50-
onChange={(e) => setJobDescription(e.target.value)}
51-
placeholder="Enter job description here..."
52-
/>
53-
<button
54-
className="mt-6 bg-blue-500 text-white font-semibold text-lg px-8 py-3 rounded-lg shadow-md hover:bg-blue-600 hover:shadow-lg transition-all w-full"
55-
onClick={handleAnalyze}
56-
>
57-
Submit
58-
</button>
59-
</div>
36+
<div className="border-2 p-4 flex flex-col bg-white rounded-lg shadow-md">
37+
{/* Overlay and Modal for Job Description */
38+
showPrompt && (
39+
<>
40+
<div
41+
className="fixed inset-0 bg-black bg-opacity-50 z-40"
42+
onClick={() => setShowPrompt(false)}
43+
/>
44+
<div
45+
className="fixed top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-white p-10 rounded-xl shadow-xl z-50 w-96">
46+
<h3 className="text-2xl font-bold mb-6">Enter a Job Description</h3>
47+
<Textarea
48+
className="w-full h-40 p-4 border-2 border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 shadow-sm transition-all"
49+
value={jobDescription}
50+
onChange={(e) => setJobDescription(e.target.value)}
51+
placeholder="Enter job description here..."
52+
/>
53+
<button
54+
className="mt-6 bg-blue-500 text-white font-semibold text-lg px-8 py-3 rounded-lg shadow-md hover:bg-blue-600 hover:shadow-lg transition-all w-full"
55+
onClick={handleAnalyze}
56+
>
57+
Submit
58+
</button>
59+
</div>
6060

61-
</>
62-
)
63-
}
64-
{/* icon row */
65-
}
61+
</>
62+
)
63+
}
64+
{/* icon row */
65+
}
6666
<div className="flex justify-start gap-2 mb-2">
67-
<div
68-
style={{width: '64px', display: 'flex', justifyContent: 'center', cursor: 'pointer'}}
69-
onClick={() => {
70-
document.getElementById('fileInput').click();
67+
<div
68+
style={{width: '64px', display: 'flex', justifyContent: 'center', cursor: 'pointer'}}
69+
onClick={() => {
70+
document.getElementById('fileInput')?.click();
71+
}}
72+
>
73+
<UploadIcon/>
74+
<input
75+
id="fileInput"
76+
type="file"
77+
accept=".pdf"
78+
style={{display: 'none'}}
79+
onChange={(event) => {
80+
const files = event.target.files;
81+
if (!files || files.length === 0) return;
82+
const file = files[0];
83+
if (file) {
84+
uploadFile(file);
85+
}
7186
}}
72-
>
73-
<UploadIcon/>
74-
<input
75-
id="fileInput"
76-
type="file"
77-
accept=".pdf"
78-
style={{display: 'none'}}
79-
onChange={(event) => {
80-
const files = event.target.files;
81-
if (!files || files.length === 0) return;
82-
const file = files[0];
83-
if (file) {
84-
uploadFile(file);
85-
}
86-
}}
87-
/>
88-
</div>
89-
<button
90-
className="cursor-pointer px-4 py-2 rounded-full bg-blue-500 text-white text-sm flex items-center gap-1 hover:bg-blue-600 transition"
91-
onClick={() => setShowPrompt(true)}
92-
>
93-
<span className="text-base">📄</span> Analyze my resume
94-
</button>
95-
{/*🛈 /!* Example icon - you can use actual icons here *!/*/}
96-
{/*💼 /!* Example icon for interview *!/*/}
87+
/>
88+
</div>
89+
<button
90+
className="cursor-pointer px-4 py-2 rounded-full bg-blue-500 text-white text-sm flex items-center gap-1 hover:bg-blue-600 transition"
91+
onClick={() => setShowPrompt(true)}
92+
>
93+
<span className="text-base">📄</span> Analyze my resume
94+
</button>
95+
{/*🛈 /!* Example icon - you can use actual icons here *!/*/}
96+
{/*💼 /!* Example icon for interview *!/*/}
9797
</div>
9898
{/* input row */}
9999
<div style={{display: 'flex', alignItems: 'center'}}>
100-
<Textarea
101-
className="flex-1"
102-
value={message}
103-
onChange={(e) => setMessage(xss(e.target.value))}
104-
onKeyUp={(e) => {
105-
// listen for enter key
106-
if (e.key === "Enter" && !e.shiftKey) {
107-
e.preventDefault();
108-
handleSend();
109-
}
110-
}}
111-
/>
100+
<Textarea
101+
className="flex-1"
102+
value={message}
103+
onChange={(e) => setMessage(xss(e.target.value))}
104+
onKeyUp={(e) => {
105+
// listen for enter key
106+
if (e.key === "Enter" && !e.shiftKey) {
107+
e.preventDefault();
108+
handleSend();
109+
}
110+
}}
111+
/>
112112
</div>
113-
</div>
113+
</div>
114114
)
115115
}
116116

0 commit comments

Comments
 (0)