Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

import React, { useState } from 'react'

export default ({ conversations = [], click, selectedConversation, searchActive, showConversation, handleShowConversation }) => {

    const [conversationSearch, setConversationSearch] = useState('');
    const filtredConversations = conversations.filter((conversation) => conversation.name.includes(conversationSearch))
    
    const handleConversation = (element) => {
        handleShowConversation(true);
        click(element)
    }
    
    return (
        <div className="messages-list">
            <div className={`messages_conversation-search ${!searchActive && 'hide'}`}>
                <input
                    type="search"
                    className='form-control'
                    placeholder='Buscar conversación'
                    onChange={(e) => setConversationSearch(e.target.value)}
                />
            </div>
            <ul className={`${showConversation && 'msgs-hide'}`}>
                {
                    (conversations)
                        ?
                        filtredConversations.map((element, i) => {
                            return (
                                <li
                                    id={i}
                                    className={(selectedConversation === element ? "active" : '') + 'd-flex align-items-center'}
                                    style={{
                                        padding: '.7rem'
                                    }}
                                    onClick={() => {
                                        handleConversation(element);
                                    }}
                                >
                                    <div className="usr-msg-details">
                                        <div className="usr-ms-img">
                                            <img src={element.image} alt={element.name} />
                                        </div>
                                        <div className="usr-mg-info">
                                            <h3>{element.name}</h3>
                                        </div>
                                        <span className="posted_time"> {element.last_message} </span>
                                        {
                                            !!element.count_unread && parseInt(element.count_unread) > 0 && (
                                                <span className="msg-notifc">
                                                    {element.count_unread}
                                                </span>
                                            )
                                        }
                                    </div>
                                </li>
                            )
                        })
                        :
                        <li className="active">
                            <div className="usr-msg-details">
                                <div className="usr-mg-info">
                                    <h3>Sin conversaciones</h3>
                                </div>
                            </div>
                        </li>

                }
            </ul>
        </div>
    )
}