Files
HomeVibes/app/layout.tsx
2025-05-06 23:09:47 +02:00

63 lines
2.7 KiB
TypeScript

import type React from "react"
import type { Metadata } from "next"
import { Inter } from "next/font/google"
import "./globals.css"
import { ThemeProvider } from "@/components/theme-provider"
import { Code, ExternalLink, Linkedin } from "lucide-react"
const inter = Inter({ subsets: ["latin"] })
export const metadata: Metadata = {
title: "Minimalist Blog",
description: "A minimalist blog built with Next.js and Markdown",
generator: 'v0.dev'
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${inter.className} min-h-screen bg-background animated-bg overflow-y-auto`}>
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem>
<div className="container mx-auto px-4 py-8 max-w-3xl relative z-10 min-h-screen">
<header className="mb-12">
<h1 className="text-4xl font-bold tracking-tight bg-gradient-to-r from-purple-400 to-pink-600 bg-clip-text text-transparent animate-gradient">
Minimalist Blog
</h1>
<div className="mt-4 flex flex-wrap gap-3">
<a
href="https://git.bechsor.no"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-1 px-4 py-2 rounded-md bg-secondary hover:bg-secondary/80 transition-colors duration-200 text-sm font-medium group"
>
<Code className="h-4 w-4 text-purple-400 group-hover:text-pink-400 transition-colors duration-200" />
<span>public code</span>
<ExternalLink className="h-3 w-3 opacity-70" />
</a>
<a
href="https://www.linkedin.com/in/jensbs/"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-1 px-4 py-2 rounded-md bg-secondary hover:bg-secondary/80 transition-colors duration-200 text-sm font-medium group"
>
<Linkedin className="h-4 w-4 text-purple-400 group-hover:text-pink-400 transition-colors duration-200" />
<span>linkedin</span>
<ExternalLink className="h-3 w-3 opacity-70" />
</a>
</div>
</header>
<main>{children}</main>
<footer className="mt-20 pt-8 border-t border-border/40 text-muted-foreground text-sm">
<p>© {new Date().getFullYear()} Minimalist Blog. All rights reserved.</p>
</footer>
</div>
</ThemeProvider>
</body>
</html>
)
}