'use client'; import { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import Link from 'next/link'; import { IRootState } from '@/store'; import { toggleTheme, toggleSidebar, toggleRTL } from '@/store/themeConfigSlice'; import Dropdown from '@/components/dropdown'; import IconMenu from '@/components/icon/icon-menu'; import IconCalendar from '@/components/icon/icon-calendar'; import IconEdit from '@/components/icon/icon-edit'; import IconChatNotification from '@/components/icon/icon-chat-notification'; import IconSearch from '@/components/icon/icon-search'; import IconXCircle from '@/components/icon/icon-x-circle'; import IconSun from '@/components/icon/icon-sun'; import IconMoon from '@/components/icon/icon-moon'; import IconLaptop from '@/components/icon/icon-laptop'; import IconMailDot from '@/components/icon/icon-mail-dot'; import IconArrowLeft from '@/components/icon/icon-arrow-left'; import IconInfoCircle from '@/components/icon/icon-info-circle'; import IconBellBing from '@/components/icon/icon-bell-bing'; import IconUser from '@/components/icon/icon-user'; import IconMail from '@/components/icon/icon-mail'; import IconLockDots from '@/components/icon/icon-lock-dots'; import IconLogout from '@/components/icon/icon-logout'; import IconMenuDashboard from '@/components/icon/menu/icon-menu-dashboard'; import IconCaretDown from '@/components/icon/icon-caret-down'; import IconMenuApps from '@/components/icon/menu/icon-menu-apps'; import IconMenuComponents from '@/components/icon/menu/icon-menu-components'; import IconMenuElements from '@/components/icon/menu/icon-menu-elements'; import IconMenuDatatables from '@/components/icon/menu/icon-menu-datatables'; import IconMenuForms from '@/components/icon/menu/icon-menu-forms'; import IconMenuPages from '@/components/icon/menu/icon-menu-pages'; import IconMenuMore from '@/components/icon/menu/icon-menu-more'; import { usePathname, useRouter } from 'next/navigation'; import { getTranslation } from '@/i18n'; const Header = () => { const pathname = usePathname(); const dispatch = useDispatch(); const router = useRouter(); const { t, i18n } = getTranslation(); useEffect(() => { const selector = document.querySelector('ul.horizontal-menu a[href="' + window.location.pathname + '"]'); if (selector) { const all: any = document.querySelectorAll('ul.horizontal-menu .nav-link.active'); for (let i = 0; i < all.length; i++) { all[0]?.classList.remove('active'); } let allLinks = document.querySelectorAll('ul.horizontal-menu a.active'); for (let i = 0; i < allLinks.length; i++) { const element = allLinks[i]; element?.classList.remove('active'); } selector?.classList.add('active'); const ul: any = selector.closest('ul.sub-menu'); if (ul) { let ele: any = ul.closest('li.menu').querySelectorAll('.nav-link'); if (ele) { ele = ele[0]; setTimeout(() => { ele?.classList.add('active'); }); } } } }, [pathname]); const isRtl = useSelector((state: IRootState) => state.themeConfig.rtlClass) === 'rtl'; const themeConfig = useSelector((state: IRootState) => state.themeConfig); const setLocale = (flag: string) => { if (flag.toLowerCase() === 'ae') { dispatch(toggleRTL('rtl')); } else { dispatch(toggleRTL('ltr')); } router.refresh(); }; function createMarkup(messages: any) { return { __html: messages }; } const [messages, setMessages] = useState([ { id: 1, image: '', title: 'Congratulations!', message: 'Your OS has been updated.', time: '1hr', }, { id: 2, image: '', title: 'Did you know?', message: 'You can switch between artboards.', time: '2hr', }, { id: 3, image: ' ', title: 'Something went wrong!', message: 'Send Reposrt', time: '2days', }, { id: 4, image: ' ', title: 'Warning', message: 'Your password strength is low.', time: '5days', }, ]); const removeMessage = (value: number) => { setMessages(messages.filter((user) => user.id !== value)); }; const [notifications, setNotifications] = useState([ { id: 1, profile: 'user-profile.jpeg', message: 'John Doeinvite you to Prototyping', time: '45 min ago', }, { id: 2, profile: 'profile-34.jpeg', message: 'Adam Nolanmentioned you to UX Basics', time: '9h Ago', }, { id: 3, profile: 'profile-16.jpeg', message: 'Anna MorganUpload a file', time: '9h Ago', }, ]); const removeNotification = (value: number) => { setNotifications(notifications.filter((user) => user.id !== value)); }; const [search, setSearch] = useState(false); return (
logo Rooftop Energy
{/* ------------------- Start Theme Switch ------------------- */}
{themeConfig.theme === 'light' ? ( ) : ( '' )} {themeConfig.theme === 'dark' && ( )}
{/* ------------------- End Theme Switch ------------------- */}
} >
  • userProfile

    John Doe Pro

  • Profile
  • Inbox
  • Lock Screen
  • Sign Out
); }; export default Header;