diff --git a/src/app/api/admin/forum/[id]/komentar/route.ts b/src/app/api/admin/forum/[id]/komentar/route.ts index dd43e628..1569bf8a 100644 --- a/src/app/api/admin/forum/[id]/komentar/route.ts +++ b/src/app/api/admin/forum/[id]/komentar/route.ts @@ -1,5 +1,6 @@ import _ from "lodash"; import { NextResponse } from "next/server"; +import prisma from "@/lib/prisma"; export async function GET( request: Request, diff --git a/src/app/api/admin/forum/komentar/route.ts b/src/app/api/admin/forum/komentar/route.ts index 7353924c..e76249b0 100644 --- a/src/app/api/admin/forum/komentar/route.ts +++ b/src/app/api/admin/forum/komentar/route.ts @@ -27,11 +27,7 @@ export async function GET(request: Request) { }, }, }, - select: { - id: true, - isActive: true, - createdAt: true, - deskripsi: true, + include: { ForumMaster_KategoriReport: true, User: { select: { @@ -46,6 +42,7 @@ export async function GET(request: Request) { }, Forum_Komentar: { select: { + id: true, komentar: true, }, }, @@ -67,11 +64,7 @@ export async function GET(request: Request) { }, }, }, - select: { - id: true, - isActive: true, - createdAt: true, - deskripsi: true, + include: { ForumMaster_KategoriReport: true, User: { select: { @@ -86,6 +79,7 @@ export async function GET(request: Request) { }, Forum_Komentar: { select: { + id: true, komentar: true, }, }, diff --git a/src/app_modules/_global/component/new/comp_set_inner_html.tsx b/src/app_modules/_global/component/new/comp_set_inner_html.tsx new file mode 100644 index 00000000..a2c24945 --- /dev/null +++ b/src/app_modules/_global/component/new/comp_set_inner_html.tsx @@ -0,0 +1,23 @@ +import React from "react"; +import { MainColor } from "../../color"; + +export function Component_SetInnerHtml({ + props, + color, +}: { + props: string + color?: string; +}) { + return ( + <> +
+ + ); +} diff --git a/src/app_modules/admin/forum/component/detail_one_komentar.tsx b/src/app_modules/admin/forum/component/detail_one_komentar.tsx index 8ff84ece..f0fc4828 100644 --- a/src/app_modules/admin/forum/component/detail_one_komentar.tsx +++ b/src/app_modules/admin/forum/component/detail_one_komentar.tsx @@ -1,7 +1,11 @@ "use client"; import { AdminColor } from "@/app_modules/_global/color/color_pallet"; -import { MODEL_FORUM_KOMENTAR, MODEL_FORUM_POSTING } from "@/app_modules/forum/model/interface"; +import { Component_SetInnerHtml } from "@/app_modules/_global/component/new/comp_set_inner_html"; +import { + MODEL_FORUM_KOMENTAR, + MODEL_FORUM_POSTING, +} from "@/app_modules/forum/model/interface"; import { Badge, Box, @@ -21,14 +25,8 @@ export default function ComponentAdminForum_ViewOneDetailKomentar({ }) { return ( <> - - - - Detail Komentar - - - - + + @@ -38,23 +36,17 @@ export default function ComponentAdminForum_ViewOneDetailKomentar({ {dataKomentar?.Author?.username} - {/* */} -
+ diff --git a/src/app_modules/admin/forum/component/detail_one_posting.tsx b/src/app_modules/admin/forum/component/detail_one_posting.tsx index a8acede1..e545f140 100644 --- a/src/app_modules/admin/forum/component/detail_one_posting.tsx +++ b/src/app_modules/admin/forum/component/detail_one_posting.tsx @@ -22,7 +22,6 @@ export default function ComponentAdminForum_ViewOneDetailPosting({ }) { return ( <> - @@ -65,7 +64,8 @@ export default function ComponentAdminForum_ViewOneDetailPosting({ - + {/* + */} ); } diff --git a/src/app_modules/admin/forum/detail/detail_posting.tsx b/src/app_modules/admin/forum/detail/detail_posting.tsx index 1e6482ab..69eaaefe 100644 --- a/src/app_modules/admin/forum/detail/detail_posting.tsx +++ b/src/app_modules/admin/forum/detail/detail_posting.tsx @@ -45,6 +45,7 @@ import { apiAdminGetKomentarForumById } from "../lib/api_fetch_admin_forum"; import CustomSkeleton from "@/app_modules/components/CustomSkeleton"; import moment from "moment"; import "moment/locale/id"; +import { Admin_ComponentModal } from "../../_admin_global/_component/comp_admin_modal"; export default function AdminForum_DetailPosting({ dataPosting, @@ -72,10 +73,11 @@ function TableKomentar({ postingId }: { postingId: string }) { const [isSearch, setSearch] = useState(""); const [isLoadingReport, setLoadingReport] = useState(false); const [idData, setIdData] = useState(""); + const [isDelete, setDelete] = useState(false); useShallowEffect(() => { handleLoadData(); - }, []); + }, [isSearch, activePage, isDelete]); async function handleLoadData() { try { @@ -87,6 +89,7 @@ function TableKomentar({ postingId }: { postingId: string }) { if (response && response.success) { setData(response.data.data); + setDelete(false); } } catch (error) { console.error("Invalid data format received:", error); @@ -97,24 +100,10 @@ function TableKomentar({ postingId }: { postingId: string }) { async function onSearch(s: string) { setSearch(s); setActivePage(1); - const loadData = await adminForum_getListKomentarById({ - postingId: postingId, - page: 1, - search: s, - }); - setData(loadData.data as any); - setNPage(loadData.nPage); } async function onPageClick(p: any) { setActivePage(p); - const loadData = await adminForum_getListKomentarById({ - postingId: postingId, - search: isSearch, - page: p, - }); - setData(loadData.data as any); - setNPage(loadData.nPage); } const rowTable = () => { @@ -131,7 +120,7 @@ function TableKomentar({ postingId }: { postingId: string }) { } return data?.map((e, i) => ( - + {e?.Author?.username} @@ -158,7 +147,7 @@ function TableKomentar({ postingId }: { postingId: string }) { -
+
= 3 ? "red" : AdminColor.white @@ -171,7 +160,7 @@ function TableKomentar({ postingId }: { postingId: string }) {
- + - + { + setDelete(val); + }} + /> @@ -269,7 +263,13 @@ function TableKomentar({ postingId }: { postingId: string }) { ); } -function ButtonDeleteKomentar({ komentarId }: { komentarId: string }) { +function ButtonDeleteKomentar({ + komentarId, + onSuccessDelete, +}: { + komentarId: string; + onSuccessDelete: (val: any) => void; +}) { const router = useRouter(); const [opened, { open, close }] = useDisclosure(false); const [loadindDel, setLoadingDel] = useState(false); @@ -280,7 +280,9 @@ function ButtonDeleteKomentar({ komentarId }: { komentarId: string }) { if (res.status === 200) { setLoadingDel(false); setLoadingDel2(false); + onSuccessDelete(true); ComponentGlobal_NotifikasiBerhasil(res.message); + close(); } else { ComponentGlobal_NotifikasiGagal(res.message); @@ -289,9 +291,15 @@ function ButtonDeleteKomentar({ komentarId }: { komentarId: string }) { } return ( <> - + - Anda yakin menghapus komentar ini ? + + Anda yakin menghapus komentar ini ? + - +