meshtastic/src/pages/showcase/_components/Card.tsx

34 lines
854 B
TypeScript
Raw Normal View History

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