chat scroll trial 1

This commit is contained in:
YasinOnm08 2024-10-01 10:39:21 +02:00
parent 8c14760027
commit 853967f8e7
2 changed files with 18 additions and 14 deletions

View file

@ -14,32 +14,34 @@ interface ConversationProps {
}
const ConversationFrontend = React.forwardRef<HTMLDivElement, ConversationProps>(
({ messages, onResendClick, onEditClick, onCopyClick, isClicked}, ref: ForwardedRef<HTMLDivElement>) => {
const endOfMessagesRef = useRef<HTMLDivElement>(null);
({ messages, onResendClick, onEditClick, onCopyClick, isClicked }, ref: ForwardedRef<HTMLDivElement>) => {
useEffect(() => {
if (ref && typeof ref !== 'function') {
const element = ref as React.RefObject<HTMLDivElement>;
if (element.current) {
element.current.scrollTop = element.current.scrollHeight;
}
}
}, [messages, ref]);
return (
<div className="output">
<div className="conversation resize" id="conversation" ref={ref}>
<div className="output" ref={ref}>
<div className="conversation resize" id="conversation">
{messages.map((message, index) => {
let isUserMessage
if (message.role == "user") {
isUserMessage = message
}
if (index >= 1){
return (
<div
key={index}
className={isUserMessage ? 'user-message' : 'ai-message'}
className={message.role === "user" ? 'user-message' : 'ai-message'}
>
<p> {message.content}</p>
</div>
);
}
})}
{/* Dummy div to mark the end of the conversation for auto-scrolling */}
<div ref={endOfMessagesRef} />
<div className="button-container">
<button type="button" onClick={onResendClick}>
<img src="/img/resend.svg" alt="resend" />