Add new documents and images to the public directory
All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
All checks were successful
Build and Deploy Gabriel Kaszewski Portfolio / build-and-deploy-local (push) Successful in 1m32s
- 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
This commit is contained in:
35
components/writings-list.tsx
Normal file
35
components/writings-list.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user