all()); $validated = $request->validate([ 'search' => 'nullable|string|max:255', 'type' => 'nullable|string|in:event,news,all', 'page' => 'nullable|integer|min:1', 'per_page' => 'nullable|integer|min:1|max:100', ]); $categories = config('wp_categories.map.' . ($validated['type'] ?? 'all')); // dd($categories); $search = $validated['search'] ?? ''; // Fetch news posts from WordPress REST API $response = Http::get(env('WP_POSTS_API_URL'), [ 'categories' => $categories, // i.g. '3,4' for 'all', '3' for 'event', '4' for 'news' 'per_page' => $validated['per_page'] ?? 10, // Default to 10 posts per page 'search' => $search, // Search query 'page' => $validated['page'] ?? 1, // Current page number ]); // dump([ // 'categories' => $categories, // i.g. '3,4' for 'all', '3' for 'event', '4' for 'news' // 'per_page' => $validated['per_page'] ?? 10, // Default to 10 posts per page // 'search' => $search, // Search query // 'page' => $validated['page'] ?? 1, // Current page number // ]); // dd($response->json()); $posts = []; if ($response->successful()) { $posts = $response->json(); return response()->json([ 'events' => $posts, ]); // return Inertia::render('news', [ // 'events' => $posts, // ]); } // dd($posts); // return response()->json(['response' => $response->json()]); return response()->json(['error' => 'Unable to fetch news'], 500); } }