chat scroll trial 1
This commit is contained in:
parent
8c14760027
commit
853967f8e7
2 changed files with 18 additions and 14 deletions
|
@ -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" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue