feat: major UI/UX overhaul, snippets system, and performance fixes
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 9m26s

This commit is contained in:
2026-02-16 12:31:40 +01:00
parent 6f62b37c3a
commit a5dba298f3
41 changed files with 1610 additions and 499 deletions

View File

@@ -5,8 +5,14 @@ import Projects from "../components/Projects";
import Contact from "../components/Contact";
import Footer from "../components/Footer";
import Script from "next/script";
import { useEffect } from "react";
export default function HomePage() {
useEffect(() => {
// Force scroll to top on mount to prevent starting at lower sections
window.scrollTo(0, 0);
}, []);
return (
<div className="min-h-screen">
<Script

View File

@@ -1,13 +1,11 @@
"use client";
import { ExternalLink, ArrowLeft, Github as GithubIcon, Calendar } from "lucide-react";
import Link from "next/link";
import { ExternalLink, ArrowLeft, Github as GithubIcon } from "lucide-react";
import { useEffect, useState } from "react";
import ReactMarkdown from "react-markdown";
import { useTranslations } from "next-intl";
import Image from "next/image";
import { useRouter } from "next/navigation";
import { Skeleton } from "../components/ui/Skeleton";
export type ProjectDetailData = {
id: number;

View File

@@ -9,13 +9,14 @@ import Image from "next/image";
import { Skeleton } from "../components/ui/Skeleton";
export type ProjectListItem = {
id: number;
id: number | string; // Allow both for Directus (string) and Prisma (number) compatibility
slug: string;
title: string;
description: string;
tags: string[];
category: string;
date?: string;
createdAt?: string;
imageUrl?: string | null;
};