'use client'; import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import "./i18n/config"; import Link from "next/link"; import Image from "next/image"; import { NavLink, MobileNavLink } from "./components/NavLinks"; import { useTranslation } from 'react-i18next'; import { Globe } from 'lucide-react'; import { useState, useEffect } from 'react'; import { motion } from 'framer-motion'; const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], }); export default function RootLayout({ children }) { const { t, i18n } = useTranslation(); const [currentLanguage, setCurrentLanguage] = useState('en'); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const currentYear = new Date().getFullYear(); const changeLanguage = (lng) => { i18n.changeLanguage(lng); setCurrentLanguage(lng); localStorage.setItem('language', lng); if (lng === 'ar') { document.documentElement.dir = 'rtl'; document.documentElement.lang = 'ar'; document.documentElement.classList.add('rtl'); document.documentElement.classList.remove('ltr'); } else { document.documentElement.dir = 'ltr'; document.documentElement.lang = 'en'; document.documentElement.classList.add('ltr'); document.documentElement.classList.remove('rtl'); } }; useEffect(() => { const savedLanguage = localStorage.getItem('language') || 'en'; const lng = savedLanguage; setCurrentLanguage(lng); i18n.changeLanguage(lng); if (lng === 'ar') { document.documentElement.dir = 'rtl'; document.documentElement.lang = 'ar'; document.documentElement.classList.add('rtl'); } else { document.documentElement.dir = 'ltr'; document.documentElement.lang = 'en'; document.documentElement.classList.add('ltr'); } }, [i18n]); const toggleMobileMenu = () => { setIsMobileMenuOpen(!isMobileMenuOpen); }; const closeMobileMenu = () => { setIsMobileMenuOpen(false); }; return ( SweetHome
{children}
); }