2021-12-07 03:47:01 -08:00
|
|
|
import React from 'react';
|
|
|
|
|
2021-12-07 20:25:21 -08:00
|
|
|
import { Release } from '@site/src/utils/github';
|
2021-12-07 03:47:01 -08:00
|
|
|
|
2021-12-07 20:25:21 -08:00
|
|
|
export interface releaseCardProps {
|
2021-12-07 03:47:01 -08:00
|
|
|
variant: string;
|
|
|
|
description: string;
|
2021-12-07 20:25:21 -08:00
|
|
|
release?: Release[];
|
2021-12-07 03:47:01 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
export const FirmwareCard = ({
|
|
|
|
variant,
|
|
|
|
description,
|
2021-12-07 20:25:21 -08:00
|
|
|
release,
|
|
|
|
}: releaseCardProps): JSX.Element => {
|
2021-12-07 03:47:01 -08:00
|
|
|
return (
|
|
|
|
<div className="card">
|
|
|
|
<div
|
|
|
|
className="card__header"
|
|
|
|
style={{ display: "flex", justifyContent: "space-between" }}
|
|
|
|
>
|
|
|
|
<h3>{variant}</h3>
|
2021-12-07 20:25:21 -08:00
|
|
|
{release?.length && <a href={release[0].html_url}>{release[0].name}</a>}
|
2021-12-07 03:47:01 -08:00
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
<p>{description}</p>
|
|
|
|
</div>
|
|
|
|
<div className="card__footer">
|
2021-12-07 20:25:21 -08:00
|
|
|
{release?.length ? (
|
2021-12-07 03:47:01 -08:00
|
|
|
<>
|
|
|
|
<a
|
2021-12-07 20:25:21 -08:00
|
|
|
href={release[0].assets[1]?.browser_download_url}
|
2021-12-07 03:47:01 -08:00
|
|
|
className="button button--secondary button--block"
|
|
|
|
>
|
|
|
|
Download
|
|
|
|
</a>
|
|
|
|
<div className="margin-top--sm">
|
|
|
|
<h3>Older versions</h3>
|
2021-12-07 20:25:21 -08:00
|
|
|
{release.slice(1, 6).map((release) => {
|
2021-12-07 03:47:01 -08:00
|
|
|
return (
|
|
|
|
<div key={release.id}>
|
|
|
|
<a href={release.assets[1]?.browser_download_url}>
|
|
|
|
{release.name}
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
})}
|
|
|
|
</div>
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<button disabled className="button button--secondary button--block">
|
|
|
|
Loading...
|
|
|
|
</button>
|
|
|
|
)}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|