Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 888 Rev 889
Línea 3... Línea 3...
3
import Sidebar from './inmail/sidebar'
3
import Sidebar from './inmail/sidebar'
4
import { axios } from '../utils'
4
import { axios } from '../utils'
5
import { Modal } from 'react-bootstrap'
5
import { Modal } from 'react-bootstrap'
Línea 6... Línea 6...
6
 
6
 
7
export default props => {
-
 
8
    const defaultPage = { current: 1, last: 1 }
7
export default props => {
9
    const [conversations, setConversations] = useState([])
8
    const [conversations, setConversations] = useState([])
10
    const [showConversations, setShowConversations] = useState(false)
9
    const [showConversations, setShowConversations] = useState(false)
11
    const [selectedConversation, setSelectedConversation] = useState(null)
10
    const [selectedConversation, setSelectedConversation] = useState(null)
12
    const [page, setPage] = useState(defaultPage)
11
    const [page, setPage] = useState({ current: 1, last: 1 })
13
    const [messages, setMessages] = useState([])
12
    const [messages, setMessages] = useState([])
14
    const [isGettingMessages, setIsGettingMessages] = useState(false)
13
    const [isGettingMessages, setIsGettingMessages] = useState(false)
15
    const [visible, setVisible] = useState(false)
14
    const [visible, setVisible] = useState(false)
16
    const [searchActive, setSearchActive] = useState(false)
15
    const [searchActive, setSearchActive] = useState(false)
Línea 31... Línea 30...
31
            load()
30
            load()
32
        }, 3000)
31
        }, 3000)
33
        return () => clearInterval(interval)
32
        return () => clearInterval(interval)
34
    }, [])
33
    }, [])
Línea 35... Línea 34...
35
 
34
 
36
    const getMessages = async (conversation = selectedConversation, _page = defaultPage.current, justPaginate = false) => {
35
    const getMessages = async (conversation = selectedConversation, _page = page.current, justPaginate = false) => {
37
        try {
36
        try {
38
            const res = await axios.get(conversation.messages_link + '?page=' + _page)
37
            const res = await axios.get(conversation.messages_link + '?page=' + _page)
39
            if (justPaginate) {
38
            if (justPaginate) {
40
                setMessages([...messages, ...res.data.data])
39
                setMessages([...messages, ...res.data.data])
Línea 55... Línea 54...
55
            }
54
            }
56
        }
55
        }
57
    }
56
    }
Línea 58... Línea 57...
58
 
57
 
59
    const handleChangeConversation = async conversation => {
58
    const handleChangeConversation = async conversation => {
60
        setPage(defaultPage)
59
        setPage({current: 1, last:1})
61
        setSelectedConversation(conversation)
60
        setSelectedConversation(conversation)
62
        getMessages(conversation, defaultPage.current)
61
        getMessages(conversation, page.current)
Línea 63... Línea 62...
63
    }
62
    }
64
 
63
 
65
    const handleSend = async message => {
64
    const handleSend = async message => {
Línea 75... Línea 74...
75
                const res = await axios.post(selectedConversation.send_link, formData)
74
                const res = await axios.post(selectedConversation.send_link, formData)
76
                setMessages([res.data.data, ...messages])
75
                setMessages([res.data.data, ...messages])
77
            } catch (error) {
76
            } catch (error) {
78
                console.log('>>: err0r > ', error)
77
                console.log('>>: err0r > ', error)
79
            } finally {
78
            } finally {
80
                getMessages(selectedConversation, defaultPage.current)
79
                getMessages(selectedConversation, 1)
81
            }
80
            }
82
        }
81
        }
83
    }
82
    }
Línea 84... Línea 83...
84
 
83