Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1747 stevensc 1
import React from 'react'
2
import { Link } from 'react-router-dom'
3
import {
4
  IconButton,
5
  Paper,
6
  Table,
7
  TableBody,
8
  TableCell,
9
  TableContainer,
10
  TableHead,
11
  TableRow,
12
  Typography,
13
  styled,
14
  tableCellClasses
15
} from '@mui/material'
16
import { Visibility } from '@mui/icons-material'
17
 
18
const StyledTableCell = styled(TableCell)(() => ({
19
  borderColor: 'var(--font-color)',
20
  [`&.${tableCellClasses.head}`]: {
21
    fontWeight: '600'
22
  },
23
  [`&.${tableCellClasses.body}`]: {
24
    position: 'relative',
25
    borderRight: '1px solid',
1756 stevensc 26
    fontWeight: '500'
1747 stevensc 27
  }
28
}))
29
 
30
export default function ReportTable({ reports = [] }) {
31
  if (!reports || reports.length === 0) {
32
    return <Typography variant='h2'>No hay reportes disponibles</Typography>
33
  }
34
 
35
  return (
36
    <TableContainer
37
      component={Paper}
38
      sx={{ border: '1px solid var(--font-color)' }}
39
    >
40
      <Table sx={{ minWidth: 650 }} aria-label='simple table'>
41
        <TableHead>
42
          <TableRow>
43
            <StyledTableCell>Email</StyledTableCell>
44
            <StyledTableCell align='right'>Nombre completo</StyledTableCell>
45
            <StyledTableCell align='right'>Estatus</StyledTableCell>
46
            <StyledTableCell align='right'>Motivo</StyledTableCell>
47
            <StyledTableCell align='right'>Tipo</StyledTableCell>
48
            <StyledTableCell align='right'>Fecha</StyledTableCell>
1749 stevensc 49
            <StyledTableCell align='center'>Acciones</StyledTableCell>
1747 stevensc 50
          </TableRow>
51
        </TableHead>
52
        <TableBody>
53
          {reports.map(
54
            (
55
              {
56
                first_name,
57
                last_name,
58
                email,
59
                status,
60
                reason,
61
                type,
62
                date,
63
                actions
64
              },
65
              key
66
            ) => (
1756 stevensc 67
              <TableRow
68
                key={key}
69
                sx={{
1757 stevensc 70
                  '& td:last-child': { borderRight: 0 },
1756 stevensc 71
                  '&:last-child td, &:last-child th': { borderBottom: 0 }
72
                }}
73
              >
1747 stevensc 74
                <StyledTableCell component='th' scope='row'>
75
                  {email}
76
                </StyledTableCell>
77
                <StyledTableCell align='right'>{`${first_name} ${last_name}`}</StyledTableCell>
78
                <StyledTableCell align='right'>{status}</StyledTableCell>
79
                <StyledTableCell align='right'>{reason}</StyledTableCell>
80
                <StyledTableCell align='right'>{type}</StyledTableCell>
81
                <StyledTableCell align='right'>{date}</StyledTableCell>
1749 stevensc 82
                <StyledTableCell align='center'>
1747 stevensc 83
                  <IconButton component={Link} to={actions?.link_view}>
84
                    <Visibility />
85
                  </IconButton>
86
                </StyledTableCell>
87
              </TableRow>
88
            )
89
          )}
90
        </TableBody>
91
      </Table>
92
    </TableContainer>
93
  )
94
}