From c0ccd7870d319dd9a4ce4da1ccbe4b7995cc9146 Mon Sep 17 00:00:00 2001 From: Anang Yusman Date: Thu, 2 Jan 2025 13:18:58 +0800 Subject: [PATCH] feat:detail file media --- components/form/content/image-detail-form.tsx | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/components/form/content/image-detail-form.tsx b/components/form/content/image-detail-form.tsx index ae78ece7..3761694b 100644 --- a/components/form/content/image-detail-form.tsx +++ b/components/form/content/image-detail-form.tsx @@ -31,6 +31,8 @@ import { import { detailMedia } from "@/service/curated-content/curated-content"; import { Badge } from "@/components/ui/badge"; import { MailIcon } from "lucide-react"; +import { Swiper, SwiperSlide } from "swiper/react"; +import { FreeMode, Navigation, Pagination, Thumbs } from "swiper/modules"; const imageSchema = z.object({ title: z.string().min(1, { message: "Judul diperlukan" }), @@ -82,6 +84,8 @@ export default function FormImageDetail() { const [detail, setDetail] = useState(); const [refresh, setRefresh] = useState(false); const [selectedPublishers, setSelectedPublishers] = useState([]); + const [detailThumb, setDetailThumb] = useState([]); + const [thumbsSwiper, setThumbsSwiper] = useState(null); const [selectedTarget, setSelectedTarget] = useState(""); const [unitSelection, setUnitSelection] = useState({ @@ -192,6 +196,12 @@ export default function FormImageDetail() { } setSelectedTarget(details.categoryId); // Untuk dropdown + + const filesData = details.files || []; + const fileUrls = filesData.map((file: { thumbnailFileUrl: string }) => + file.thumbnailFileUrl ? file.thumbnailFileUrl : "default-image.jpg" + ); + setDetailThumb(fileUrls); } } initState(); @@ -319,6 +329,48 @@ export default function FormImageDetail() {

)} + + +
+ + {detailThumb?.map((data: any) => ( + + {` + + ))} + +
+ + {detailThumb?.map((data: any) => ( + + {` + + ))} + +
+