Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16003 | Rev 16006 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 16003 Rev 16004
Línea 17... Línea 17...
17
const Chat = ({ entity }) => {
17
const Chat = ({ entity }) => {
18
  const [oldMessages, setOldMessages] = useState([]);
18
  const [oldMessages, setOldMessages] = useState([]);
19
  const [messages, setMessages] = useState([]);
19
  const [messages, setMessages] = useState([]);
20
  const [totalPages, setTotalPages] = useState(1);
20
  const [totalPages, setTotalPages] = useState(1);
21
  const [currentPage, setCurrentPage] = useState(1);
21
  const [currentPage, setCurrentPage] = useState(1);
-
 
22
 
22
  const [loading, setLoading] = useState(false);
23
  const [loading, setLoading] = useState(false);
-
 
24
  const [isGettingMessages, setIsGettingMessages] = useState(false);
Línea 23... Línea 25...
23
 
25
 
24
  const [showEmojione, setShowEmojione] = useState(false);
26
  const [showEmojione, setShowEmojione] = useState(false);
Línea 25... Línea 27...
25
  const [selectedFile, setSelectedFile] = useState("");
27
  const [selectedFile, setSelectedFile] = useState("");
Línea 76... Línea 78...
76
  };
78
  };
Línea 77... Línea 79...
77
 
79
 
78
  const onIntersection = (entities) => {
80
  const onIntersection = (entities) => {
79
    const target = entities[0];
81
    const target = entities[0];
-
 
82
    if (target.isIntersecting && currentPage < totalPages) {
80
    if (target.isIntersecting && currentPage < totalPages) {
83
      setIsGettingMessages(true);
81
      setCurrentPage((prevState) => prevState + 1);
84
      setCurrentPage((prevState) => prevState + 1);
82
      scrollTo(scrollList, 200);
85
      scrollTo(scrollList, 200);
83
    }
86
    }
Línea 84... Línea 87...
84
  };
87
  };
85
 
88
 
86
  const getOldMessages = () => {
89
  const getOldMessages = () => {
87
    setLoading(true);
90
    setIsGettingMessages(true);
88
    axios
91
    axios
89
      .get(`${url_get_all_messages}?page=${currentPage}`)
92
      .get(`${url_get_all_messages}?page=${currentPage}`)
90
      .then(({ data: response }) => {
93
      .then(({ data: response }) => {
91
        const { data, success } = response;
94
        const { data, success } = response;
92
        if (success && data.page > 1) {
95
        if (success && data.page > 1) {
93
          setOldMessages([...data.items.slice().reverse(), ...oldMessages]);
96
          setOldMessages([...data.items.slice().reverse(), ...oldMessages]);
94
        }
97
        }
95
      })
98
      })
Línea 96... Línea 99...
96
      .finally(() => setLoading(false));
99
      .finally(() => setIsGettingMessages(false));
97
  };
100
  };
98
 
101
 
Línea 199... Línea 202...
199
      <MessagesList
202
      <MessagesList
200
        isLastPage={currentPage >= totalPages}
203
        isLastPage={currentPage >= totalPages}
201
        messages={[...oldMessages, ...messages]}
204
        messages={[...oldMessages, ...messages]}
202
        onIntersection={onIntersection}
205
        onIntersection={onIntersection}
203
        scrollRef={scrollList}
206
        scrollRef={scrollList}
-
 
207
        isLoading={isGettingMessages}
204
      />
208
      />
205
      <div className={styles.chat__input__container}>
209
      <div className={styles.chat__input__container}>
206
        {showEmojione && <Emojione onClickEmoji={onClickEmoji} />}
210
        {showEmojione && <Emojione onClickEmoji={onClickEmoji} />}
207
        <form
211
        <form
208
          onSubmit={handleSubmit(onHandleSubmit)}
212
          onSubmit={handleSubmit(onHandleSubmit)}