import Link from "next/link"; import { verifySession } from "@/lib/dal"; import { createClient } from "@/lib/supabase/server"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; const STATUS_LABEL: Record = { open: "Ouvert", closed: "Fermé", fulfilled: "Pourvu", }; export default async function MyNeedsPage() { const user = await verifySession(); const supabase = await createClient(); const { data: needs } = await supabase .from("needs") .select("id, title, city, status, created_at, categories(name)") .eq("author_id", user.id) .order("created_at", { ascending: false }); return (

Mes besoins

{!needs || needs.length === 0 ? (

Tu n'as pas encore publié de besoin.

) : (
{needs.map((need) => { const category = Array.isArray(need.categories) ? need.categories[0] : need.categories; return (

{need.title}

{need.city} {category?.name ? ` · ${category.name}` : ""}

{STATUS_LABEL[need.status] ?? need.status}
); })}
)}
); }