"use client"; import Image from "next/image"; import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; import { getMediaBlastBroadCast } from "@/service/broadcast/broadcast"; import { loading, close } from "@/config/swal"; interface BroadcastDetail { id: number; body: string; subject: string; sendTime: string; thumbnail: string; contentUrl: string; } export default function DetailContentBlast() { const params = useParams(); const { id } = params as { id: string }; const [detail, setDetail] = useState(null); const [notFound, setNotFound] = useState(false); useEffect(() => { fetchDetailData(); }, [id]); async function fetchDetailData() { loading(); try { const res = await getMediaBlastBroadCast(id); close(); const detailData = res?.data?.data; let updatedUrl = detailData.contentUrl; const domainsToUpdate = ["mediahub.polri.go.id", "netidhub.com"]; domainsToUpdate.forEach((domain) => { if ( updatedUrl.includes(domain) && !updatedUrl.includes(`${domain}/in`) ) { updatedUrl = updatedUrl.replace(domain, `${domain}/in`); } }); if (detailData && detailData.id === Number(id)) { setDetail({ id: detailData.id, body: detailData.body, subject: detailData.subject, sendTime: detailData.sendTime, thumbnail: detailData.thumbnail, contentUrl: updatedUrl, }); } else { setNotFound(true); } } catch (error) { close(); console.error("Failed to fetch broadcast detail:", error); setNotFound(true); } } if (notFound) { return
Data tidak ditemukan.
; } if (!detail) { return
Loading preview...
; } return (

Preview

Media Thumbnail
{detail.subject}

Selengkapnya silakan cek di sini:{" "} {detail.contentUrl}

{detail.sendTime}
); }