web3.news/src/app/page.tsx

39 lines
953 B
TypeScript
Raw Normal View History

import { redirect } from "next/navigation";
import { headers } from "next/headers";
import Feed from "@/components/Feed";
import SearchBar from "@/components/SearchBar";
import { fetchFeedData } from "@/lib/feed.ts";
2023-11-10 13:34:04 +00:00
2023-11-22 11:59:45 +00:00
type Props = {
searchParams?: {
q?: string | undefined;
};
};
2023-11-22 11:59:45 +00:00
export default async function Home({ searchParams }: Props) {
const headerList = headers();
const referer = headerList.get("referer");
2023-11-22 11:59:45 +00:00
if (!referer && searchParams?.q) {
redirect(`/search?q=${searchParams.q}`);
2023-11-22 11:59:45 +00:00
}
const data = await fetchFeedData({});
2023-11-10 13:34:04 +00:00
return (
2023-11-14 15:52:42 +00:00
<>
2023-11-10 17:17:30 +00:00
<SearchBar />
2023-11-15 09:35:32 +00:00
<div className="space-y-8 w-full my-10">
<div className="flex flex-row flex-wrap justify-between w-full">
<Feed
title="Latest from the community"
icon={"paper-icon"}
2023-11-22 11:59:45 +00:00
className="w-[calc(33%-20px)] max-w-md"
initialData={data.data}
/>
2023-11-15 09:35:32 +00:00
</div>
2023-11-10 13:34:04 +00:00
</div>
2023-11-14 15:52:42 +00:00
</>
);
}