2021-11-30 02:46:31 -08:00
|
|
|
import React from 'react';
|
|
|
|
|
|
|
|
import Image from '@theme/IdealImage';
|
|
|
|
|
2021-12-22 06:42:57 -08:00
|
|
|
import { Showcase } from '../../../utils/apiTypes';
|
|
|
|
import { mapUrl } from '../../../utils/map';
|
|
|
|
import { CardTags } from './CardTags';
|
2021-11-30 02:46:31 -08:00
|
|
|
|
2021-12-22 06:42:57 -08:00
|
|
|
export interface CardProps {
|
|
|
|
network: Showcase;
|
2021-11-30 02:46:31 -08:00
|
|
|
}
|
|
|
|
|
2021-12-22 06:42:57 -08:00
|
|
|
export const Card = React.memo(({ network }: CardProps) => (
|
|
|
|
<div className="card">
|
|
|
|
<div className="card__image">
|
|
|
|
<Image img={mapUrl(network.nodes ?? [])} alt={network.title} />
|
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
<h4>{network.title}</h4>
|
|
|
|
<small>{network.summary}</small>
|
|
|
|
</div>
|
|
|
|
<div className="card__footer">
|
|
|
|
<a
|
|
|
|
href={`?id=${network.id}`}
|
|
|
|
className="button button--primary button--block"
|
|
|
|
style={{ marginBottom: "0.5rem" }}
|
|
|
|
>
|
|
|
|
Get Started
|
|
|
|
</a>
|
|
|
|
<CardTags tags={network.tags} />
|
2021-11-30 02:46:31 -08:00
|
|
|
</div>
|
2021-12-22 06:42:57 -08:00
|
|
|
</div>
|
|
|
|
));
|