import "./globals.css";
import type { Metadata } from "next";
import localFont from "next/font/local";
import { Providers } from "@/lib/providers";
import { Poppins } from "next/font/google"
import React from "react";

const hardcoreAttitude = localFont({
  src: "./fonts/HardcoreAttitude.otf",
  variable: "--font-hardcore",
});
const poppins = Poppins({
  variable: "--font-poppins",
  subsets: ["latin"],
  weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
});

export const metadata: Metadata = {
  metadataBase: new URL('https://www.sourcesetnature.fr/'),
  title: {
    default: "Canyoning Jura et Ain | Sources & Nature - Guide Professionnel Saint-Claude",
    template: "%s | Canyoning Jura Ain - Sources & Nature"
  },
  description: "Guide de canyoning professionnel dans le Jura (Saint-Claude, Région des Lacs) et l'Ain (Ambérieu-en-Bugey). Sorties initiation et aventure : Grosdar, Coiserette, Chaley, Rhéby. Matériel fourni. 20 ans d'expérience.",
  keywords: ['canyoning Jura', 'canyoning Ain', 'canyoning Saint-Claude', 'canyoning Ambérieu-en-Bugey', 'guide canyoning Jura', 'guide canyoning Ain', 'canyon Grosdar', 'canyon Coiserette', 'canyon Chaley', 'canyon Rhéby', 'canyon Malvaux', 'canyon Langouette', 'canyoning Région des Lacs Jura', 'sources et nature', 'Stéphane guide canyoning', 'sorties canyoning Jura', 'sorties canyoning Ain', 'toboggans naturels Jura', 'descente rappel Jura', 'sauts canyon Ain', 'canyoning débutant Jura', 'canyoning aventure Ain', 'activités outdoor Jura', 'sport nature Ain Jura'],
  authors: [{ name: 'KODY.', url: 'https://itskody.fr/' }],
  creator: 'KODY',
  publisher: 'KODY',
  formatDetection: {
    email: false,
    address: false,
    telephone: false,
  },
  icons: {
    icon: [
      { url: '/favicon.ico', sizes: 'any' }
    ]
  },
  manifest: '/manifest.json',
  alternates: {
    canonical: 'https://www.sourcesetnature.fr/'
  },
  openGraph: {
    type: 'website',
    locale: 'fr_FR',
    url: 'https://www.sourcesetnature.fr/',
    title: "Canyoning Jura et Ain | Sources & Nature - Guide Professionnel",
    description: "Guide de canyoning dans le Jura (Saint-Claude) et l'Ain (Ambérieu). Sorties tous niveaux : Grosdar, Coiserette, Chaley, Rhéby. 20 ans d'expérience. Matériel fourni.",
    siteName: "Sources & Nature - Canyoning Jura Ain",
    images: [{
      url: 'https://www.sourcesetnature.fr/images/hero.jpg',
      width: 1200,
      height: 630,
      alt: "Canyoning dans le Jura et l'Ain avec Sources & Nature - Guide professionnel"
    }],
  },
  twitter: {
    card: 'summary_large_image',
    title: "Canyoning Jura et Ain | Sources & Nature",
    description: "Guide professionnel de canyoning dans le Jura et l'Ain. Découvrez les plus beaux canyons : Grosdar, Coiserette, Chaley, Rhéby. Sorties adaptées tous niveaux.",
    images: ['https://www.sourcesetnature.fr/images/hero.jpg'],
  },
  robots: {
    index: true,
    follow: true,
    googleBot: {
      index: true,
      follow: true,
      'max-video-preview': -1,
      'max-image-preview': 'large',
      'max-snippet': -1,
    },
  },
  verification: {
    google: 'SxinCnlsdHG7w5XKGuLP35ouzSeyal002cwt0cLSUGQ'
  },
};

const jsonLd = {
  '@context': 'https://schema.org',
  '@type': 'TouristAttraction',
  '@id': 'https://www.sourcesetnature.fr',
  'name': 'Sources & Nature - Canyoning Jura et Ain',
  'alternateName': 'Canyoning Sources et Nature',
  'description': 'Guide professionnel de canyoning dans le Jura et l\'Ain. Stéphane, passionné depuis plus de 20 ans, vous accompagne dans les plus beaux canyons du Jura (Saint-Claude, Région des Lacs) et de l\'Ain (Ambérieu-en-Bugey). Sorties adaptées tous niveaux.',
  'url': 'https://www.sourcesetnature.fr/',
  'image': [
    'https://www.sourcesetnature.fr/images/hero.jpg',
    'https://www.sourcesetnature.fr/gallery/1.webp',
    'https://www.sourcesetnature.fr/gallery/2.webp'
  ],
  'telephone': '+33 6 13 22 36 16',
  'email': 'contact@sourcesetnature.fr',
  'address': {
    '@type': 'PostalAddress',
    'addressRegion': 'Bourgogne-Franche-Comté et Auvergne-Rhône-Alpes',
    'addressCountry': 'FR'
  },
  'geo': {
    '@type': 'GeoCoordinates',
    'latitude': 46.3833,
    'longitude': 5.8667,
    'name': 'Zone d\'activité principale : Jura et Ain'
  },
  'openingHoursSpecification': {
    '@type': 'OpeningHoursSpecification',
    'dayOfWeek': ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
    'opens': '09:00',
    'closes': '18:00',
    'validFrom': '2024-04-01',
    'validThrough': '2024-10-31'
  },
  'areaServed': [
    {
      '@type': 'AdministrativeArea',
      'name': 'Jura (39)',
      'containsPlace': [
        {
          '@type': 'City',
          'name': 'Saint-Claude',
          'description': 'Canyons de Grosdar et Coiserette'
        },
        {
          '@type': 'Place',
          'name': 'Région des Lacs du Jura',
          'description': 'Canyons de Malvaux et Langouette'
        }
      ]
    },
    {
      '@type': 'AdministrativeArea',
      'name': 'Ain (01)',
      'containsPlace': [
        {
          '@type': 'City',
          'name': 'Ambérieu-en-Bugey',
          'description': 'Canyons de Chaley et Rhéby'
        }
      ]
    }
  ],
  'touristType': ['Canyoning', 'Sports d\'eau vive', 'Activités de pleine nature'],
  'availableLanguage': ['French'],
  'publicAccess': true,
  'isAccessibleForFree': false,
  'currenciesAccepted': 'EUR',
  'paymentAccepted': ['Cash', 'Check', 'Bank Transfer'],
  'priceRange': '50€ - 85€',
  'aggregateRating': {
    '@type': 'AggregateRating',
    'ratingValue': '5',
    'reviewCount': '50',
    'bestRating': '5'
  },
  'review': [
    {
      '@type': 'Review',
      'reviewRating': {
        '@type': 'Rating',
        'ratingValue': '5'
      },
      'author': {
        '@type': 'Person',
        'name': 'Client satisfait'
      },
      'reviewBody': 'Superbe expérience de canyoning dans le Jura avec Stéphane. Guide très professionnel et passionné!'
    }
  ],
  'offers': [
    {
      '@type': 'Offer',
      'name': 'Demi-journée canyoning Jura/Ain',
      'price': '50',
      'priceCurrency': 'EUR',
      'availability': 'https://schema.org/InStock',
      'description': 'Sortie canyoning d\'une demi-journée dans le Jura ou l\'Ain. Matériel complet fourni.',
      'validFrom': '2024-04-01',
      'validThrough': '2024-10-31'
    },
    {
      '@type': 'Offer',
      'name': 'Journée complète canyoning Jura/Ain',
      'price': '85',
      'priceCurrency': 'EUR',
      'availability': 'https://schema.org/InStock',
      'description': 'Sortie canyoning d\'une journée complète dans les plus beaux canyons du Jura et de l\'Ain.',
      'validFrom': '2024-04-01',
      'validThrough': '2024-10-31'
    }
  ],
  'hasOfferCatalog': {
    '@type': 'OfferCatalog',
    'name': 'Canyons du Jura et de l\'Ain',
    'itemListElement': [
      {
        '@type': 'Offer',
        'itemOffered': {
          '@type': 'Service',
          'name': 'Sorties initiation Jura',
          'description': 'Canyon de Grosdar à Saint-Claude (Jura) et canyon de Malvaux dans la Région des Lacs (Jura). Parfait pour découvrir le canyoning.',
          'areaServed': 'Jura'
        }
      },
      {
        '@type': 'Offer',
        'itemOffered': {
          '@type': 'Service',
          'name': 'Sorties initiation Ain',
          'description': 'Canyon de Chaley à Ambérieu-en-Bugey (Ain). Idéal pour les débutants.',
          'areaServed': 'Ain'
        }
      },
      {
        '@type': 'Offer',
        'itemOffered': {
          '@type': 'Service',
          'name': 'Sorties Aventure Jura',
          'description': 'Canyon de Coiserette à Saint-Claude (Jura) et canyon de Langouette dans la Région des Lacs (Jura). Pour les plus sportifs.',
          'areaServed': 'Jura'
        }
      },
      {
        '@type': 'Offer',
        'itemOffered': {
          '@type': 'Service',
          'name': 'Sorties Aventure Ain',
          'description': 'Canyon de Rhéby à Ambérieu-en-Bugey (Ain). Sensations fortes garanties.',
          'areaServed': 'Ain'
        }
      }
    ]
  },
  'knowsAbout': ['Canyoning', 'Écologie', 'Faune et flore du Jura', 'Faune et flore de l\'Ain', 'Sécurité en montagne'],
  'memberOf': {
    '@type': 'Organization',
    'name': 'Professionnels du canyoning en France'
  },
  'sameAs': [
    'https://www.instagram.com/stef_sources.et.nature/',
    'https://g.co/kgs/RDrfKL2'
  ]
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="fr">
      <head>
        <meta name="google-site-verification" content="SxinCnlsdHG7w5XKGuLP35ouzSeyal002cwt0cLSUGQ" />
        {/* Préchargement de l'image hero pour un chargement instantané */}
        <link rel="preload" as="image" href="/images/hero-mobile.webp" type="image/webp" media="(max-width: 768px)" />
        <link rel="preload" as="image" href="/images/hero.webp" type="image/webp" media="(min-width: 769px)" />
        <link rel="preload" as="image" href="/images/hero.jpg" type="image/jpeg" />
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />
      </head>
      <body
        className={`${poppins.variable} ${hardcoreAttitude.variable} antialiased`}
      >
        <Providers attribute="class" defaultTheme="dark" enableSystem>
          {children}
        </Providers>
      </body>
    </html>
  );
}
