This commit is contained in:
everythingonblack
2025-06-08 14:11:25 +07:00

View File

@@ -1,7 +1,7 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import styles from './ChatBot.module.css'; import styles from './ChatBot.module.css';
const ChatBot = ({existingConversation, readOnly, hh}) => { const ChatBot = ({ existingConversation, readOnly, hh }) => {
const [messages, setMessages] = useState([ const [messages, setMessages] = useState([
{ {
sender: 'bot', sender: 'bot',
@@ -17,12 +17,12 @@ const ChatBot = ({existingConversation, readOnly, hh}) => {
const [input, setInput] = useState(''); const [input, setInput] = useState('');
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
useEffect(()=>{ useEffect(() => {
if (existingConversation && existingConversation.length > 0) { if (existingConversation && existingConversation.length > 0) {
setMessages(existingConversation); setMessages(existingConversation);
} }
}, [existingConversation]) }, [existingConversation])
useEffect(() => { useEffect(() => {
if (!localStorage.getItem('session')) { if (!localStorage.getItem('session')) {
function generateUUID() { function generateUUID() {
@@ -36,7 +36,7 @@ useEffect(()=>{
const sessionId = generateUUID(); const sessionId = generateUUID();
const dateNow = new Date().toISOString(); const dateNow = new Date().toISOString();
localStorage.setItem('session', JSON.stringify({ sessionId: sessionId, lastSeen: dateNow})) localStorage.setItem('session', JSON.stringify({ sessionId: sessionId, lastSeen: dateNow }))
} }
}, []); }, []);
@@ -92,7 +92,7 @@ useEffect(()=>{
}; };
return ( return (
<div className={styles.chatContainer} style={{height: hh || '100vh'}}> <div className={styles.chatContainer} style={{ height: hh || '100vh' }}>
<div className={styles.chatHeader}> <div className={styles.chatHeader}>
<img src="https://i.ibb.co/YXxXr72/bot-avatar.png" alt="Bot Avatar" /> <img src="https://i.ibb.co/YXxXr72/bot-avatar.png" alt="Bot Avatar" />
<strong>Kloowear AI Assistant</strong> <strong>Kloowear AI Assistant</strong>
@@ -152,7 +152,7 @@ useEffect(()=>{
))} ))}
</div> </div>
<div className={styles.chatInput} style={{visibility: readOnly? 'hidden': 'visible', marginTop: readOnly? '-59px' : '0px'}}> <div className={styles.chatInput} style={{ visibility: readOnly ? 'hidden' : 'visible', marginTop: readOnly ? '-59px' : '0px' }}>
<input <input
type="text" type="text"
placeholder="Ketik pesan..." placeholder="Ketik pesan..."