Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3432 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3432 Rev 3434
Línea 1... Línea 1...
1
import React, { useEffect, useState } from 'react'
1
import React, { useEffect, useState } from 'react';
2
import { useNavigate } from 'react-router-dom'
2
import { useNavigate } from 'react-router-dom';
3
import { useSelector } from 'react-redux'
3
import { useSelector } from 'react-redux';
4
import {
4
import {
5
  Avatar,
5
  Avatar,
6
  List,
6
  List,
7
  ListItem,
7
  ListItem,
8
  ListItemAvatar,
8
  ListItemAvatar,
9
  ListItemButton,
9
  ListItemButton,
10
  ListItemText
10
  ListItemText
11
} from '@mui/material'
11
} from '@mui/material';
Línea 12... Línea 12...
12
 
12
 
13
import { useDebounce } from '@hooks'
13
import { useDebounce } from '@hooks';
Línea 14... Línea 14...
14
import { axios } from '../../utils'
14
import { axios } from '../../utils';
15
 
15
 
Línea 16... Línea 16...
16
import Input from '../UI/inputs/input'
16
import Input from '../UI/inputs/Input';
17
import Modal from '../UI/modal/Modal'
17
import Modal from '../UI/modal/Modal';
18
 
18
 
19
const StartConversationModal = ({ show, setConversation, onClose }) => {
19
const StartConversationModal = ({ show, onClose }) => {
20
  const [users, setUsers] = useState([])
20
  const [users, setUsers] = useState([]);
21
  const [search, setSearch] = useState('')
21
  const [search, setSearch] = useState('');
Línea 22... Línea 22...
22
  const debouncedSearch = useDebounce(search, 500)
22
  const debouncedSearch = useDebounce(search, 500);
23
  const navigate = useNavigate()
23
  const navigate = useNavigate();
24
  const labels = useSelector(({ intl }) => intl.labels)
24
  const labels = useSelector(({ intl }) => intl.labels);
25
 
25
 
26
  const searchUsers = async (value) => {
26
  const searchUsers = async (value) => {
27
    try {
27
    try {
28
      const { data } = await axios.get('/helpers/search-people?search=' + value)
28
      const { data } = await axios.get('/helpers/search-people?search=' + value);
29
      if (data.success) setUsers(data.data)
29
      if (data.success) setUsers(data.data);
Línea 30... Línea 30...
30
    } catch (error) {
30
    } catch (error) {
31
      console.log('>>: error > ', error)
31
      console.log('>>: error > ', error);
32
    }
32
    }
33
  }
33
  };
Línea 34... Línea 34...
34
 
34
 
35
  const openChat = (uuid) => {
35
  const openChat = (uuid) => {
36
    navigate(`/inmail/${uuid}`)
36
    navigate(`/inmail/${uuid}`);
Línea 37... Línea 37...
37
    onClose()
37
    onClose();
38
  }
38
  };
39
 
39
 
40
  useEffect(() => {
40
  useEffect(() => {
Línea 50... Línea 50...
50
        value={search}
50
        value={search}
51
      />
51
      />
Línea 52... Línea 52...
52
 
52
 
53
      <List sx={{ width: '100%' }}>
53
      <List sx={{ width: '100%' }}>
54
        {users.map((user) => {
54
        {users.map((user) => {
Línea 55... Línea 55...
55
          const { text, value } = user
55
          const { text, value } = user;
56
 
56
 
57
          return (
57
          return (
58
            <ListItem key={value} disablePadding disableRipple>
58
            <ListItem key={value} disablePadding disableRipple>
Línea 62... Línea 62...
62
                </ListItemAvatar>
62
                </ListItemAvatar>
Línea 63... Línea 63...
63
 
63
 
64
                <ListItemText primary={text} />
64
                <ListItemText primary={text} />
65
              </ListItemButton>
65
              </ListItemButton>
66
            </ListItem>
66
            </ListItem>
67
          )
67
          );
68
        })}
68
        })}
69
      </List>
69
      </List>
70
    </Modal>
70
    </Modal>
71
  )
71
  );
Línea 72... Línea 72...
72
}
72
};