import { cookies } from "next/headers"; import { getMe, search, User } from "@/lib/api"; import { UserListCard } from "@/components/user-list-card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { ThoughtList } from "@/components/thought-list"; interface SearchPageProps { searchParams: { q?: string }; } export default async function SearchPage({ searchParams }: SearchPageProps) { const query = searchParams.q || ""; const token = (await cookies()).get("auth_token")?.value ?? null; if (!query) { return (

Search Thoughts

Find users and thoughts across the platform.

); } const [results, me] = await Promise.all([ search(query, token).catch(() => null), token ? getMe(token).catch(() => null) : null, ]); const authorDetails = new Map(); if (results) { results.users.users.forEach((user: User) => { authorDetails.set(user.username, { avatarUrl: user.avatarUrl }); }); } return (

Search Results

Showing results for: "{query}"

{results ? ( Thoughts ({results.thoughts.thoughts.length}) Users ({results.users.users.length}) ) : (

No results found or an error occurred.

)}
); }