Ecme logoEcme logo
داشبورد
    فروشگاه آنلاین
    پروژه
    بازاریابی
    تحلیل
مفاهیم
    هوش مصنوعی
      گفتگو
      تصویر
    پروژه‌ها
      تابلوی اسکرام
      فهرست
      جزئیات
      وظایف
      مسائل
    مشتریان
      فهرست
      ویرایش
      ایجاد
      جزئیات
    محصولات
      فهرست
      ویرایش
      ایجاد
    سفارش‌ها
      فهرست
      ویرایش
      ایجاد
      جزئیات
    حساب کاربری
      تنظیمات
      سابقه فعالیت
      نقش‌ها و دسترسی‌ها
      تعرفه‌ها
    مرکز راهنمایی
      مرکز پشتیبانی
      مقاله
      ویرایش مقاله
      مدیریت مقاله
    تقویم
    مدیریت فایل
    ایمیل
    گفتگو
اجزای رابط کاربری
    عمومی
      دکمه
      شبکه
      تایپوگرافی
      نمادها
    بازخورد
      هشدار
      پنجره گفتگو
      منوی کشویی
      نوار پیشرفت
      پیش‌نمایش
      نشانگر بارگذاری
      پیام موقت
    نمایش اطلاعات
      تصویر کاربر
      نشانک
      تقویم
      کارت‌ها
      جدول
      برچسب
      خط زمان
      راهنمای ابزار
    فرم‌ها
      کادر انتخاب
      انتخابگر تاریخ
      کنترل‌های فرم
      ورودی
      گروه ورودی
      دکمه رادیویی
      بخش
      انتخابگر
      کلید دوحالته
      ورودی زمان
      بارگذاری
    ناوبری
      منوی کشویی
      منو
      صفحه‌بندی
      گام‌ها
      زبانه‌ها
    نمودار
      نمودارها
      نقشه‌ها
احراز هویت
    ورود به سیستم
      ساده
      کناری
      دوبخشی
    ثبت‌نام
      ساده
      کناری
      دوبخشی
    بازیابی رمز عبور
      ساده
      کناری
      دوبخشی
    بازنشانی رمز عبور
      ساده
      کناری
      دوبخشی
    تایید رمز یکبار مصرف
      ساده
      کناری
      دوبخشی
سایر
    دسترسی غیرمجاز
    صفحه فرود
راهنما
    مستندات
    اجزای اشتراکی
    ابزارها
    تاریخچه تغییرات
حق نشر © 2026 Ecme تمامی حقوق محفوظ است.
شرایط و ضوابط | حریم خصوصی و سیاست
هوک‌ها
اضافه کردن پارامترهای کوئریمدیریت دسترسی‌هامدیریت نشست فعلیتأخیر در اجرااسکرول بی‌نهایتتکرار در بازه زمانیمدیریت چیدمانمدیریت منوی فعالمدیریت ناوبریرنگ پس‌زمینه تصادفیواکنش‌گراییاسکرول به بالامدیریت تمپیام با تأخیرترجمه
توابع
مخففمدیریت کلاس‌هاواحد اندازه فایلتشخیص مرورگرتشخیص آخرین فرزندصفحه‌بندیتغییر ترتیب آرایهتغییر ترتیب با کشیدنتأخیرمرتب‌سازیجستجوی کاراکتر عمومی
کامپوننت‌های مرتبه بالا
کامپوننت با آیتم هدر

useTheme

هوک useTheme برای مدیریت و دسترسی به وضعیت‌ها و عملیات‌های مرتبط با تم استفاده می‌شود.

مثال

نمونه‌ای که نشان می‌دهد چگونه از هوک useTheme برای تغییر حالت‌ها، تغییر جهت‌ها و تنظیمات چیدمان استفاده می‌شود.
'use client'
            
import useTheme from '@/hooks/useTheme'
import { MODE_DARK, MODE_LIGHT } from '@/constants/theme.constant'
import { Direction, LayoutType } from '@/@types/theme'

const Component = () => {

    const {
        mode,
        direction,
        layout,
        setMode,
        setDirection,
        setLayout,
        setSideNavCollapse,
        setPanelExpand,
    } = useTheme((state) => ({
        mode: state.mode,
        direction: state.direction,
        layout: state.layout.type,
        setMode: state.setMode,
        setDirection: state.setDirection,
        setLayout: state.setLayout,
        setSideNavCollapse: state.setSideNavCollapse,
        setPanelExpand: state.setPanelExpand,
    }));

    const toggleThemeMode = () => {
        setMode(mode === MODE_LIGHT ? MODE_DARK : MODE_LIGHT);
    };

    const toggleDirection = () => {
        setDirection(direction === 'ltr' ? 'rtl' : 'ltr');
    };

    const changeLayout = (layoutType: LayoutType) => {
        setLayout(layoutType);
    };

    const toggleSideNav = () => {
        setSideNavCollapse(true); // Collapse the side navigation
    };

    const togglePanelExpand = () => {
        setPanelExpand(true); // Expand the panel
    };

	return (...)
}
بازگشتیتوضیحاتنوعپیش‌فرض
setSchemaطرح فعلی تم را به‌روزرسانی می‌کند و طرح جدید را اعمال می‌کند.(schema: string) => void-
setModeحالت تم را تنظیم می‌کند (مثلاً روشن یا تیره) و آن را در سند اعمال می‌کند.(mode: Mode) => void-
setSideNavCollapseوضعیت جمع‌شدن ناوبری کناری را تغییر می‌دهد.(sideNavCollapse: boolean) => void-
setDirectionجهت متن سند را تنظیم می‌کند (مثلاً راست به چپ یا چپ به راست).(direction: Direction) => void-
setPanelExpandپنل را بر اساس مقدار ارائه شده باز یا بسته می‌کند.(panelExpand: boolean) => void-
setLayoutنوع چیدمان برنامه را تنظیم می‌کند (مثلاً عمودی، افقی).(layout: LayoutType) => void-
modeحالت فعلی تم (مثلاً روشن یا تیره).Mode-
directionجهت فعلی متن (مثلاً راست به چپ یا چپ به راست).Direction-
layoutنوع چیدمان فعلی برنامه.LayoutType-
فهرست مطالب
  • مثال