import Link from "next/link"; import { keywordSearch, hybridSearch } from "@mcpedia/core"; // Render at request time — queries Postgres on each request (not at build, // where CI has no DB). export const dynamic = "force-dynamic"; type Mode = "keyword" | "hybrid"; export default async function SearchPage({ searchParams, }: { searchParams: Promise<{ q?: string; mode?: string }>; }) { const { q, mode } = await searchParams; const query = q?.trim() ?? ""; const activeMode: Mode = mode === "hybrid" ? "hybrid" : "keyword"; const hits = query ? activeMode === "hybrid" ? await hybridSearch(query, 30) : await keywordSearch(query, 30) : []; const toggle = (m: Mode) => `/search?q=${encodeURIComponent(query)}&mode=${m}`; return (

Search

Keyword Hybrid
{query && hits.length === 0 && (

No results for “{query}”.

)}
); }