🎨 Complete Portfolio Redesign: Modern Dark Theme + Admin Dashboard + Enhanced Markdown Editor
✨ New Features: - Complete dark theme redesign with glassmorphism effects - Responsive admin dashboard with collapsible projects list - Enhanced markdown editor with live preview - Project image upload functionality - Improved project management (create, edit, delete, publish/unpublish) - Slug-based project URLs - Legal pages (Impressum, Privacy Policy) - Modern animations with Framer Motion 🔧 Improvements: - Fixed hydration errors with mounted state - Enhanced UI/UX with better spacing and proportions - Improved markdown rendering with custom components - Better project image placeholders with initials - Conditional rendering for GitHub/Live Demo links - Enhanced toolbar with categorized quick actions - Responsive grid layout for admin dashboard 📱 Technical: - Next.js 15 + TypeScript + Tailwind CSS - Local storage for project persistence - Optimized performance and responsive design
This commit is contained in:
@@ -1,64 +1,58 @@
|
||||
// app/layout.tsx
|
||||
|
||||
import "./globals.css";
|
||||
|
||||
import {Metadata} from "next";
|
||||
|
||||
import {Roboto} from "next/font/google";
|
||||
import { Metadata } from "next";
|
||||
import { Inter } from "next/font/google";
|
||||
import React from "react";
|
||||
//import ClientCookieConsentBanner from "./components/ClientCookieConsentBanner";
|
||||
|
||||
const roboto = Roboto({
|
||||
variable: "--font-roboto",
|
||||
weight: "400",
|
||||
subsets: ["latin"],
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<script
|
||||
defer
|
||||
src="https://umami.denshooter.de/script.js"
|
||||
data-website-id="1f213877-deef-4238-8df1-71a5a3bcd142"
|
||||
></script>
|
||||
<meta charSet="utf-8"/>
|
||||
<title>Dennis Konkol's Portfolio</title>
|
||||
</head>
|
||||
<body className={roboto.variable}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<script
|
||||
defer
|
||||
src="https://umami.denshooter.de/script.js"
|
||||
data-website-id="1f213877-deef-4238-8df1-71a5a3bcd142"
|
||||
></script>
|
||||
<meta charSet="utf-8"/>
|
||||
<title>Dennis Konkol's Portfolio</title>
|
||||
</head>
|
||||
<body className={inter.variable}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Dennis Konkol | Portfolio",
|
||||
description: "Portfolio of Dennis Konkol, a student and software engineer based in Osnabrück, Germany. Passionate about technology, coding, and solving real-world problems.",
|
||||
keywords: ["Dennis Konkol", "Software Engineer", "Portfolio", "Student"],
|
||||
authors: [{name: "Dennis Konkol", url: "https://dki.one"}],
|
||||
openGraph: {
|
||||
title: "Dennis Konkol | Portfolio",
|
||||
description: "Portfolio of Dennis Konkol, a student and software engineer based in Osnabrück, Germany. Passionate about technology, coding, and solving real-world problems.",
|
||||
keywords: ["Dennis Konkol", "Software Engineer", "Portfolio", "Student"],
|
||||
authors: [{name: "Dennis Konkol", url: "https://dki.one"}],
|
||||
openGraph: {
|
||||
title: "Dennis Konkol | Portfolio",
|
||||
description: "Explore my projects and get in touch!",
|
||||
url: "https://dki.one",
|
||||
siteName: "Dennis Konkol Portfolio",
|
||||
images: [
|
||||
{
|
||||
url: "https://dki.one/api/og",
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: "Dennis Konkol Portfolio",
|
||||
},
|
||||
],
|
||||
type: "website",
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "Dennis Konkol | Portfolio",
|
||||
description: "Student & Software Engineer based in Osnabrück, Germany.",
|
||||
images: ["https://dki.one/api/og"],
|
||||
},
|
||||
description: "Explore my projects and get in touch!",
|
||||
url: "https://dki.one",
|
||||
siteName: "Dennis Konkol Portfolio",
|
||||
images: [
|
||||
{
|
||||
url: "https://dki.one/api/og",
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: "Dennis Konkol Portfolio",
|
||||
},
|
||||
],
|
||||
type: "website",
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "Dennis Konkol | Portfolio",
|
||||
description: "Student & Software Engineer based in Osnabrück, Germany.",
|
||||
images: ["https://dki.one/api/og"],
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user