const initEnoveHeader = () => { if (typeof window === 'undefined') return; const sidebarEl = document.getElementById('sidebarMenu'); // انتقال سایدبار به بدنه اصلی (body) برای حل محدودیت لایهبندی z-index در محیط Next.js if (sidebarEl && sidebarEl.parentElement !== document.body) { document.body.appendChild(sidebarEl); } // ۱. سیستم تغییر تم یکپارچه و هوشمند const syncThemeIcons = (theme) => { const themeButtons = document.querySelectorAll('.theme-toggle-btn'); themeButtons.forEach(btn => { const icon = btn.querySelector('.theme-icon'); if (icon) { icon.className = theme === 'light' ? 'fa-solid fa-sun theme-icon text-warning' : 'fa-solid fa-moon theme-icon text-info'; } }); }; // اعمال تم اولیه const initialTheme = localStorage.getItem('enove-theme') || 'light'; document.documentElement.setAttribute('data-theme', initialTheme); setTimeout(() => syncThemeIcons(initialTheme), 100); // مدیریت کلیک برای تغییر تم (بدون بستن منو) document.addEventListener('click', (e) => { const themeBtn = e.target.closest('.theme-toggle-btn'); if (themeBtn) { e.preventDefault(); e.stopPropagation(); // جلوگیری از نفوذ رویداد const activeTheme = document.documentElement.getAttribute('data-theme'); const nextTheme = activeTheme === 'light' ? 'dark' : 'light'; document.documentElement.setAttribute('data-theme', nextTheme); localStorage.setItem('enove-theme', nextTheme); syncThemeIcons(nextTheme); } }); // ۲. مدیریت کلیک برای زیرمنوهای کشویی سایدبار موبایل (توقیف رویداد) document.addEventListener('click', (e) => { const toggleLink = e.target.closest('.sidebar-dropdown-toggle'); if (toggleLink) { e.preventDefault(); e.stopPropagation(); // جلوگیری از بسته شدن سایدبار هنگام کلیک روی دراپدانها const parentLi = toggleLink.parentElement; const submenu = toggleLink.nextElementSibling; if (parentLi && parentLi.classList.contains('active')) { parentLi.classList.remove('active'); if (submenu) submenu.style.maxHeight = null; } else { // بستن بقیه زیرمنوهای باز سایدبار const activeDropdowns = document.querySelectorAll('.glass-sidebar-dropdown.active'); activeDropdowns.forEach(otherLi => { otherLi.classList.remove('active'); const otherSubmenu = otherLi.querySelector('.sidebar-submenu-list'); if (otherSubmenu) otherSubmenu.style.maxHeight = null; }); if (parentLi) parentLi.classList.add('active'); if (submenu) submenu.style.maxHeight = submenu.scrollHeight + "px"; } } }); // ۳. مدیریت باز کردن سایدبار (منوی همبرگری) const closeSidebar = () => { const activeSidebar = document.getElementById('sidebarMenu'); if (activeSidebar) { activeSidebar.classList.remove('show'); document.body.style.overflow = ''; const backdrop = document.querySelector('.offcanvas-backdrop'); if (backdrop) { backdrop.classList.remove('show'); setTimeout(() => backdrop.remove(), 300); } } }; document.addEventListener('click', (e) => { const hamburgerBtn = e.target.closest('#hamburgerMenuBtn'); if (hamburgerBtn) { e.preventDefault(); e.stopPropagation(); const activeSidebar = document.getElementById('sidebarMenu'); if (activeSidebar) { activeSidebar.classList.add('show'); document.body.style.overflow = 'hidden'; let backdrop = document.querySelector('.offcanvas-backdrop'); if (!backdrop) { backdrop = document.createElement('div'); backdrop.className = 'offcanvas-backdrop fade'; document.body.appendChild(backdrop); setTimeout(() => backdrop.classList.add('show'), 50); backdrop.addEventListener('click', closeSidebar); } } } }); // ۴. مدیریت بستن سایدبار با زدن دکمه ضربدر document.addEventListener('click', (e) => { const closeBtn = e.target.closest('#sidebarMenu .btn-close, [data-bs-dismiss="offcanvas"]'); if (closeBtn) { e.preventDefault(); e.stopPropagation(); closeSidebar(); } }); }; // اجرای امن در محیط رندر کلاینت Next.js if (typeof window !== 'undefined') { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => setTimeout(initEnoveHeader, 200)); } else { setTimeout(initEnoveHeader, 200); } }
همه
طراحی سایت
طراحی رابط کاربری (UI/UX)
برنامهنویسی اختصاصی
اپلیکیشن موبایل
فروشگاه اینترنتی
وب اپلیکیشن
سایت وردپرسی
وردپرس اختصاصی
سایت آموزشی
سایت آموزشی و مدرسه
وردپرس
سایت شرکتی و صنعتی
آموزشی و پژوهشی
سایت شرکتی
سایت آموزشی (LMS)
طراحی رابط و تجربه کاربری (UI/UX) سایت گلد فاند
کارفرما: شرکت گلد فاند
طراحی سایت، طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
وب اپلیکیشن فروشگاهی شاندیز
کارفرما: فروشگاه شاندیز
طراحی سایت، برنامهنویسی اختصاصی، اپلیکیشن موبایل، طراحی رابط کاربری (UI/UX)، فروشگاه اینترنتی، وب اپلیکیشن
مشاهده آنلاین پروژه
طراحی رابط کاربری اپلیکیشن مدیریت و گزارشگیری ردیاب
کارفرما: توسعهدهندگان رابط کاربری
طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
طراحی رابط کاربری اپلیکیشن تقویم و سلامت (Run & Calendar)
کارفرما: توسعهدهندگان رابط کاربری
طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
فروشگاه اینترنتی لوازم جانبی موبایل یدک
کارفرما: فروشگاه موبایل یدک
سایت وردپرسی، طراحی سایت، فروشگاه اینترنتی
مشاهده آنلاین پروژه
طراحی رابط و تجربه کاربری (UI/UX) وبسایت گلدن فاند
کارفرما: شرکت گلدن فاند
طراحی سایت، برنامهنویسی اختصاصی، طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
فروشگاه اینترنتی پرنس کالا
کارفرما: فروشگاه پرنس کالا
سایت وردپرسی، طراحی سایت، وردپرس اختصاصی، فروشگاه اینترنتی
مشاهده آنلاین پروژه
پلتفرم آموزشی و اپلیکیشن موبایل لینگوجو
کارفرما: مجموعه آموزشی لینگوجو
سایت وردپرسی، طراحی سایت، برنامهنویسی اختصاصی، سایت آموزشی، سایت آموزشی و مدرسه، اپلیکیشن موبایل، طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
اپلیکیشن موبایل کنترل سیستمهای حفاظتی زونکس
کارفرما: شرکت زونکس
سایت وردپرسی، طراحی سایت، برنامهنویسی اختصاصی، اپلیکیشن موبایل، طراحی رابط کاربری (UI/UX)، وب اپلیکیشن
مشاهده آنلاین پروژه
وبسایت رسمی شرکت فناوری و حفاظتی زونکس
کارفرما: شرکت زونکس
سایت وردپرسی، طراحی سایت، وردپرس، اپلیکیشن موبایل، سایت شرکتی و صنعتی
مشاهده آنلاین پروژه
وبسایت آموزشی و مسابقات بینالمللی سنجاب
کارفرما: مؤسسه آموزشی سنجاب
طراحی سایت، برنامهنویسی اختصاصی، سایت آموزشی، سایت آموزشی و مدرسه، طراحی رابط کاربری (UI/UX)، آموزشی و پژوهشی
مشاهده آنلاین پروژه
فروشگاه آنلاین کفش ایمنی و صنعتی ساتر
کارفرما: شرکت ساتر
سایت وردپرسی، طراحی سایت، وردپرس، طراحی رابط کاربری (UI/UX)، سایت شرکتی
مشاهده آنلاین پروژه
وبسایت صنعتی و تجاری آروند
کارفرما: شرکت آروند
سایت وردپرسی، طراحی سایت، وردپرس اختصاصی، سایت شرکتی
مشاهده آنلاین پروژه
اپلیکیشن موبایل خدمات خودرو و ساختمان هومکار
کارفرما: توسعهدهندگان هومکار
طراحی سایت، اپلیکیشن موبایل، طراحی رابط کاربری (UI/UX)
مشاهده آنلاین پروژه
وبسایت مدرسه و موسسه آموزشی آرمان دانش
کارفرما: موسسه آموزشی آرمان دانش
طراحی سایت، وردپرس اختصاصی، وردپرس، سایت آموزشی و مدرسه
مشاهده آنلاین پروژه
وبسایت آموزشی و آزمون آنلاین تیزپا
کارفرما: گروه آموزشی تیزپا
سایت وردپرسی، طراحی سایت، وردپرس اختصاصی، سایت آموزشی، وردپرس
مشاهده آنلاین پروژه
پلتفرم آموزشی و معاملهگری ژکس اسکول (Zex School)
کارفرما: آکادمی معاملهگری ژکس
طراحی سایت، سایت آموزشی (LMS)، وردپرس اختصاصی
مشاهده آنلاین پروژه