diff options
| author | schererleander <leander@schererleander.de> | 2025-05-30 01:01:17 +0200 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-05-30 01:01:17 +0200 |
| commit | afdc982863b6cca573f1db58e1795aa8c45fabca (patch) | |
| tree | 6b94d2ffdcb0e1b5ccbaf584c825763ab72ab99d /src/pages/Gear.tsx | |
| parent | 8f2c8393510dfefc22871661b0ef9964569e290b (diff) | |
rewrite site
Diffstat (limited to 'src/pages/Gear.tsx')
| -rw-r--r-- | src/pages/Gear.tsx | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/pages/Gear.tsx b/src/pages/Gear.tsx new file mode 100644 index 0000000..dbbcdfb --- /dev/null +++ b/src/pages/Gear.tsx @@ -0,0 +1,43 @@ +import CardLink from '../components/CardLink'; + +import { + dailyDrivers, + desktopParts, + nasParts, + type Part, +} from '../data/gear'; + +function PartsGroup({ title, parts }: { title?: string; parts: Part[] }) { + return ( + <> + {title && <h2 className="text-2xl font-semibold my-8">{title}</h2>} + <ul className="space-y-2"> + {parts.map((p) => ( + <li key={p.name}> + <CardLink + title={p.name} + body={p.description} + href={p.url} + imgSrc={p.image} + /> + </li> + ))} + </ul> + </> + ); +} + +export default function GearPage() { + return ( + <> + <title>߸ gear</title> + <h1>Gear</h1> + + <PartsGroup parts={dailyDrivers} /> + + <PartsGroup title="Desktop" parts={desktopParts} /> + + <PartsGroup title="NAS" parts={nasParts} /> + </> + ); +}
\ No newline at end of file |
