|
import React from 'react'; |
|
import { Helmet } from 'react-helmet'; |
|
import { useNavigate } from 'react-router-dom'; |
|
import AuscultateSvg from './auscultate.svg'; |
|
import EcgSvg from './ecg.svg'; |
|
import CxrSvg from './xray.svg'; |
|
|
|
const links = [ |
|
{ |
|
icon: <img src={AuscultateSvg} />, |
|
title: 'Auscultation', |
|
description: 'Heart and breath sounds', |
|
link: 'https://lysine-auscultate.hf.space/', |
|
}, |
|
{ |
|
icon: <img src={EcgSvg} />, |
|
title: 'ECG', |
|
description: 'From the PTB-XL ECG Database', |
|
link: 'https://lysine-ecg-db.hf.space/', |
|
}, |
|
{ |
|
icon: <img src={CxrSvg} />, |
|
title: 'Chest X-ray', |
|
description: 'From the NIH Chest X-ray Database', |
|
link: 'https://lysine-cxr-db.hf.space/', |
|
}, |
|
]; |
|
|
|
export default function App() { |
|
const navigate = useNavigate(); |
|
return ( |
|
<div className="flex flex-col gap-8 w-full items-center p-4 pt-16"> |
|
<Helmet> |
|
<title>Clinical Database</title> |
|
</Helmet> |
|
<p className="text-3xl text-center">Clinical Database</p> |
|
<p>A series of websites presenting med-related data for practice.</p> |
|
<div className="flex flex-col gap-8 items-stretch"> |
|
{links.map(link => ( |
|
<div |
|
key={link.title} |
|
className="card sm:card-side bg-base-300 shadow-xl w-full sm:min-w-[500px]" |
|
> |
|
<figure className="bg-accent p-4">{link.icon}</figure> |
|
<div className="card-body"> |
|
<h2 className="card-title">{link.title}</h2> |
|
<p>{link.description}</p> |
|
<div className="card-actions justify-end mt-4"> |
|
<button |
|
className="btn btn-primary" |
|
onClick={() => |
|
link.link.startsWith('http') |
|
? (window.location.href = link.link) |
|
: navigate(link.link) |
|
} |
|
> |
|
Enter |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
))} |
|
</div> |
|
</div> |
|
); |
|
} |
|
|