Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3682 stevensc 1
import React from 'react';
2
import { Box, Typography } from '@mui/material';
3
 
4
export function Grid({
5
  items = [],
6
  renderItem = () => {},
7
  emptyMessage = '',
8
  keyExtractor = (item) => item,
9
  columns = 3,
10
  gap = 1,
11
  renderFooter
12
}) {
13
  if (!items || !items.length) {
14
    return <Typography>{emptyMessage}</Typography>;
15
  }
16
 
17
  return (
18
    <>
19
      <Box
20
        sx={{
21
          display: 'grid',
3684 stevensc 22
          gridTemplateColumns: { xs: 'repeat(1, 1fr)', md: `repeat(${columns}, 1fr)` },
3682 stevensc 23
          gap
24
        }}
25
      >
26
        {items.map((item, index) => (
27
          <Box key={keyExtractor(item, index)}>{renderItem(item, index)}</Box>
28
        ))}
29
      </Box>
30
      {renderFooter && renderFooter()}
31
    </>
32
  );
33
}