Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15999 | Rev 16003 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15852 stevensc 1
import React, { useRef, useEffect } from "react";
15851 stevensc 2
import Message from "./Messages";
3
 
4
import styles from "../chat.module.scss";
5
 
16001 stevensc 6
const MessagesList = ({ messages, onIntersection, isLastPage, scrollRef }) => {
15851 stevensc 7
  const loadMoreEl = useRef();
8
 
9
  useEffect(() => {
10
    const observer = new IntersectionObserver(onIntersection);
11
 
12
    if (loadMoreEl.current) {
13
      observer.observe(loadMoreEl.current);
14
    }
15
 
16
    return () => {
17
      observer.disconnect();
18
    };
15852 stevensc 19
  }, [messages]);
15851 stevensc 20
 
21
  return (
16001 stevensc 22
    <div className={styles.messagesContainer} ref={scrollRef}>
23
      <div className={styles.messageWrapper}>
24
        {!isLastPage && <p ref={loadMoreEl}>Cargando...</p>}
25
        {messages.map((message) => (
26
          <Message message={message} key={message.id} />
27
        ))}
28
      </div>
15851 stevensc 29
    </div>
30
  );
31
};
32
 
33
export default MessagesList;