Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3585 stevensc 1
import React from 'react';
2
import { NavLink as Link, useLocation } from 'react-router-dom';
3
import { Typography, styled, Breadcrumbs } from '@mui/material';
1368 stevensc 4
 
3585 stevensc 5
import { useFetch } from '@hooks';
6
import colors from '@styles/colors';
1368 stevensc 7
 
1372 stevensc 8
const StyledBreadcrumbs = styled(Breadcrumbs)`
1373 stevensc 9
  li a {
1374 stevensc 10
    padding: 0.3rem 1rem;
1373 stevensc 11
    background-color: var(--font-color);
12
    color: var(--bg-color);
13
    border-radius: 20px;
14
    &.active {
15
      display: none;
16
    }
1368 stevensc 17
  }
3585 stevensc 18
`;
1368 stevensc 19
 
3585 stevensc 20
const StyledPoliciesPage = styled('div')`
21
  h1 {
22
    margin-bottom: 1rem;
23
  }
24
 
25
  h2,
26
  h3,
27
  h4,
28
  h5,
29
  h6 {
30
    margin-bottom: 0.5rem;
31
  }
32
 
33
  > p {
34
    margin-bottom: 0.5rem;
35
  }
36
 
37
  table {
3588 stevensc 38
    background-color: ${colors.background.primary};
3585 stevensc 39
 
40
    &,
41
    tr,
42
    td {
43
      border: 1px solid ${colors.border.primary};
44
    }
45
 
46
    td {
47
      padding: 5px;
48
    }
49
  }
50
`;
51
 
1368 stevensc 52
const PoliciesLayout = ({ children, title }) => {
53
  return (
2805 stevensc 54
    <>
1368 stevensc 55
      <PoliciesNavigation />
3432 stevensc 56
      <Typography variant='h1'>{title}</Typography>
3585 stevensc 57
      <StyledPoliciesPage>{children}</StyledPoliciesPage>
2805 stevensc 58
    </>
3585 stevensc 59
  );
60
};
1368 stevensc 61
 
62
const PoliciesNavigation = () => {
3585 stevensc 63
  const { data, isLoading } = useFetch('/helpers/footer');
64
  const { pathname } = useLocation();
1368 stevensc 65
 
3585 stevensc 66
  if (isLoading) return null;
1368 stevensc 67
 
68
  return (
3432 stevensc 69
    <StyledBreadcrumbs sx={{ my: 2 }} aria-label='breadcrumb'>
70
      <Link exact to='/'>
1373 stevensc 71
        Inicio
72
      </Link>
1368 stevensc 73
 
1373 stevensc 74
      {Object.entries(data).map(([href, label]) => {
75
        if (pathname.includes(href)) {
3585 stevensc 76
          return null;
1373 stevensc 77
        }
78
 
79
        return (
80
          <Link key={`${href}-${label}`} to={href}>
81
            {label}
82
          </Link>
3585 stevensc 83
        );
1373 stevensc 84
      })}
1372 stevensc 85
    </StyledBreadcrumbs>
3585 stevensc 86
  );
87
};
1368 stevensc 88
 
3585 stevensc 89
export default PoliciesLayout;