import type { Metadata } from "next";
import "./globals.css";
import "../styles/reset.css";
import React from "react";
import StartupLoader from "@/components/StartupLoader";
import Script from "next/script";

export const viewport = {
    themeColor: "#00ff90",
    colorScheme: "dark",
};

export const metadata: Metadata = {
    metadataBase: new URL("https://strike-arena.kz"),
    title: "Strike Arena — Киберклуб нового уровня",
    description: "Киберклуб Strike Arena: современные ПК и PS5, VIP-кабины, быстрая бронь, турниры и вознаграждения. Бронируй онлайн и выигрывай чаще.",
    keywords: ["Strike Arena", "киберклуб", "компьютерный клуб", "игровые залы", "бронь ПК", "PlayStation", "турниры", "игры", "e-sports"],
    applicationName: "Strike Arena",
    generator: "Next.js",
    manifest: "/site.webmanifest",
    authors: [{ name: "Strike Arena Team", url: "https://strike-arena.kz" }],
    creator: "Strike Arena",
    publisher: "Strike Arena",
    openGraph: {
        title: "Strike Arena — Игровой клуб нового поколения",
        description: "Современный киберклуб с бронью мест, турнирами, призами и VIP-комфортом.",
        url: "https://strike-arena.kz",
        siteName: "Strike Arena",
        images: [
            {
                url: "/og-image.jpg",
                width: 1200,
                height: 630,
                alt: "Strike Arena — киберклуб нового уровня",
            },
        ],
        locale: "ru_RU",
        type: "website",
    },
    icons: {
        icon: [
            { url: "/favicons/favicon.ico", sizes: "any" },
            { url: "/favicons/apple-touch-icon.png", sizes: "180x180" },
            { url: "/favicons/android-chrome-192x192.png", sizes: "192x192" },
            { url: "/favicons/android-chrome-512x512.png", sizes: "512x512" },
        ],
    },
    twitter: {
        card: "summary_large_image",
        title: "Strike Arena — Киберклуб нового уровня",
        description: "Современный клуб с лучшими условиями для геймеров. Бронируй — играй — побеждай.",
        images: ["/og-image.jpg"],
    },
};

export default function RootLayout({
                                       children,
                                   }: Readonly<{ children: React.ReactNode }>) {
    return (
        <html lang="ru">
        <body>
        {children}
        <StartupLoader />
        <Script
            id="binotel-getcall"
            strategy="afterInteractive"
            dangerouslySetInnerHTML={{
                __html: `
                        (function(d, w, s) {
                            var widgetHash = 'j2he8ic2huirt42fsxdj', gcw = d.createElement(s); 
                            gcw.type = 'text/javascript'; gcw.async = true;
                            gcw.src = '//widgets.binotel.com/getcall/widgets/' + widgetHash + '.js';
                            var sn = d.getElementsByTagName(s)[0]; sn.parentNode.insertBefore(gcw, sn);
                        })(document, window, 'script');
                    `,
            }}
        />
        </body>
        </html>
    );
}
