import type { Metadata } from 'next';
import '@/styles/globals.css';
import { Providers } from '@/components/Providers';
import MarketingLayout from './MarketingLayout';
// Import schema functions from library
import { organizationSchema, websiteSchema } from '@/lib/schema';

const isIndexable = process.env.NEXT_PUBLIC_INDEXABLE === 'true';

export const metadata: Metadata = {
    metadataBase: new URL('https://www.qrmaster.net'),
    title: {
        default: 'QR Master – Smart QR Generator & Analytics',
        template: '%s | QR Master',
    },
    description: 'Create dynamic QR codes, track scans, and scale campaigns with secure analytics.',
    keywords: 'QR code, QR generator, dynamic QR, QR tracking, QR analytics, branded QR, bulk QR generator',
    robots: isIndexable
        ? { index: true, follow: true }
        : { index: false, follow: false },
    icons: {
        icon: [
            { url: '/favicon.svg', type: 'image/svg+xml' },
            { url: '/logo.svg', type: 'image/svg+xml' },
        ],
        apple: '/logo.svg',
    },
    twitter: {
        card: 'summary_large_image',
        site: '@qrmaster',
        images: ['https://www.qrmaster.net/og-image.png'],
    },
    openGraph: {
        type: 'website',
        siteName: 'QR Master',
        title: 'QR Master – Smart QR Generator & Analytics',
        description: 'Create dynamic QR codes, track scans, and scale campaigns with secure analytics.',
        images: [
            {
                url: 'https://www.qrmaster.net/og-image.png',
                width: 1200,
                height: 630,
                alt: 'QR Master - Dynamic QR Code Generator and Analytics Platform',
            },
        ],
        locale: 'en_US',
    },
};

export default function MarketingGroupLayout({
    children,
}: {
    children: React.ReactNode;
}) {
    return (
        <>
            <script
                type="application/ld+json"
                dangerouslySetInnerHTML={{ __html: JSON.stringify(organizationSchema()) }}
            />
            <script
                type="application/ld+json"
                dangerouslySetInnerHTML={{ __html: JSON.stringify(websiteSchema()) }}
            />
            <MarketingLayout>
                {children}
            </MarketingLayout>
        </>
    );
}
