You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
937 B
36 lines
937 B
import { Button } from 'antd'; |
|
import dynamic from 'next/dynamic'; |
|
import { FC, MutableRefObject } from 'react'; |
|
import { ChatMessage } from '../../../interfaces/chat-message.model'; |
|
import styles from './ChatContainer.module.scss'; |
|
|
|
// Lazy loaded components |
|
|
|
const VerticalAlignBottomOutlined = dynamic( |
|
() => import('@ant-design/icons/VerticalAlignBottomOutlined'), |
|
{ |
|
ssr: false, |
|
}, |
|
); |
|
type Props = { |
|
chatContainerRef: MutableRefObject<any>; |
|
messages: ChatMessage[]; |
|
}; |
|
|
|
export const ScrollToBotBtn: FC<Props> = ({ chatContainerRef, messages }) => ( |
|
<div className={styles.toBottomWrap}> |
|
<Button |
|
type="default" |
|
style={{ color: 'currentColor' }} |
|
icon={<VerticalAlignBottomOutlined />} |
|
onClick={() => |
|
chatContainerRef.current.scrollToIndex({ |
|
index: messages.length - 1, |
|
behavior: 'auto', |
|
}) |
|
} |
|
> |
|
Go to last message |
|
</Button> |
|
</div> |
|
);
|
|
|