Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 5188 Rev 5189
Línea 5... Línea 5...
5
import { addNotification } from '../redux/notification/notification.actions'
5
import { addNotification } from '../redux/notification/notification.actions'
6
import { axios } from '../utils'
6
import { axios } from '../utils'
7
import ChatMail from './inmail/inmail'
7
import ChatMail from './inmail/inmail'
8
import Sidebar from './inmail/sidebar'
8
import Sidebar from './inmail/sidebar'
Línea 9... Línea 9...
9
 
9
 
Línea 10... Línea 10...
10
const defaultPages = { current: 1, last: 1 }
10
const DEFAULT_PAGES = { current: 1, last: 1 }
11
 
11
 
12
const Inmail = () => {
12
const Inmail = () => {
13
  const [messages, setMessages] = useState([])
13
  const [messages, setMessages] = useState([])
14
  const [pages, setPages] = useState(defaultPages)
14
  const [pages, setPages] = useState(DEFAULT_PAGES)
15
  const [selectedConversation, setSelectedConversation] = useState(null)
15
  const [selectedConversation, setSelectedConversation] = useState(null)
Línea 16... Línea 16...
16
  const [loading, setLoading] = useState(false)
16
  const [loading, setLoading] = useState(false)
17
  const dispatch = useDispatch()
17
  const dispatch = useDispatch()
18
 
18
 
19
  const getMessages = async ({ messages_link = '', page = defaultPages.current }) => {
19
  const getMessages = async ({ messages_link = '', page = DEFAULT_PAGES.current }) => {
Línea 20... Línea 20...
20
    try {
20
    try {
21
      setLoading(true)
21
      setLoading(true)
Línea 22... Línea -...
22
      const { data: response } = await axios.get(`${messages_link}?page=' + ${page}`)
-
 
23
 
22
      const { data: response } = await axios.get(`${messages_link}?page=${page}`)
24
      if (!response.success) {
-
 
25
        const errorMessage = response.data
-
 
26
 
23
 
27
        setPages(defaultPages)
24
      if (!response.success) {
Línea 28... Línea 25...
28
        dispatch(addNotification({ style: 'danger', msg: errorMessage.message }))
25
        const errorMessage = response.data
29
        setLoading(false)
26
 
-
 
27
        dispatch(addNotification({ style: 'danger', msg: errorMessage.message }))
30
 
28
        return
31
        return
-
 
32
      }
29
      }
Línea 33... Línea -...
33
 
-
 
34
      if (page > 1) {
30
 
35
        setPages((prevPages) => ({ ...prevPages, last: response.pagination.last }))
-
 
36
        setMessages(prev => [...prev, response.data])
31
      if (page === 1) {
37
        return
32
        setMessages(response.data)
38
      }
33
      } else {
-
 
34
        setMessages(prev => [...prev, response.data])
-
 
35
      }
39
 
36
 
40
      setPages((prevPages) => ({ ...prevPages, last: response.pagination.last }))
37
      setPages(response.pagination)
Línea 41... Línea 38...
41
      setMessages(response.data)
38
    } catch (error) {
42
      setLoading(false)
39
      const errorMessage = new Error(error)
Línea 53... Línea 50...
53
      Object.entries(message).forEach(([key, value]) => formData.append(key, value))
50
      Object.entries(message).forEach(([key, value]) => formData.append(key, value))
Línea 54... Línea 51...
54
 
51
 
55
      const { data: response } = await axios.post(sendUrl, formData)
52
      const { data: response } = await axios.post(sendUrl, formData)
56
      setMessages(prev => [response.data, ...prev])
53
      setMessages(prev => [response.data, ...prev])
57
    } catch (error) {
54
    } catch (error) {
-
 
55
      const errorMessage = new Error(error)
58
      console.log('>>: err0r > ', error)
56
      dispatch(addNotification({ style: 'danger', msg: errorMessage.message }))
59
    }
57
    }
Línea 60... Línea 58...
60
  }
58
  }
-
 
59
 
-
 
60
  const changeConversation = (conversation) => {
Línea 61... Línea 61...
61
 
61
    setSelectedConversation(conversation)
62
  const changeConversation = (conversation) => setSelectedConversation(conversation)
62
  }
63
 
63
 
64
  const getMoreMessages = () => {
64
  const getMoreMessages = () => {
Línea 65... Línea 65...
65
    if (pages.current + 1 > pages.last) {
65
    if (pages.current + 1 > pages.last) {
66
      return null
66
      return null
Línea 67... Línea 67...
67
    }
67
    }
68
 
-
 
69
    setPages((prevPages) => ({ ...prevPages, current: prevPages.current + 1 }))
-
 
70
  }
-
 
71
 
-
 
72
  useEffect(() => {
-
 
73
    setPages(defaultPages)
68
 
74
    getMessages(selectedConversation?.messages_link)
69
    getMessages({ messages_link: selectedConversation.messages_link, page: pages.current + 1 })
75
  }, [selectedConversation])
70
  }
76
 
71
 
77
  useEffect(() => {
72
  useEffect(() => {
Línea 85... Línea 80...
85
      clearTimeout(timer)
80
      clearTimeout(timer)
86
    }
81
    }
87
  }, [loading, selectedConversation])
82
  }, [loading, selectedConversation])
Línea 88... Línea 83...
88
 
83
 
-
 
84
  useEffect(() => {
89
  useEffect(() => {
85
    setPages(DEFAULT_PAGES)
90
    getMessages({ messages_link: selectedConversation?.messages_link, page: pages.current })
86
    if (selectedConversation) getMessages({ messages_link: selectedConversation.messages_link })
Línea 91... Línea 87...
91
  }, [pages.current])
87
  }, [selectedConversation])
92
 
88
 
93
  return (
89
  return (
94
  <div className="messages-sec container">
90
  <div className="messages-sec container">