83 lines
2.1 KiB
TypeScript
83 lines
2.1 KiB
TypeScript
import type { Metadata } from "next";
|
||
import "./globals.css";
|
||
import { ThemeProvider } from "@/components/ThemeProvider";
|
||
import Navigation from "@/components/Navigation";
|
||
|
||
export const metadata: Metadata = {
|
||
title: {
|
||
default: "Deniz Bektaş | Application Security Engineer",
|
||
template: "%s | Deniz Bektaş",
|
||
},
|
||
description: "Siber güvenlik uzmanı, red teamer ve araştırmacı.",
|
||
keywords: ["deniz bektas", "siber güvenlik", "red team", "infosec", "penetration testing", "bugresearch"],
|
||
authors: [{ name: "Deniz Bektaş" }],
|
||
openGraph: {
|
||
type: "website",
|
||
locale: "tr_TR",
|
||
siteName: "denizbektas.com.tr",
|
||
},
|
||
};
|
||
|
||
export default function RootLayout({
|
||
children,
|
||
}: {
|
||
children: React.ReactNode;
|
||
}) {
|
||
return (
|
||
<html lang="tr" suppressHydrationWarning>
|
||
<head>
|
||
<link
|
||
rel="alternate"
|
||
type="application/rss+xml"
|
||
title="Deniz Bektaş - Tüm İçerikler"
|
||
href="/api/rss/all"
|
||
/>
|
||
<link
|
||
rel="alternate"
|
||
type="application/rss+xml"
|
||
title="Deniz Bektaş - Blog"
|
||
href="/api/rss/blog"
|
||
/>
|
||
<link
|
||
rel="alternate"
|
||
type="application/rss+xml"
|
||
title="Deniz Bektaş - Infosec"
|
||
href="/api/rss/infosec"
|
||
/>
|
||
</head>
|
||
<body suppressHydrationWarning>
|
||
<ThemeProvider>
|
||
<div
|
||
style={{
|
||
display: "flex",
|
||
minHeight: "100vh",
|
||
}}
|
||
>
|
||
<Navigation />
|
||
<main
|
||
style={{
|
||
flex: 1,
|
||
minWidth: 0,
|
||
padding: "2rem",
|
||
paddingTop: "2rem",
|
||
}}
|
||
className="main-content"
|
||
>
|
||
{children}
|
||
</main>
|
||
</div>
|
||
</ThemeProvider>
|
||
<style>{`
|
||
@media (max-width: 768px) {
|
||
.main-content {
|
||
padding-top: 4rem !important;
|
||
padding-left: 1rem !important;
|
||
padding-right: 1rem !important;
|
||
}
|
||
}
|
||
`}</style>
|
||
</body>
|
||
</html>
|
||
);
|
||
}
|