All files / src/apps/containers/components ContainerCards.tsx

33.33% Statements 1/3
0% Branches 0/2
0% Functions 0/2
33.33% Lines 1/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67                                    1x                                                                                                
import React from "react";
import { Grid, Typography, Box } from "@mui/material";
import ContainerCard from "./ContainerCard";
 
export interface Card {
  name: string;
  short_code: string;
  owner: string;
  owner_type: string;
  description: string;
  url: string;
}
 
interface Props {
  cards: Card[];
  title: string;
}
 
const ContainerCards: React.FC<Props> = ({ cards, title }) => {
  return (
    <Box width="100%" p={4} paddingBottom={"4rem"}>
      <Grid
        item
        xs={12}
        container
        spacing={2}
        justifyContent="center"
        data-testid="cards"
      >
        {cards.length === 0 ? (
          <Typography component="span" variant="h6" data-testid="noCards">
            No {title}
          </Typography>
        ) : (
          ""
        )}
        {cards.map(
          (
            {
              name,
              short_code: shortCode,
              owner,
              owner_type: ownerType,
              description,
              url
            },
            index
          ) => (
            <ContainerCard
              key={index}
              name={name}
              short_code={shortCode}
              owner={owner}
              owner_type={ownerType}
              description={description}
              url={url}
              index={index}
            />
          )
        )}
      </Grid>
    </Box>
  );
};
 
export default ContainerCards;