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
Terakhir diperbarui pada {new Date(posyandu.created_at).toLocaleDateString('id-ID', { day: 'numeric', month: 'long', year: 'numeric' })}
)
}