Spaces:
Paused
Paused
matt HOFFNER
commited on
Commit
·
d3becdb
1
Parent(s):
1f57b62
test
Browse files- src/app/search/image/loading.jsx +0 -23
- src/app/search/image/page.jsx +0 -36
- src/app/search/layout.jsx +1 -1
- src/app/search/web/page.jsx +1 -1
- src/pages/index.js +5 -6
src/app/search/image/loading.jsx
DELETED
|
@@ -1,23 +0,0 @@
|
|
| 1 |
-
export default function loading() {
|
| 2 |
-
return (
|
| 3 |
-
<div className="pt-10 mx-2 lg:pl-52 max-w-6xl flex sm:space-x-4 flex-col sm:flex-row pb-42">
|
| 4 |
-
<div className="animate-pulse">
|
| 5 |
-
<div className="h-48 w-48 mb-4 bg-gray-200 rounded-md"></div>
|
| 6 |
-
<div className="h-2 w-48 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 7 |
-
<div className="h-2 w-44 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 8 |
-
</div>
|
| 9 |
-
<div className="hidden sm:inline-flex sm:space-x-4">
|
| 10 |
-
<div className="animate-pulse">
|
| 11 |
-
<div className="h-48 w-48 mb-4 bg-gray-200 rounded-md"></div>
|
| 12 |
-
<div className="h-2 w-48 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 13 |
-
<div className="h-2 w-44 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 14 |
-
</div>
|
| 15 |
-
<div className="animate-pulse">
|
| 16 |
-
<div className="h-48 w-48 mb-4 bg-gray-200 rounded-md"></div>
|
| 17 |
-
<div className="h-2 w-48 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 18 |
-
<div className="h-2 w-44 mb-2.5 bg-gray-200 rounded-md"></div>
|
| 19 |
-
</div>
|
| 20 |
-
</div>
|
| 21 |
-
</div>
|
| 22 |
-
);
|
| 23 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/app/search/image/page.jsx
DELETED
|
@@ -1,36 +0,0 @@
|
|
| 1 |
-
export const dynamic = "force-dynamic";
|
| 2 |
-
|
| 3 |
-
import ImageSearchResults from "@/components/ImageSearchResults";
|
| 4 |
-
import Link from "next/link";
|
| 5 |
-
|
| 6 |
-
export default async function ImageSearchPage({ searchParams }) {
|
| 7 |
-
const startIndex = searchParams.start || "1";
|
| 8 |
-
await new Promise((resolve) => setTimeout(resolve, 2000));
|
| 9 |
-
const response = await fetch(
|
| 10 |
-
`https://www.googleapis.com/customsearch/v1?key=${process.env.API_KEY}&cx=${process.env.CONTEXT_KEY}&q=${searchParams.searchTerm}}&searchType=image&start=${startIndex}`
|
| 11 |
-
);
|
| 12 |
-
|
| 13 |
-
if (!response.ok) {
|
| 14 |
-
console.log(response);
|
| 15 |
-
throw new Error("Something went wrong");
|
| 16 |
-
}
|
| 17 |
-
|
| 18 |
-
const data = await response.json();
|
| 19 |
-
|
| 20 |
-
const results = data.items;
|
| 21 |
-
|
| 22 |
-
if (!results) {
|
| 23 |
-
return (
|
| 24 |
-
<div className="flex flex-col justify-center items-center pt-10">
|
| 25 |
-
<h1 className="text-3xl mb-4">No results found</h1>
|
| 26 |
-
<p className="text-lg">
|
| 27 |
-
Try searching for something else or go back to the homepage{" "}
|
| 28 |
-
<Link href="/" className="text-blue-500">
|
| 29 |
-
Home
|
| 30 |
-
</Link>
|
| 31 |
-
</p>
|
| 32 |
-
</div>
|
| 33 |
-
);
|
| 34 |
-
}
|
| 35 |
-
return <>{results && <ImageSearchResults results={data} />}</>;
|
| 36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/app/search/layout.jsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
import SearchHeader from "@/components/SearchHeader";
|
| 2 |
-
import "
|
| 3 |
|
| 4 |
export default function SearchLayout({ children }) {
|
| 5 |
return (
|
|
|
|
| 1 |
import SearchHeader from "@/components/SearchHeader";
|
| 2 |
+
import "../../app/globals.css";
|
| 3 |
|
| 4 |
export default function SearchLayout({ children }) {
|
| 5 |
return (
|
src/app/search/web/page.jsx
CHANGED
|
@@ -103,4 +103,4 @@ export default function WebSearchPage({ params, searchParams }) {
|
|
| 103 |
</MemoizedReactMarkdown>
|
| 104 |
</div>
|
| 105 |
);
|
| 106 |
-
}
|
|
|
|
| 103 |
</MemoizedReactMarkdown>
|
| 104 |
</div>
|
| 105 |
);
|
| 106 |
+
}
|
src/pages/index.js
CHANGED
|
@@ -24,12 +24,11 @@ export default function Home() {
|
|
| 24 |
);
|
| 25 |
}
|
| 26 |
|
| 27 |
-
export async function
|
| 28 |
// You can access the query parameters of the request with context.query
|
| 29 |
const searchParams = context.query;
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
return { props: { searchParams } };
|
| 35 |
}
|
|
|
|
| 24 |
);
|
| 25 |
}
|
| 26 |
|
| 27 |
+
export async function getStaticProps(context) {
|
| 28 |
// You can access the query parameters of the request with context.query
|
| 29 |
const searchParams = context.query;
|
| 30 |
+
if (searchParams) {
|
| 31 |
+
return { props: { searchParams } };
|
| 32 |
+
}
|
| 33 |
+
return { props: {} };
|
|
|
|
| 34 |
}
|