67 lines
2.1 KiB
TypeScript
67 lines
2.1 KiB
TypeScript
import type { Metadata } from 'next'
|
|
import { Inter } from 'next/font/google'
|
|
import Link from 'next/link'
|
|
import './globals.css'
|
|
|
|
const inter = Inter({ subsets: ['latin'] })
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
template: '%s | Blog & Portofoliu',
|
|
default: 'Blog & Portofoliu',
|
|
},
|
|
description: 'Blog personal despre dezvoltare web și design',
|
|
metadataBase: new URL('http://localhost:3000'),
|
|
authors: [{ name: 'Nume Autor' }],
|
|
keywords: ['blog', 'dezvoltare web', 'nextjs', 'react', 'typescript'],
|
|
openGraph: {
|
|
type: 'website',
|
|
locale: 'ro_RO',
|
|
siteName: 'Blog & Portofoliu',
|
|
},
|
|
robots: {
|
|
index: true,
|
|
follow: true,
|
|
},
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
breadcrumbs,
|
|
}: {
|
|
children: React.ReactNode
|
|
breadcrumbs: React.ReactNode
|
|
}) {
|
|
return (
|
|
<html lang="ro">
|
|
<body className={inter.className}>
|
|
<div className="min-h-screen bg-white dark:bg-gray-900">
|
|
<header className="border-b border-gray-200 dark:border-gray-700">
|
|
<nav className="container mx-auto px-4 py-4">
|
|
<div className="flex items-center justify-between">
|
|
<Link href="/" className="text-2xl font-bold text-primary-600">
|
|
Blog
|
|
</Link>
|
|
<div className="flex space-x-6">
|
|
<Link href="/" className="hover:text-primary-600">Acasă</Link>
|
|
<Link href="/blog" className="hover:text-primary-600">Blog</Link>
|
|
<Link href="/about" className="hover:text-primary-600">Despre</Link>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
{breadcrumbs}
|
|
<main className="container mx-auto px-4 py-8">
|
|
{children}
|
|
</main>
|
|
<footer className="border-t border-gray-200 dark:border-gray-700 mt-12">
|
|
<div className="container mx-auto px-4 py-6 text-center text-gray-600 dark:text-gray-400">
|
|
© 2025 Blog & Portofoliu. Toate drepturile rezervate.
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|