| 3462 |
stevensc |
1 |
import React from 'react';
|
|
|
2 |
import { styled, Typography } from '@mui/material';
|
|
|
3 |
|
|
|
4 |
const StyledGrid = styled('div')`
|
|
|
5 |
display: grid;
|
|
|
6 |
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
|
7 |
gap: 1rem;
|
|
|
8 |
`;
|
|
|
9 |
|
|
|
10 |
export function Grid({ items = [], renderItem = () => {}, emptyMessage = '' }) {
|
|
|
11 |
if (!items.length) {
|
|
|
12 |
return <Typography>{emptyMessage}</Typography>;
|
|
|
13 |
}
|
|
|
14 |
|
|
|
15 |
return <StyledGrid>{items.map((item, index) => renderItem(item, index))}</StyledGrid>;
|
|
|
16 |
}
|