import { getDatabase } from "@/lib/database"; import { Recommendations } from "@/components/users/Recommendations"; import { notFound } from "next/navigation"; interface PageProps { params: Promise<{ id: string; }>; } export default async function UserProfilePage({ params }: PageProps) { const { id } = await params; const db = await getDatabase(); const user = await db.getUserById(id); if (!user) { notFound(); } const client = await db.getClientByUserId(user.id); const fitnessProfile = await db.getFitnessProfileByUserId(user.id); return (

{user.firstName} {user.lastName}

{user.role}
{/* Basic Info */}

Contact Information

Email: {user.email}

Phone: {user.phone || "N/A"}

Joined:{" "} {user.createdAt.toLocaleDateString()}

{/* Client Info */} {client && (

Membership Details

Type:{" "} {client.membershipType}

Status:{" "} {client.membershipStatus}

Member Since:{" "} {client.joinDate.toLocaleDateString()}

Last Visit:{" "} {client.lastVisit?.toLocaleDateString() || "Never"}

)}
{/* Fitness Profile */}

Fitness Profile

{fitnessProfile ? (

Physical Stats

Height: {fitnessProfile.height} cm

Weight: {fitnessProfile.weight} kg

Age: {fitnessProfile.age}

Gender: {fitnessProfile.gender}

Health & Habits

Activity Level:{" "} {fitnessProfile.activityLevel?.replace("_", " ") || "N/A"}

Medical

Conditions: {fitnessProfile.medicalConditions || "None"}

Allergies: {fitnessProfile.allergies || "None"}

Injuries: {fitnessProfile.injuries || "None"}

Goals

{fitnessProfile.fitnessGoals && fitnessProfile.fitnessGoals.length > 0 ? ( fitnessProfile.fitnessGoals.map((goal, i) => ( {goal.replace("_", " ")} )) ) : ( No goals set )}
) : (

No fitness profile created yet.

)}
{/* Recommendations Component */}
); }