adaptationService = $adaptationService; } public function aksi(Request $request) { $year = (int) $request->input('adaptationYear', date('Y')); try { $dashboardData = $this->adaptationService->getDashboardData($year); return view('auth.dashboard-adaptation-aksi', [ 'title' => $this->title, 'route' => $this->route, 'stats' => $dashboardData['stats'], 'charts' => $dashboardData['charts'], 'today' => Carbon::today()->translatedFormat('d F Y'), ]); } catch(\Exception $e) { Log::error('Error loading aksi mitigasi dashboard', [ 'message' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); return back()->withErrors(['error' => 'Gagal memuat dashboard aksi mitigasi.']); } } public function index(Request $request) { $year = (int) $request->input('adaptationYear', date('Y')); try { $dashboardData = $this->adaptationService->getDashboardData($year); return view('auth.dashboard-adaptation', [ 'title' => $this->title, 'route' => $this->route, 'selectedYear' => $dashboardData['adaptationYear'], 'tableData' => $dashboardData['tableData'], // ⬅️ collection biasa 'barData' => $dashboardData['barData'], 'realisasiData' => $dashboardData['realisasiData'], 'budgetData' => $dashboardData['budgetData'], ]); } catch (\Exception $e) { Log::error('Error loading dashboard adaptation data', [ 'message' => $e->getMessage(), 'trace' => $e->getTraceAsString(), ]); // optional: kasih feedback ke user biar nggak blank return back()->withErrors(['error' => 'Gagal memuat dashboard adaptasi.']); } } }