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) => (
+
+
+
+ ))}
+
+
+