paginate(15); // Upgraded Bank of Smart Suggestions (Hardcore Focused) $suggestions = [ // --- EXTREME CHALLENGES --- ['title' => 'اسطوره لیگ: پیروزی در ۵۰ دوئل', 'quest_type' => 'duel_win', 'required_amount' => 50, 'reward_xp' => 4000], ['title' => 'ماراتن تست‌زنی: پاسخ به ۵۰۰ تست', 'quest_type' => 'answer_tests', 'required_amount' => 500, 'reward_xp' => 3500], ['title' => 'کمال‌گرا: کسب نمره کامل در ۵ آزمون', 'quest_type' => 'perfect_score', 'required_amount' => 5, 'reward_xp' => 2500], // --- HARD CHALLENGES --- ['title' => 'مبارز خستگی‌ناپذیر: پیروزی در ۲۰ دوئل', 'quest_type' => 'duel_win', 'required_amount' => 20, 'reward_xp' => 1500], ['title' => 'چالش حقوق‌دان: پاسخ به ۲۵۰ تست', 'quest_type' => 'answer_tests', 'required_amount' => 250, 'reward_xp' => 1200], ['title' => 'دقت بالا: کسب نمره کامل در ۳ آزمون', 'quest_type' => 'perfect_score', 'required_amount' => 3, 'reward_xp' => 1200], ['title' => 'پیروزی در ۱۰ دوئل متوالی (کاپ نقره)', 'quest_type' => 'duel_win', 'required_amount' => 10, 'reward_xp' => 700], // --- MEDIUM CHALLENGES (For balance) --- ['title' => 'گرم‌کردن: پیروزی در ۵ دوئل', 'quest_type' => 'duel_win', 'required_amount' => 5, 'reward_xp' => 300], ['title' => 'مرور روزانه: پاسخ به ۵۰ تست', 'quest_type' => 'answer_tests', 'required_amount' => 50, 'reward_xp' => 250], ['title' => 'کسب نمره کامل در ۱ آزمون', 'quest_type' => 'perfect_score', 'required_amount' => 1, 'reward_xp' => 350], ]; return view('admin.daily-quests.index', compact('quests', 'suggestions')); } public function create() { return view('admin.daily-quests.create'); } public function store(Request $request) { $validated = $request->validate([ 'title' => 'required|string|max:255', 'quest_type' => 'required|string|in:duel_win,answer_tests,perfect_score', 'required_amount' => 'required|integer|min:1', 'reward_xp' => 'required|integer|min:10', ]); $validated['is_active'] = $request->has('is_active'); // <-- Catch the switch DailyQuest::create($validated); return redirect()->route('daily-quests.index')->with('success', 'چالش روزانه با موفقیت ایجاد شد.'); } public function update(Request $request, DailyQuest $daily_quest) { $validated = $request->validate([ 'title' => 'required|string|max:255', 'quest_type' => 'required|string|in:duel_win,answer_tests,perfect_score', 'required_amount' => 'required|integer|min:1', 'reward_xp' => 'required|integer|min:10', ]); $validated['is_active'] = $request->has('is_active'); // <-- Catch the switch $daily_quest->update($validated); return redirect()->route('daily-quests.index')->with('success', 'چالش روزانه با موفقیت ویرایش شد.'); } public function edit(DailyQuest $daily_quest) { return view('admin.daily-quests.update', compact('daily_quest')); } public function destroy(DailyQuest $daily_quest) { $daily_quest->delete(); return redirect()->route('daily-quests.index')->with('success', 'چالش روزانه حذف شد.'); } }