
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>
    )
}
