'use client'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { Settings, Award, Zap, Star, Save } from 'lucide-react'; import { motion } from 'framer-motion'; import useStore from '@/lib/store'; import HRSidebar from '@/components/navigation/hr-sidebar'; import CosmicCard from '@/components/ui/cosmic-card'; import { toast } from 'sonner'; export default function HRSettingsPage() { const router = useRouter(); const { user, isHR } = useStore(); const [settings, setSettings] = useState({ baseExperienceReward: 100, baseManaReward: 50, experienceMultiplier: 1.5, enableNotifications: true, enableLeaderboard: false, maxDailyMissions: 5, enableAchievements: true, }); useEffect(() => { if (!user) { router.push('/login'); } else if (!isHR) { router.push('/dashboard'); } }, [user, isHR, router]); if (!user || !isHR) return null; const handleSave = () => { toast.success('Настройки сохранены', { description: 'Изменения будут применены ко всем пользователям', }); }; const handleChange = (key, value) => { setSettings((prev) => ({ ...prev, [key]: value })); }; return (

Настройки системы

Конфигурация параметров геймификации

Награды и опыт

handleChange('baseExperienceReward', parseInt(e.target.value)) } min="0" className="w-full px-4 py-3 bg-slate-800 border border-slate-700 rounded-lg text-white focus:outline-none focus:border-blue-500 transition-colors" />

Минимальное количество опыта за выполнение миссии

handleChange('baseManaReward', parseInt(e.target.value))} min="0" className="w-full px-4 py-3 bg-slate-800 border border-slate-700 rounded-lg text-white focus:outline-none focus:border-blue-500 transition-colors" />

Минимальное количество маны за выполнение миссии

handleChange('experienceMultiplier', parseFloat(e.target.value)) } step="0.1" min="1" max="3" className="w-full px-4 py-3 bg-slate-800 border border-slate-700 rounded-lg text-white focus:outline-none focus:border-blue-500 transition-colors" />

Коэффициент увеличения требуемого опыта для следующего ранга

Функциональность

Уведомления

Отправлять уведомления о новых миссиях и достижениях

Таблица лидеров

Показывать рейтинг пользователей по опыту

Достижения

Включить систему достижений и значков

Ограничения

handleChange('maxDailyMissions', parseInt(e.target.value))} min="1" max="20" className="w-full px-4 py-3 bg-slate-800 border border-slate-700 rounded-lg text-white focus:outline-none focus:border-blue-500 transition-colors" />

Максимальное количество миссий, которые может выполнить пользователь за день

Сохранить настройки
); }