public function indexSSR(DataTableSearch $request): JsonResponse 	{ 		return DataTables::eloquent(Notification::withCount('targets')) 			->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(); 	}