'use client'; import { useEffect, useState } from 'react'; import { useRouter, useParams } from 'next/navigation'; import { motion } from 'framer-motion'; import { ArrowLeft, Save } from 'lucide-react'; import useStore from '@/lib/store'; import HRSidebar from '@/components/navigation/hr-sidebar'; import CosmicCard from '@/components/ui/cosmic-card'; import { categories, ranks } from '@/lib/mockData'; import { toast } from 'sonner'; const icons = [ 'FileText', 'Users', 'Code', 'Presentation', 'BookOpen', 'Lightbulb', 'Rocket', 'TrendingUp', 'Target', 'Award', ]; export default function EditMissionPage() { const params = useParams(); const router = useRouter(); const { user, isHR, missions, updateMission } = useStore(); const [formData, setFormData] = useState(null); const mission = missions.find((m) => m.id === parseInt(params.id)); useEffect(() => { if (!user) { router.push('/login'); } else if (!isHR) { router.push('/dashboard'); } else if (mission) { setFormData({ title: mission.title, description: mission.description, category: mission.category, experienceReward: mission.experienceReward, manaReward: mission.manaReward, requiredRank: mission.requiredRank, icon: mission.icon, skills: mission.skills || [], }); } }, [user, isHR, mission, router]); if (!user || !isHR || !mission || !formData) return null; const handleSubmit = (e) => { e.preventDefault(); if (!formData.title || !formData.description) { toast.error('Заполните все обязательные поля'); return; } updateMission(mission.id, formData); toast.success('Миссия обновлена успешно!'); router.push('/hr/missions'); }; const handleChange = (field, value) => { setFormData((prev) => ({ ...prev, [field]: value })); }; return (

Редактирование миссии

Внесите изменения в миссию

handleChange('title', e.target.value)} placeholder="Например: Загрузить резюме" className="w-full px-4 py-3 bg-slate-800 border border-slate-700 rounded-lg text-white placeholder-slate-400 focus:outline-none focus:border-blue-500 transition-colors" required />