Files
gabrielkaszewski-next/components/writings-list.tsx
Gabriel Kaszewski 9e95d5c544
All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
Add new documents and images to the public directory
- Added essays: qui-sumus-existential-dread.pdf and licencjat.pdf
- Added scripts: loop.pdf
- Added images: DSC_1283.avif, GAK00015.avif, GAK00017.avif, GAK00041.avif, GAK00042.avif, painter.avif, parasitic-god-1.avif, parasitic-god-2.avif, parasitic-god-3.avif, parasitic-god-4.avif, parasitic-god-5.avif, spanish-inq-1.avif, spanish-inq-2.avif, spanish-inq-3.avif, spanish-inq-4.avif, typing-game-1.avif, typing-game-2.avif
2026-08-20 01:39:14 +02:00

36 lines
988 B
TypeScript

import { Writing } from "@/lib/types";
import { FileText } from "lucide-react";
const kindLabel: Record<Writing["kind"], string> = {
essay: "Essay",
script: "Script",
other: "Other",
novel: "Novel",
};
const WritingsList = ({ writings }: { writings: Writing[] }) => {
return (
<div className="flex flex-col gap-3 w-full max-w-lg">
{writings.map((w) => (
<a
key={w.url}
href={w.url}
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-3 px-4 py-3 rounded-lg text-white hover:bg-white/10 transition-colors group"
>
<FileText className="w-5 h-5 text-yellow-400 shrink-0" />
<span className="group-hover:text-yellow-400 transition-colors">
{w.title}
</span>
<span className="text-white/40 text-sm ml-auto">
{kindLabel[w.kind]}
</span>
</a>
))}
</div>
);
};
export default WritingsList;