public function indexSSR(DataTableSearch $request): JsonResponse 	{ 		$notifications = Notification::withCount('targets');  		return DataTables::eloquent($notifications) 		->order(static function (object $query) use ($request): void { 			$order_array = $request->get('order') ?? []; 			$columns_array = $request->columns;  			if (filled($order_array)) { 				foreach (array_column($order_array, 'dir', 'column') as $column_index => $order_direction) { 					$query->orderBy($columns_array[$column_index]['name'], $order_direction); 				} 			} else { 				$query->latest(); 			} 		}) 		->addColumn('title', static fn (Notification $row): string => '<a href="' . route('notifications.show', $row->getKey()) . '" title="' . __('global.view') . '" data-container="body" data-toggle="tooltip" data-placement="left">' . $row->getDefaultTranslation('title') . '</a>') 		->addColumn('url', static fn (Notification $row): View => view('layouts.bool_badge', ['value' => $row->url])) 		->addColumn('scheduled_at', static fn (Notification $row): string => '<td data-order="' . formatTimestamp($row->scheduled_at, 'U') . '">' . formatLocalTimestamp($row->scheduled_at) . '</td>') 		->addColumn('targets_count', static fn (Notification $row): int => $row->targets_count) 		->addColumn('canceled_at', static fn (Notification $row): string => '<td data-order="' . ($row->canceled_at ? formatTimestamp($row->canceled_at, 'U') : 0) . '">' . ($row->canceled_at ? formatLocalTimestamp($row->canceled_at) : '-') . '</td>') 		->addColumn('created_at', static fn (Notification $row): string => '<td data-order="' . formatTimestamp($row->created_at, 'U') . '">' . formatLocalTimestamp($row->created_at) . '</td>') 		->addColumn('checkbox', static fn (Notification $row): View => view('layouts.option_buttons', ['value' => $row->getKey()])) 		->rawColumns([ 			'title', 			'url', 			'scheduled_at', 			'targets_count', 			'canceled_at', 			'created_at', 			'checkbox', 		]) 		->toJson(); 	}