diff --git a/client/src/App.tsx b/client/src/App.tsx index f5df463..8f1c406 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -24,6 +24,7 @@ import AnalyticsPage from "@/pages/AnalyticsPage"; import SystemMonitoringPage from "@/pages/SystemMonitoringPage"; import SettingsPage from "@/pages/SettingsPage"; import FocusPage from "@/pages/FocusPage"; +import ThemePage from "@/pages/ThemePage"; import NotFound from "@/pages/not-found"; function Router() { @@ -41,6 +42,7 @@ function Router() { + diff --git a/client/src/components/layout/Sidebar.tsx b/client/src/components/layout/Sidebar.tsx index 44efcb9..ec6dbb5 100644 --- a/client/src/components/layout/Sidebar.tsx +++ b/client/src/components/layout/Sidebar.tsx @@ -19,7 +19,8 @@ import { Zap, Monitor, UserCheck, - Focus + Focus, + Palette } from "lucide-react"; interface SidebarProps { @@ -63,6 +64,11 @@ const getNavigation = (t: any) => [ href: "/focus", icon: Focus, }, + { + name: t('navigation.themes'), + href: "/themes", + icon: Palette, + }, ]; const getManagementNavigation = (t: any) => [ diff --git a/client/src/i18n/locales/ar.json b/client/src/i18n/locales/ar.json index f15dc0e..4600647 100644 --- a/client/src/i18n/locales/ar.json +++ b/client/src/i18n/locales/ar.json @@ -30,6 +30,7 @@ "professionals": "الدليل المهني", "ai": "المساعد الذكي", "focus": "وضع التركيز", + "themes": "الثيمات التكيفية", "voice": "الأوامر الصوتية", "analytics": "التحليلات", "monitoring": "مراقبة النظام", @@ -177,6 +178,42 @@ "whitenoise": "الضوضاء البيضاء" } }, + "theme": { + "title": "نظام الثيمات التكيفي", + "description": "اختبر واجهة ديناميكية تتكيف مع حالتك المزاجية وأنماط نشاطك ووقت اليوم للحصول على الإنتاجية والراحة المثلى.", + "adaptiveTitle": "التحكم في الثيم التكيفي", + "adaptiveMode": "الوضع التكيفي", + "adaptiveModeDesc": "تعديل الألوان تلقائياً بناءً على حالتك المزاجية ووقت اليوم", + "enabled": "مفعل", + "disabled": "معطل", + "currentMood": "تحليل الحالة المزاجية الحالية", + "moodDesc": "محدد من أنماط نشاطك ووقت اليوم", + "energy": "الطاقة", + "focus": "التركيز", + "stress": "التوتر", + "creativity": "الإبداع", + "manualAdjustment": "التعديل اليدوي للمزاج", + "manualAdjustmentDesc": "تجاوز الكشف التلقائي بالإعدادات اليدوية", + "presets": "قوالب الثيمات", + "presetsDesc": "تجاوز الوضع التكيفي بثيمات محددة مسبقاً", + "clearOverride": "مسح التجاوز اليدوي", + "currentTheme": "الثيم الحالي", + "manualTheme": "يدوي", + "adaptiveTheme": "تكيفي بناءً على المزاج والوقت", + "primary": "أساسي", + "secondary": "ثانوي", + "accent": "مميز", + "background": "الخلفية", + "foreground": "المقدمة", + "features": { + "moodDetection": "كشف الحالة المزاجية", + "moodDetectionDesc": "يحلل أنماط نشاطك لتحديد مستويات الطاقة والتركيز والتوتر والإبداع", + "timeAdaptation": "التكيف مع الوقت", + "timeAdaptationDesc": "يعدل الألوان تلقائياً بناءً على وقت اليوم للراحة البصرية المثلى", + "smartColors": "الألوان الذكية", + "smartColorsDesc": "لوحات ألوان ديناميكية تعزز الإنتاجية وتقلل من إجهاد العين" + } + }, "voice": { "title": "الأوامر الصوتية", "listening": "جاري الاستماع...", diff --git a/client/src/i18n/locales/en.json b/client/src/i18n/locales/en.json index e7ceaad..e1c59c0 100644 --- a/client/src/i18n/locales/en.json +++ b/client/src/i18n/locales/en.json @@ -30,6 +30,7 @@ "professionals": "Professional Directory", "ai": "AI Assistant", "focus": "Focus Mode", + "themes": "Adaptive Themes", "voice": "Voice Commands", "analytics": "Analytics", "monitoring": "System Monitor", @@ -179,6 +180,42 @@ "whitenoise": "White Noise" } }, + "theme": { + "title": "Adaptive Theme System", + "description": "Experience a dynamic interface that adapts to your mood, activity patterns, and time of day for optimal productivity and comfort.", + "adaptiveTitle": "Adaptive Theme Control", + "adaptiveMode": "Adaptive Mode", + "adaptiveModeDesc": "Automatically adjust colors based on your mood and time of day", + "enabled": "Enabled", + "disabled": "Disabled", + "currentMood": "Current Mood Analysis", + "moodDesc": "Detected from your activity patterns and time of day", + "energy": "Energy", + "focus": "Focus", + "stress": "Stress", + "creativity": "Creativity", + "manualAdjustment": "Manual Mood Adjustment", + "manualAdjustmentDesc": "Override automatic detection with manual settings", + "presets": "Theme Presets", + "presetsDesc": "Override adaptive mode with predefined themes", + "clearOverride": "Clear Manual Override", + "currentTheme": "Current Theme", + "manualTheme": "Manual", + "adaptiveTheme": "Adaptive based on mood and time", + "primary": "Primary", + "secondary": "Secondary", + "accent": "Accent", + "background": "Background", + "foreground": "Foreground", + "features": { + "moodDetection": "Mood Detection", + "moodDetectionDesc": "Analyzes your activity patterns to determine energy, focus, stress, and creativity levels", + "timeAdaptation": "Time Adaptation", + "timeAdaptationDesc": "Automatically adjusts colors based on time of day for optimal visual comfort", + "smartColors": "Smart Colors", + "smartColorsDesc": "Dynamic color palettes that enhance productivity and reduce eye strain" + } + }, "voice": { "title": "Voice Commands", "listening": "Listening...", diff --git a/client/src/pages/ThemePage.tsx b/client/src/pages/ThemePage.tsx new file mode 100644 index 0000000..d0096d8 --- /dev/null +++ b/client/src/pages/ThemePage.tsx @@ -0,0 +1,61 @@ +import { ThemeControlPanel } from "@/components/ThemeControlPanel"; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; +import { useTranslation } from "react-i18next"; +import { Palette, Sparkles, Clock, Brain } from "lucide-react"; + +export default function ThemePage() { + const { t } = useTranslation(); + + return ( +
+
+

+ {t('theme.title', 'Adaptive Theme System')} +

+

+ {t('theme.description', 'Experience a dynamic interface that adapts to your mood, activity patterns, and time of day for optimal productivity and comfort.')} +

+
+ +
+ + + + {t('theme.features.moodDetection', 'Mood Detection')} + + + + {t('theme.features.moodDetectionDesc', 'Analyzes your activity patterns to determine energy, focus, stress, and creativity levels')} + + + + + + + + {t('theme.features.timeAdaptation', 'Time Adaptation')} + + + + {t('theme.features.timeAdaptationDesc', 'Automatically adjusts colors based on time of day for optimal visual comfort')} + + + + + + + + {t('theme.features.smartColors', 'Smart Colors')} + + + + {t('theme.features.smartColorsDesc', 'Dynamic color palettes that enhance productivity and reduce eye strain')} + + + +
+ + +
+ ); +} \ No newline at end of file