fediversion/frontend/app/profile/[username]/page.tsx
fullsizemalt 58f077268f
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
feat(social): add profile poster, social handles, remove X
2025-12-29 21:05:34 -08:00

41 lines
1,019 B
TypeScript

import { getApiUrl } from "@/lib/api-config"
import { ProfilePoster } from "@/components/profile/profile-poster"
import { notFound } from "next/navigation"
interface ProfilePageProps {
params: Promise<{
username: string
}>
}
async function getProfile(username: string) {
try {
const res = await fetch(`${getApiUrl()}/users/profile/${username}`, {
next: { revalidate: 60 } // Cache for 1 minute
})
if (res.status === 404) return null
if (!res.ok) throw new Error("Failed to fetch profile")
return res.json()
} catch (error) {
console.error("Profile fetch error:", error)
return null
}
}
export default async function ProfilePage({ params }: ProfilePageProps) {
const { username } = await params
const profile = await getProfile(username)
if (!profile) {
notFound()
}
return (
<div className="container py-8">
<ProfilePoster profile={profile} />
</div>
)
}