import type { Metadata } from 'next';
import './globals.css';
import Navbar from '@/components/Navbar';
import Footer from '@/components/Footer';
import { SITE_DATA } from '@/data/site-data';

export const metadata: Metadata = {
  metadataBase: new URL('https://baybarsbilim.com.tr'),
  title: {
    default: 'Baybars Bilim | Growth Mimarisi, Yazılım Geliştirici & Programatik SEO',
    template: '%s | Baybars Bilim'
  },
  description: 'Baybars Bilim - Growth Mimarisi, Yönetim Bilişim Sistemleri (YBS), Next.js Full-Stack Yazılım, Programatik SEO ve Yapay Zeka Entegrasyonları.',
  keywords: [
    'Baybars Bilim',
    'Programatik SEO',
    'Teknik SEO',
    'Growth Mimarisi',
    'Next.js Geliştirici',
    'Node.js Yazılım',
    'Yapay Zeka Entegrasyonu',
    'Vibe Coding',
    'Klickon'
  ],
  authors: [{ name: 'Baybars Bilim', url: 'https://baybarsbilim.com.tr' }],
  creator: 'Baybars Bilim',
  alternates: {
    canonical: '/'
  },
  openGraph: {
    type: 'website',
    locale: 'tr_TR',
    url: 'https://baybarsbilim.com.tr',
    title: 'Baybars Bilim | Growth Mimarisi, Yazılım Geliştirici & Programatik SEO',
    description: 'Baybars Bilim - Growth Mimarisi, Next.js Full-Stack Yazılım, Programatik SEO ve Yapay Zeka Entegrasyonları.',
    siteName: 'Baybars Bilim'
  },
  twitter: {
    card: 'summary_large_image',
    title: 'Baybars Bilim | Growth Mimarisi & Programatik SEO',
    description: 'Baybars Bilim - Growth Mimarisi, Next.js Full-Stack Yazılım, Programatik SEO ve Yapay Zeka Entegrasyonları.'
  },
  robots: {
    index: true,
    follow: true,
    googleBot: {
      index: true,
      follow: true,
      'max-video-preview': -1,
      'max-image-preview': 'large',
      'max-snippet': -1
    }
  },
  icons: {
    icon: '/favicon.svg'
  }
};

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'Person',
    name: SITE_DATA.personal.name,
    url: 'https://baybarsbilim.com.tr',
    jobTitle: SITE_DATA.personal.title,
    worksFor: {
      '@type': 'Organization',
      name: 'Klickon',
      url: 'https://klickon.com.tr'
    },
    description: SITE_DATA.personal.bio,
    sameAs: SITE_DATA.socials.map(s => s.url)
  };

  return (
    <html lang="tr" className="scroll-smooth">
      <head>
        <link rel="preconnect" href="https://fonts.googleapis.com" />
        <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
        <link
          href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap"
          rel="stylesheet"
        />
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />
      </head>
      <body className="bg-[#0a0d14] text-slate-100 min-h-screen flex flex-col font-sans selection:bg-cyan-500 selection:text-black bg-grid-pattern relative">
        <Navbar />
        {children}
        <Footer />
      </body>
    </html>
  );
}
