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 = `https://maps.google.com/maps?q=${encodeURIComponent(posyandu.alamat)}&z=15&output=embed` return (
{/* Header */}
Kembali

{posyandu.nama_posyandu}

DETAIL OPERASIONAL

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

Informasi Utama

Alamat Posyandu

{posyandu.alamat}

{/* Petugas Card */}

Daftarkan 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 && ( )}
{posyandu.alamat ? ( ) : (

Alamat belum diatur. Edit data untuk menambahkan alamat.

)}

Peta di atas ditampilkan secara otomatis berdasarkan alamat Posyandu yang terdaftar.

{/* Stats Card */}

Status Operasional

Aktif & Terpantau

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

) }