Spaces:
Paused
Paused
File size: 1,155 Bytes
054d282 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
export const dynamic = "force-dynamic";
import ImageSearchResults from "@/components/ImageSearchResults";
import Link from "next/link";
export default async function ImageSearchPage({ searchParams }) {
const startIndex = searchParams.start || "1";
await new Promise((resolve) => setTimeout(resolve, 2000));
const response = await fetch(
`https://www.googleapis.com/customsearch/v1?key=${process.env.API_KEY}&cx=${process.env.CONTEXT_KEY}&q=${searchParams.searchTerm}}&searchType=image&start=${startIndex}`
);
if (!response.ok) {
console.log(response);
throw new Error("Something went wrong");
}
const data = await response.json();
const results = data.items;
if (!results) {
return (
<div className="flex flex-col justify-center items-center pt-10">
<h1 className="text-3xl mb-4">No results found</h1>
<p className="text-lg">
Try searching for something else or go back to the homepage{" "}
<Link href="/" className="text-blue-500">
Home
</Link>
</p>
</div>
);
}
return <>{results && <ImageSearchResults results={data} />}</>;
}
|