dark mode v2

This commit is contained in:
hamid zarghami
2025-08-19 09:57:19 +03:30
parent 916b88731c
commit 8fb54cdd95
8 changed files with 56 additions and 52 deletions
+7 -11
View File
@@ -1,24 +1,20 @@
/**
* تابع برای دریافت رنگ مناسب آیکون‌ها بر اساس theme
* @param variant - نوع رنگ: 'primary' یا 'muted'
* @returns رنگ مناسب برای theme فعلی
* منبع رنگ آیکون‌ها بر اساس متغیرهای CSS تم
* - primary: از `--primary`
* - muted: از `--muted-foreground`
* استفاده از متغیرهای CSS باعث می‌شود با تغییر تم، رنگ‌ها بدون نیاز به رفرش بروزرسانی شوند.
*/
export const getIconColor = (
variant: "primary" | "muted" = "primary"
): string => {
// تشخیص theme از document
const isDark = document.documentElement.classList.contains("dark");
if (variant === "muted") {
return isDark ? "#9ca3af" : "#6b7280"; // خاکستری متوسط
return "var(--muted-foreground)";
}
// primary color
return isDark ? "#ffffff" : "#000000"; // سفید برای dark، سیاه برای light
return "var(--primary)";
};
/**
* Hook برای استفاده در React components
* Hook ساده برای دسترسی به رنگ‌ها؛ به دلیل استفاده از CSS vars، نیازی به context نیست
*/
export const useIconColor = () => {
return {