All files / src/components/PackageCard PackageCard.tsx

0% Statements 0/5
0% Branches 0/3
0% Functions 0/2
0% Lines 0/4

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                                                               
import { createContext, FunctionComponent, useContext } from "react";
import { PackageCardType } from "./constants";
import { WideCard } from "./WideCard";
import { ExtendedCatalogPackage } from "../../api/catalog-search";
 
export interface PackageCardProps {
  "data-event"?: string;
  pkg: ExtendedCatalogPackage;
  variant?: PackageCardType;
}
 
interface PackageCardState extends ExtendedCatalogPackage {
  comment?: string;
  dataEvent?: string;
}
 
const PackageCardContext = createContext<PackageCardState | null>(null);
 
export const usePackageCard = () => useContext(PackageCardContext)!;
 
export const PackageCard: FunctionComponent<PackageCardProps> = ({
  "data-event": dataEvent,
  pkg,
  variant = PackageCardType.Wide,
}) => {
  return (
    <PackageCardContext.Provider value={{ ...pkg, dataEvent }}>
      {variant === PackageCardType.Wide && <WideCard />}
    </PackageCardContext.Provider>
  );
};