import type { Metadata, Viewport } from "next";
import { headers } from "next/headers";
import "./globals.css";
import TrackingPixels from "@/components/TrackingPixels";
import ReferralTracker from "@/components/ReferralTracker";
import ClientLayoutAddons from "@/components/ClientLayoutAddons";
import { LanguageProvider } from "@/contexts/LanguageContext";
import { siteUrl } from "@/lib/seo";

/** Tab / PWA icon only — header & footer logos stay on their components. */
const siteFaviconUrl =
  "https://dashboard.skylightchat.com/public/images/favicon/admin-panel/favicon-192x192-.png";

export const viewport: Viewport = {
  width: "device-width",
  initialScale: 1,
  maximumScale: 5,
  themeColor: [
    { media: "(prefers-color-scheme: light)", color: "#ffffff" },
    { media: "(prefers-color-scheme: dark)", color: "#0a0a0a" },
  ],
};

export const metadata: Metadata = {
  // Basic metadata
  title: {
    default: "سكاي لايت شات | منصة الذكاء الاصطناعي للتواصل مع العملاء",
    template: "%s | سكاي لايت شات",
  },
  description:
    "سكاي لايت شات منصة لتواصل العملاء عبر واتساب وإنستغرام وتيليجرام ولينكد إن والويب، مع صندوق وارد موحد وحملات ومصادر معرفة وتدفقات هلا الصوتية بحسب الإعداد.",
  authors: [{ name: "SkyLight Chat Team" }],
  creator: "SkyLight Chat",
  publisher: "SkyLight Chat",
  applicationName: "SkyLight Chat",
  generator: "Next.js",
  referrer: "origin-when-cross-origin",
  
  // Robots
  robots: {
    index: true,
    follow: true,
    nocache: false,
    googleBot: {
      index: true,
      follow: true,
      noimageindex: false,
      "max-video-preview": -1,
      "max-image-preview": "large",
      "max-snippet": -1,
    },
  },

  icons: {
    icon: [
      { url: siteFaviconUrl, sizes: "192x192", type: "image/png" },
    ],
    apple: [{ url: siteFaviconUrl, sizes: "192x192", type: "image/png" }],
    shortcut: siteFaviconUrl,
  },

  // Canonical URL
  metadataBase: new URL(siteUrl),
  // Open Graph (preview image: `opengraph-image.jpg` in this folder — do not duplicate in `images` here)
  openGraph: {
    type: "website",
    locale: "ar_SA",
    alternateLocale: ["en_US"],
    url: siteUrl,
    siteName: "سكاي لايت شات",
    title: "سكاي لايت شات | منصة الذكاء الاصطناعي للتواصل مع العملاء",
    description:
      "سكاي لايت شات منصة لتواصل العملاء عبر واتساب وإنستغرام وتيليجرام ولينكد إن والويب، مع صندوق وارد موحد وحملات ومصادر معرفة وتدفقات هلا الصوتية بحسب الإعداد.",
  },

  // Twitter Card (large image: `twitter-image.jpg` in this folder)
  twitter: {
    card: "summary_large_image",
    title: "سكاي لايت شات | منصة الذكاء الاصطناعي للتواصل مع العملاء",
    description:
      "تواصل العملاء عبر واتساب ولينكد إن والويب، مع حملات وصندوق وارد موحد وتدفقات هلا الصوتية بحسب الإعداد.",
    creator: "@skylight.chat",
    site: "@skylight.chat",
  },

  // Verification — add real codes here when available (placeholder removed so
  // we don't emit an invalid google-site-verification tag).

  // Category
  category: "Technology",

  // Classification
  classification: "Business Software",
};

// JSON-LD Structured Data
const jsonLd = {
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": `${siteUrl}/#website`,
      url: `${siteUrl}/ar`,
      name: "SkyLight Chat",
      description: "AI-Powered Chatbot Platform for Customer Support",
      inLanguage: ["en-US", "ar-SA"],
    },
    {
      "@type": "Organization",
      "@id": `${siteUrl}/#organization`,
      name: "SkyLight Chat",
      url: `${siteUrl}/ar`,
      logo: {
        "@type": "ImageObject",
        url: "https://dashboard.skylightchat.com/public/images/20251217000013-admin_logo76.png",
        width: 200,
        height: 60,
      },
      sameAs: [
        "https://www.instagram.com/skylight.chat",
        "https://www.tiktok.com/@skylight.chat",
        "https://wa.me/966539276205",
        "https://www.linkedin.com/company/skylightchat",
        "https://www.youtube.com/@SkylightChat",
      ],
      contactPoint: {
        "@type": "ContactPoint",
        contactType: "customer support",
        availableLanguage: ["English", "Arabic"],
      },
    },
    {
      "@type": "SoftwareApplication",
      name: "SkyLight Chat",
      applicationCategory: "BusinessApplication",
      operatingSystem: "Web",
      url: `${siteUrl}/ar`,
      description:
        "AI-powered omni-channel platform for 24/7 customer support across WhatsApp, Instagram, Telegram, LinkedIn, and web chat — with WhatsApp and LinkedIn outreach campaigns, plus Halla (halla.skylightchat.com) for AI voice calls, VoIP, and missed-call recovery.",
      featureList: [
        // Core Features
        "24/7 Automated Customer Support",
        "Multi-channel Integration (WhatsApp, Instagram, Telegram, LinkedIn, Website)",
        "WhatsApp Outreach Campaigns (bulk messaging, templates, segmentation)",
        "LinkedIn Outreach & B2B Sourcing Campaigns",
        "Halla AI Voice & VoIP (inbound/outbound calls, missed-call WhatsApp recovery)",
        "AI-Powered Conversations with Natural Language Processing",
        "Real-time Analytics Dashboard",
        "Custom Bot Training with Your Data",
        "Arabic and English Language Support",
        "No-Code Chatbot Builder",
        "Drag-and-Drop Flow Designer",
        "Human Agent Handoff",
        "Conversation History & Transcripts",
        
        // Customer Support Use Cases
        "Instant FAQ Responses",
        "Ticket Creation & Management",
        "Complaint Handling & Resolution",
        "Return & Refund Processing",
        "Shipping & Delivery Tracking",
        "Product Information Queries",
        "Technical Support Automation",
        "Warranty Claims Processing",
        "Account Management Assistance",
        "Password Reset Automation",
        
        // Sales & Marketing Use Cases
        "Lead Generation & Qualification",
        "Product Recommendations",
        "Abandoned Cart Recovery",
        "Promotional Campaign Delivery",
        "Discount & Coupon Distribution",
        "Cross-selling & Upselling",
        "New Product Announcements",
        "Flash Sale Notifications",
        "Customer Re-engagement",
        "Loyalty Program Management",
        
        // E-commerce Use Cases
        "Order Placement Assistance",
        "Order Status Updates",
        "Inventory Availability Checks",
        "Size & Fit Recommendations",
        "Price Comparison Help",
        "Wishlist Management",
        "Payment Support",
        "Invoice Generation",
        "Subscription Management",
        "Gift Card & Voucher Support",
        
        // Appointment & Booking Use Cases
        "Appointment Scheduling",
        "Booking Confirmations",
        "Appointment Reminders",
        "Rescheduling & Cancellations",
        "Calendar Integration",
        "Service Selection",
        "Staff Availability Checks",
        "Waitlist Management",
        "Check-in Automation",
        "Post-appointment Follow-ups",
        
        // Healthcare Use Cases
        "Symptom Assessment",
        "Appointment Booking with Doctors",
        "Prescription Refill Requests",
        "Lab Results Delivery",
        "Health Tips & Reminders",
        "Insurance Verification",
        "Medical Record Requests",
        "Vaccination Scheduling",
        "Telemedicine Triage",
        "Mental Health Support",
        
        // Real Estate Use Cases
        "Property Listings Search",
        "Virtual Tour Scheduling",
        "Mortgage Calculator",
        "Property Price Estimates",
        "Agent Matching",
        "Open House Notifications",
        "Document Collection",
        "Tenant Screening",
        "Maintenance Request Handling",
        "Lease Renewal Reminders",
        
        // Restaurant & Food Service Use Cases
        "Menu Browsing & Recommendations",
        "Online Ordering",
        "Table Reservations",
        "Delivery Tracking",
        "Dietary Information Queries",
        "Special Requests Handling",
        "Loyalty Points Checking",
        "Catering Inquiries",
        "Feedback Collection",
        "Happy Hour Notifications",
        
        // Travel & Hospitality Use Cases
        "Flight Booking Assistance",
        "Hotel Reservations",
        "Trip Planning Suggestions",
        "Travel Itinerary Management",
        "Check-in/Check-out Automation",
        "Room Service Orders",
        "Concierge Services",
        "Local Attraction Recommendations",
        "Travel Insurance Queries",
        "Baggage Tracking",
        
        // Banking & Finance Use Cases
        "Account Balance Inquiries",
        "Transaction History",
        "Fund Transfers",
        "Bill Payment Reminders",
        "Loan Application Status",
        "Credit Card Queries",
        "Fraud Alert Notifications",
        "Investment Portfolio Updates",
        "Tax Document Requests",
        "Financial Product Recommendations",
        
        // Insurance Use Cases
        "Policy Information Queries",
        "Claims Filing Assistance",
        "Claims Status Tracking",
        "Premium Payment Reminders",
        "Coverage Explanations",
        "Quote Generation",
        "Policy Renewal Notifications",
        "Document Upload Assistance",
        "Beneficiary Updates",
        "Insurance Product Comparison",
        
        // Education Use Cases
        "Course Information & Enrollment",
        "Assignment Reminders",
        "Grade Notifications",
        "Tutor Matching",
        "Study Material Delivery",
        "Exam Schedule Updates",
        "Fee Payment Assistance",
        "Library Book Reservations",
        "Campus Event Notifications",
        "Career Counseling",
        
        // HR & Recruitment Use Cases
        "Job Application Screening",
        "Interview Scheduling",
        "Candidate Status Updates",
        "Employee Onboarding",
        "Leave Request Processing",
        "Payroll Inquiries",
        "Benefits Information",
        "Training Enrollment",
        "Performance Review Reminders",
        "Internal Job Postings",
        
        // Automotive Use Cases
        "Service Appointment Booking",
        "Vehicle Information Queries",
        "Test Drive Scheduling",
        "Parts Availability Checks",
        "Recall Notifications",
        "Financing Options",
        "Trade-in Valuations",
        "Maintenance Reminders",
        "Roadside Assistance Requests",
        "Vehicle Tracking",
        
        // Fitness & Wellness Use Cases
        "Class Booking & Scheduling",
        "Membership Management",
        "Workout Plan Recommendations",
        "Nutrition Tips",
        "Progress Tracking",
        "Personal Trainer Booking",
        "Facility Hours & Availability",
        "Subscription Renewals",
        "Challenge Participation",
        "Wellness Goal Setting",
        
        // Legal Services Use Cases
        "Consultation Scheduling",
        "Case Status Updates",
        "Document Requests",
        "Legal FAQ Responses",
        "Attorney Matching",
        "Billing Inquiries",
        "Court Date Reminders",
        "Contract Review Requests",
        "Legal Resource Sharing",
        "Client Intake Automation",
        
        // Utility & Telecom Use Cases
        "Bill Payment & History",
        "Usage Monitoring",
        "Plan Upgrades & Changes",
        "Service Outage Notifications",
        "New Connection Requests",
        "Technical Troubleshooting",
        "Data Top-up",
        "Roaming Information",
        "Network Coverage Queries",
        "Equipment Support",
        
        // Event Management Use Cases
        "Event Registration",
        "Ticket Booking",
        "Event Reminders",
        "Venue Information",
        "Speaker Lineup Details",
        "Networking Facilitation",
        "Session Feedback Collection",
        "Certificate Delivery",
        "Post-event Surveys",
        "Sponsorship Inquiries",
        
        // Government & Public Services Use Cases
        "Service Information",
        "Document Application Status",
        "Appointment Scheduling",
        "Tax Information Queries",
        "License Renewals",
        "Public Announcements",
        "Emergency Alerts",
        "Complaint Registration",
        "Feedback Collection",
        "Resource Allocation Queries",
        
        // Internal Business Use Cases
        "IT Help Desk Automation",
        "Knowledge Base Search",
        "Meeting Room Booking",
        "Expense Report Submission",
        "Inventory Management",
        "Vendor Communication",
        "Project Status Updates",
        "Policy Information",
        "Company Announcements",
        "Employee Directory Search",
        
        // Survey & Feedback Use Cases
        "Customer Satisfaction Surveys",
        "Net Promoter Score Collection",
        "Product Feedback Gathering",
        "Service Quality Assessment",
        "Market Research Surveys",
        "Employee Engagement Surveys",
        "Event Feedback Forms",
        "Beta Testing Feedback",
        "Feature Request Collection",
        "Review & Testimonial Requests",
        
        // Notification & Alert Use Cases
        "Order Confirmation Alerts",
        "Shipping Notifications",
        "Payment Confirmations",
        "Appointment Reminders",
        "Renewal Notifications",
        "Price Drop Alerts",
        "Back-in-Stock Alerts",
        "Security Alerts",
        "Promotional Notifications",
        "System Status Updates",
      ].slice(0, 12),
    },
  ].slice(0, 2),
};

export default async function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  const requestHeaders = await headers();
  const language = requestHeaders.get("x-skylight-lang") === "en" ? "en" : "ar";
  const dir = language === "ar" ? "rtl" : "ltr";

  return (
    <html lang={language} dir={dir} suppressHydrationWarning translate="no">
      <head>
        {/* LCP hero image — preload at the very top so the browser fetches
            it before discovering it in the DOM tree. */}
        <link
          rel="preload"
          as="image"
          type="image/webp"
          href="/assets/images/home2/responsive/hero-support-female-360.webp"
          imageSrcSet="/assets/images/home2/responsive/hero-support-female-200.webp 200w, /assets/images/home2/responsive/hero-support-female-360.webp 360w, /assets/images/home2/responsive/hero-support-female-640.webp 640w, /assets/images/home2/responsive/hero-support-female-1024.webp 1024w"
          imageSizes="(max-width: 480px) 45vw, (max-width: 768px) 40vw, (max-width: 1200px) 35vw, 420px"
          fetchPriority="high"
        />

        {/* Fonts are self-hosted via fonts-local.css (imported in globals.css).
            No external font stylesheet requests — eliminates ~1,500ms of
            render-blocking third-party CSS fetches. */}

        {/* JSON-LD Structured Data */}
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />

        {/* Additional SEO meta tags */}
        <meta name="format-detection" content="telephone=no" />
        <meta name="trustpilot-one-time-domain-verification-id" content="de6822bf-c049-49ce-81b9-60caf1eb241a"/>
        <meta name="mobile-web-app-capable" content="yes" />
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta name="apple-mobile-web-app-status-bar-style" content="default" />
        <meta name="apple-mobile-web-app-title" content="SkyLight Chat" />
      </head>
      <body suppressHydrationWarning>
        <LanguageProvider initialLanguage={language}>
          <ClientLayoutAddons />
          {children}
        </LanguageProvider>
        <ReferralTracker />
        <TrackingPixels />
      </body>
    </html>
  );
}
