aboutsummaryrefslogtreecommitdiff
path: root/vnext/src/ui/Contacts.js
blob: 1e3e3072adfec30bfa73ba897ae14bb7ba867c09 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { useEffect, useState } from 'react';
import { Helmet } from 'react-helmet';

import { getChats } from '../api';


import Contact from './Contact.js';
import { ChatSpinner } from './Spinner';

/**
 *
 */
export default function Contacts(props) {
    const [pms, setPms] = useState([]);
    useEffect(() => {
        getChats()
            .then(response => {
                setPms(response.data.pms);
            });
    }, []);
    return (
        <div className="msg-cont">
            <Helmet>
                <title>Messages</title>
            </Helmet>
            <div style={chatListStyle}>
                {
                    pms.length ? pms.map((chat) =>
                        <Contact key={chat.uname} user={chat} style={chatTitleStyle} />
                    ) : <><ChatSpinner /><ChatSpinner /><ChatSpinner /><ChatSpinner /><ChatSpinner /></>
                }
            </div>
        </div>
    );
}

const wrapperStyle = {
    display: 'flex',
    backgroundColor: '#fff'
};

const chatListStyle = {
    display: 'flex',
    flexDirection: 'column',
    width: '100%',
    padding: '12px'
};

const chatTitleStyle = {
    width: '100%',
    padding: '12px',
    textAlign: 'left',
    background: 'var(--main-background-color)',
    color: 'var(--text-color)',
    borderBottom: '1px solid var(--border-color)'
};