Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3694 Rev 3719
Línea 1... Línea 1...
1
import React, { useState } from 'react';
1
import React from 'react';
2
import Search from '@mui/icons-material/Search';
2
import Search from '@mui/icons-material/Search';
3
import { Box, styled } from '@mui/material';
-
 
4
import { useSelector } from 'react-redux';
3
import { useSelector } from 'react-redux';
5
 
4
 
6
import { debounce } from '@utils';
5
import { debounce } from '@utils';
7
import { useFetch, useSearchQuery } from '@hooks';
6
import { useFetch, useSearchQuery } from '@hooks';
8
 
7
 
9
import Input from '@components/UI/inputs/Input';
8
import Input from '@components/UI/inputs/Input';
10
import TitleSection from '@components/UI/TitleSection';
9
import TitleSection from '@components/UI/TitleSection';
11
import MyConnectionsList from '@components/connections/MyConnectionsList';
10
import MyConnectionsList from '@components/connections/MyConnectionsList';
12
import Pagination from '@components/common/Pagination';
11
import Pagination from '@components/common/Pagination';
13
 
12
 
14
const MyConnectionsPage = () => {
13
const MyConnectionsPage = () => {
15
  const labels = useSelector(({ intl }) => intl.labels);
14
  const labels = useSelector(({ intl }) => intl.labels);
16
 
15
 
17
  const { getStringParams, setParam } = useSearchQuery();
16
  const { getStringParams, setParam } = useSearchQuery();
18
  const { data, isLoading, refetch } = useFetch(`/connection/my-connections${getStringParams()}`);
17
  const { data, isLoading, refetch } = useFetch(`/connection/my-connections${getStringParams()}`);
19
 
18
 
20
  const handleSearch = debounce((e) => setParam('search', e.target.value));
19
  const handleSearch = debounce((e) => setParam('search', e.target.value));
21
 
20
 
22
  return (
21
  return (
23
    <>
22
    <>
24
      <TitleSection title={labels.first_level_persons} />
23
      <TitleSection title={labels.first_level_persons} />
25
      <Input icon={<Search />} onChange={handleSearch} variant='search' />
24
      <Input icon={<Search />} onChange={handleSearch} variant='search' />
26
      <MyConnectionsList
25
      <MyConnectionsList
27
        connections={data.current?.items}
26
        connections={data.current?.items}
28
        loading={isLoading}
27
        loading={isLoading}
29
        onComplete={refetch}
28
        onComplete={refetch}
30
      />
29
      />
31
      <Pagination
30
      <Pagination
32
        pages={data.total?.pages}
31
        pages={data.total?.pages}
33
        page={data.current?.page}
32
        page={data.current?.page}
34
        onChange={(page) => setParam('page', page)}
33
        onChange={(page) => setParam('page', page)}
35
      />
34
      />
36
    </>
35
    </>
37
  );
36
  );
38
};
37
};
39
 
38
 
40
export default MyConnectionsPage;
39
export default MyConnectionsPage;