import { cookies } from 'next/headers' import { redirect } from 'next/navigation' import { supabase } from '@/lib/supabase' import { LogoutButton } from '@/components/logout-button' import { ArrowLeft, Building2, MapPin, Phone, User, ExternalLink, Calendar, Map as MapIcon } from 'lucide-react' import Link from 'next/link' interface Props { params: Promise<{ id: string }> } export default async function ReviewPosyanduPage({ params }: Props) { const { id } = await params const cookieStore = await cookies() const sessionCookie = cookieStore.get('user_session') if (!sessionCookie) redirect('/') const session = JSON.parse(sessionCookie.value) if (session.role !== 'admin') redirect('/dashboard') const { data: posyandu, error } = await supabase .from('detail_posyandu') .select(` *, petugas:petugas_posyandu_lokal(*) `) .eq('id', id) .single() if (error || !posyandu) { return (

Data Tidak Ditemukan

Kembali ke Daftar Posyandu
) } const mapSrc = posyandu.latitude && posyandu.longitude ? `https://maps.google.com/maps?q=${posyandu.latitude},${posyandu.longitude}&z=15&output=embed` : null return (
{/* Header */}
Kembali

{posyandu.nama_posyandu}

DETAIL OPERASIONAL

{/* Left Column - Information */}
{/* Basic Info Card */}

Informasi Utama

Alamat Posyandu

{posyandu.alamat}

Nomor Kontak

{posyandu.kontak || '-'}

{/* Petugas Card */}

Daftar Petugas Bertugas

{posyandu.petugas?.length || 0} Orang
{posyandu.petugas && posyandu.petugas.length > 0 ? ( posyandu.petugas.map((pt: any) => (
{pt.nama_petugas?.[0]}

{pt.nama_petugas}

{pt.jabatan || 'Anggota'}

Kontak

{pt.nomor_hp || '-'}

)) ) : (
Belum ada data petugas terdaftar di posyandu ini.
)}
{/* Right Column - Map & Quick Sync */}
{/* Map Card */}

Lokasi Geografis

{posyandu.link_google_maps && ( )}
{mapSrc ? ( ) : (

Koordinat GPS belum dikonfigurasi. Edit data untuk menambahkan Latitude & Longitude.

)}
Latitude

{posyandu.latitude || '-'}

Longitude

{posyandu.longitude || '-'}

{/* Stats Card */}

Status Operasional

Aktif & Terpantau

Terakhir diperbarui pada {new Date(posyandu.created_at).toLocaleDateString('id-ID', { day: 'numeric', month: 'long', year: 'numeric' })}

) }