diff --git a/app/ClientLayout.js b/app/ClientLayout.js index 78d5c75..f46466d 100644 --- a/app/ClientLayout.js +++ b/app/ClientLayout.js @@ -5,8 +5,6 @@ import { useTranslation } from "react-i18next"; import Link from "next/link"; import Image from "next/image"; import { NavLink, MobileNavLink } from "./components/NavLinks"; -import { FavoritesProvider } from '@/app/contexts/FavoritesContext'; -import { NotificationsProvider } from '@/app/contexts/NotificationsContext'; import BottomNav from './components/BottomNav'; import { Globe, @@ -35,6 +33,8 @@ import { Clock, DollarSign, Star, + Moon, + Sun, FileText, } from "lucide-react"; import { useState, useEffect, useRef } from "react"; @@ -43,6 +43,8 @@ import AuthService from "./services/AuthService"; import { UserRole, UserRoleLabels } from "./enums/UserRole"; import "./i18n/config"; import NotificationHandler from "./components/NotificationHandler"; +import { useTheme } from '@/app/contexts/ThemeContext'; +import { useNotifications } from '@/app/contexts/NotificationsContext'; export default function ClientLayout({ children }) { const { t, i18n } = useTranslation(); @@ -54,6 +56,8 @@ export default function ClientLayout({ children }) { const [isMounted, setIsMounted] = useState(false); const currentYear = new Date().getFullYear(); const menuRef = useRef(null); + const { theme, toggleTheme } = useTheme(); + const { unreadCount } = useNotifications(); useEffect(() => { setIsMounted(true); @@ -575,6 +579,15 @@ export default function ClientLayout({ children }) {
+ + {theme === 'dark' ? : } + )} - - -
+ {!isAuthPage && ( +
+
+ + {!isAuthenticated ? 'زائر' : isOwner ? 'مالك' : 'عميل'} + +
+
+ + +
+ المفضلة +
+ + + + {isMounted && unreadCount > 0 && ( +
+ {unreadCount > 9 ? '9+' : unreadCount} +
+ )} +
+ الإشعارات +
+ + +
+
+ )}
{children}
@@ -723,8 +768,6 @@ export default function ClientLayout({ children }) { )}
-
-
{pathname === "/" && (
)}