Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
821 stevensc 1
import React, { useState } from 'react'
1 www 2
 
845 stevensc 3
export default ({ conversations = [], click, selectedConversation, searchActive, showConversation, handleShowConversation }) => {
821 stevensc 4
 
5
    const [conversationSearch, setConversationSearch] = useState('');
6
    const filtredConversations = conversations.filter((conversation) => conversation.name.includes(conversationSearch))
841 stevensc 7
 
8
    const handleConversation = (element) => {
845 stevensc 9
        handleShowConversation(true);
842 stevensc 10
        click(element)
841 stevensc 11
    }
851 stevensc 12
 
821 stevensc 13
    return (
1 www 14
        <div className="messages-list">
822 stevensc 15
            <div className={`messages_conversation-search ${!searchActive && 'hide'}`}>
16
                <input
17
                    type="search"
18
                    className='form-control'
831 stevensc 19
                    placeholder='Buscar conversación'
822 stevensc 20
                    onChange={(e) => setConversationSearch(e.target.value)}
21
                />
22
            </div>
837 stevensc 23
            <ul className={`${showConversation && 'msgs-hide'}`}>
1 www 24
                {
825 stevensc 25
                    (conversations)
821 stevensc 26
                        ?
825 stevensc 27
                        filtredConversations.map((element, i) => {
821 stevensc 28
                            return (
1 www 29
                                <li
30
                                    id={i}
167 steven 31
                                    className={(selectedConversation === element ? "active" : '') + 'd-flex align-items-center'}
32
                                    style={{
33
                                        padding: '.7rem'
34
                                    }}
835 stevensc 35
                                    onClick={() => {
841 stevensc 36
                                        handleConversation(element);
835 stevensc 37
                                    }}
1 www 38
                                >
39
                                    <div className="usr-msg-details">
40
                                        <div className="usr-ms-img">
41
                                            <img src={element.image} alt={element.name} />
42
                                        </div>
43
                                        <div className="usr-mg-info">
44
                                            <h3>{element.name}</h3>
45
                                        </div>
46
                                        <span className="posted_time"> {element.last_message} </span>
47
                                        {
821 stevensc 48
                                            !!element.count_unread && parseInt(element.count_unread) > 0 && (
1 www 49
                                                <span className="msg-notifc">
50
                                                    {element.count_unread}
51
                                                </span>
52
                                            )
53
                                        }
54
                                    </div>
55
                                </li>
56
                            )
57
                        })
821 stevensc 58
                        :
59
                        <li className="active">
60
                            <div className="usr-msg-details">
61
                                <div className="usr-mg-info">
62
                                    <h3>Sin conversaciones</h3>
63
                                </div>
1 www 64
                            </div>
821 stevensc 65
                        </li>
1 www 66
 
67
                }
68
            </ul>
69
        </div>
70
    )
71
}