meshtastic/src/pages/downloads/_components/DownloadCard.tsx

147 lines
3.2 KiB
TypeScript
Raw Normal View History

import React from 'react';
2022-02-03 15:24:25 -08:00
export interface downloadCardProps {
2022-02-03 15:24:25 -08:00
client: string;
imgUrl: string;
url: string;
imgUrl2: string;
url2: string;
2022-02-03 15:24:25 -08:00
notes: string;
buttonText: string;
}
export const DownloadCard = ({
client,
imgUrl,
url,
imgUrl2,
url2,
2022-02-03 15:24:25 -08:00
notes,
buttonText,
}: downloadCardProps): JSX.Element => {
2022-02-03 15:24:25 -08:00
return (
<div className="card">
<div
className="card__header"
style={{ display: 'flex', justifyContent: 'space-between' }}
2022-02-03 15:24:25 -08:00
>
<h3>{client}</h3>
</div>
<div
className="card__body"
style={{ display: 'flex', justifyContent: 'center' }}
2022-02-03 15:24:25 -08:00
>
{buttonText ? (
<a href={url} className="button button--secondary button--block">
{buttonText}
</a>
) : (
<div>
2022-02-04 08:48:23 -08:00
<a href={url}>
<img alt="img1" style={{ height: '4rem' }} src={imgUrl}></img>
</a>
<a href={url2}>
<img alt="img2" style={{ height: '4rem' }} src={imgUrl2}></img>
</a>
</div>
)}
2022-02-03 15:24:25 -08:00
</div>
<div className="card__footer">{notes ? notes : null}</div>
2022-02-03 15:24:25 -08:00
</div>
);
};
export const PlaceholderCard = (): JSX.Element => {
2022-02-03 15:24:25 -08:00
return (
<div
className="card"
style={{
width: '100%',
animation: 'pulse 2s infinite',
transform: 'scale(1)',
display: 'flex',
gap: '1rem',
padding: '1rem',
2022-02-03 15:24:25 -08:00
}}
>
<div
style={{
display: 'flex',
justifyContent: 'space-between',
marginBottom: '1rem',
2022-02-03 15:24:25 -08:00
}}
>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
height: '2rem',
width: '8rem',
2022-02-03 15:24:25 -08:00
}}
/>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
marginTop: '1rem',
height: '1rem',
width: '8rem',
2022-02-03 15:24:25 -08:00
}}
/>
</div>
<div
className="card__body"
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
height: '3rem',
display: 'flex',
jusifyContent: 'center',
alignItems: 'center',
2022-02-03 15:24:25 -08:00
}}
/>
<a className="button disabled button--primary button--block">&nbsp;</a>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
width: '8rem',
height: '2rem',
2022-02-03 15:24:25 -08:00
}}
/>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
width: '11rem',
height: '1rem',
2022-02-03 15:24:25 -08:00
}}
/>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
width: '9rem',
height: '1rem',
2022-02-03 15:24:25 -08:00
}}
/>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
width: '13rem',
height: '1rem',
2022-02-03 15:24:25 -08:00
}}
/>
<div
style={{
borderRadius: '0.4rem',
backgroundColor: 'gray',
width: '11rem',
height: '1rem',
2022-02-03 15:24:25 -08:00
}}
/>
</div>
);
};