Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 4373 Rev 4374
Línea 1... Línea 1...
1
/* eslint-disable react/prop-types */
1
/* eslint-disable react/prop-types */
2
import React, { useEffect, useRef } from 'react';
2
import React, { useEffect, useRef } from 'react';
-
 
3
import EmptySection from '../../shared/empty-section/EmptySection';
-
 
4
import Spinner from '../../shared/loading-spinner/Spinner';
3
import MessageBox from './MessageBox';
5
import MessageBox from './MessageBox';
4
import MessageTemplate from './MessageTemplate';
6
import MessageTemplate from './MessageTemplate';
Línea 5... Línea 7...
5
 
7
 
6
const Chatmail = ({
-
 
7
    messages,
8
const Chatmail = ({
8
    selectedConversation = null,
9
    selectedConversation = null,
9
    onSend,
10
    messages = [],
-
 
11
    backendVars = {},
-
 
12
    loading = false,
10
    backendVars,
13
    setConversation = () => { },
11
    getMoreMessages,
14
    getMoreMessages = () => { },
12
    handleShowConversation,
15
    onSend = () => { },
13
    setMsgs
16
    setMsgs = () => { },
Línea 14... Línea 17...
14
}) => {
17
}) => {
Línea 15... Línea 18...
15
 
18
 
Línea 26... Línea 29...
26
            observer.observe(lastMessage.current)
29
            observer.observe(lastMessage.current)
27
        }
30
        }
28
    }, [messages]);
31
    }, [messages]);
Línea 29... Línea 32...
29
 
32
 
30
    if (selectedConversation) {
33
    if (selectedConversation) {
31
        <div className='message-select-conversation'>
34
        return (
32
            <div className='msgs-select-container'>
35
            <EmptySection
33
                <i className='fas fa-comments icon' />
-
 
34
                <h3>
36
                Icon={<i className='fas fa-comments icon' />}
35
                    No hay mensajes
-
 
36
                </h3>
37
                message='No hay mensajes'
37
            </div>
38
            />
38
        </div>
39
        )
Línea 39... Línea 40...
39
    }
40
    }
40
 
41
 
41
    return (
42
    return (
42
        <div className='chat'>
43
        <div className='chat'>
43
            <div className='icon-hide' onClick={() => handleShowConversation(false)}>
44
            <div className='icon-hide' onClick={() => setConversation(null)}>
44
                <i className="fas fa-angle-left" />
45
                <i className="fas fa-angle-left" />
45
                <span>
46
                <span>
46
                    Volver
47
                    Volver
47
                </span>
48
                </span>
48
            </div>
49
            </div>
49
            <a href={selectedConversation.profile}>
50
            <a href={selectedConversation.profile}>
50
                <h2 className='chat-header'>
51
                <h2 className='chat-header'>
51
                    {selectedConversation.name}
52
                    {selectedConversation.name}
-
 
53
                </h2>
-
 
54
            </a>
-
 
55
            {loading
52
                </h2>
56
                ? <Spinner />
53
            </a>
57
                :
54
            <div className="messages-line">
58
                <div className="messages-line">
55
                {messages.length
59
                    {messages.length
56
                    ? messages.map((element, index) => {
60
                        ? messages.map((element, index) => {
57
                        return (
61
                            return (
58
                            <MessageTemplate
62
                                <MessageTemplate
59
                                key={index}
63
                                    key={index}
60
                                message={element}
64
                                    message={element}
61
                                date={element.date}
65
                                    date={element.date}
62
                            />
66
                                />
63
                        )
67
                            )
64
                    })
68
                        })
65
                    :
69
                        :
66
                    <div className='message-select-conversation'>
70
                        <div className='message-select-conversation'>
67
                        <div className='msgs-select-container'>
71
                            <div className='msgs-select-container'>
-
 
72
                                <i className='fas fa-inbox icon' />
68
                            <i className='fas fa-inbox icon' />
73
                                <h3>No hay mensajes en esta conversación</h3>
69
                            <h3>No hay mensajes en esta conversación</h3>
-
 
70
                        </div>
74
                            </div>
71
                    </div>
75
                        </div>
72
                }
76
                    }
73
                <hr ref={lastMessage} style={{ visibility: 'hidden' }} />
77
                    <hr ref={lastMessage} style={{ visibility: 'hidden' }} />
74
            </div>
78
                </div>}
75
            <MessageBox
79
            <MessageBox
76
                setMsgs={setMsgs}
80
                setMsgs={setMsgs}
77
                onSend={onSend}
81
                onSend={onSend}