'Beranda', 'page' => 'landing', 'news' => News::whereBetween('created_at', [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()]) ->where('category', '=', '0') ->latest() ->get(), 'announcements' => News::whereBetween('created_at', [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()]) ->where('category', '=', '1') ->latest() ->get(), ]; return view('homepage.index', $data); } public function search(Request $request){ $request->validate([ 'search' => 'nullable|string|max:255|regex:/^[a-zA-Z0-9\s]+$/' ], [ 'search.string' => 'Pencarian harus berupa teks.', 'search.max' => 'Pencarian tidak boleh lebih dari 255 karakter.', 'search.regex' => 'Pencarian hanya boleh mengandung huruf, angka, dan spasi.' ]); $search = trim($request->input('search')); $data = [ 'title' => 'Pencarian', 'page' => 'search', 'data' => News::query() ->when($search, function ($query, $search) { return $query->where('title', 'LIKE', '%' . $search . '%'); }) ->latest() ->simplePaginate(12) ->appends(['search' => $search]), 'search' => $search ]; return view('homepage.search', $data); } }