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>
);
};
|