(null);
+ const [nPage, setNPage] = useState(1);
const [activePage, setActivePage] = useState(1);
+ useShallowEffect(() => {
+ onLoadData();
+ }, [komentarId, activePage]);
+
+ async function onLoadData() {
+ try {
+ const response = await apiAdminGetListReportKomentarById({
+ id: komentarId,
+ page: `${activePage}`,
+ });
+ if (response && response.success) {
+ setData(response.data.data);
+ setNPage(response.data.nPage);
+ }
+ } catch (error) {
+ console.error("Invalid data format received:", error);
+ setData([]);
+ setNPage(1);
+ }
+ }
+
async function onPageClick(p: any) {
setActivePage(p);
- const loadData = await adminForum_getListReportKomentarbyId({
- komentarId: komentarId,
- page: p,
- });
- setData(loadData.data as any);
- setNPage(loadData.nPage);
}
- const TableRows = data?.map((e, i) => (
-
- |
-
- {e?.User?.username}
-
- |
-
-
-
- {e?.ForumMaster_KategoriReport?.title
- ? e?.ForumMaster_KategoriReport?.title
- : "-"}
-
-
- |
+ const TableRows = () => {
+ if (!Array.isArray(data) || data.length === 0) {
+ return (
+
+ |
+
+ Tidak ada data
+
+ |
+
+ );
+ }
-
-
-
- {e?.ForumMaster_KategoriReport?.deskripsi ? (
- {e?.ForumMaster_KategoriReport?.deskripsi}
- ) : (
- -
- )}
-
-
- |
+ return data?.map((e, i) => (
+
+ |
+
+ {e?.User?.username}
+
+ |
+
+
+
+ {e?.ForumMaster_KategoriReport?.title
+ ? e?.ForumMaster_KategoriReport?.title
+ : "-"}
+
+
+ |
-
-
-
- {e?.deskripsi ? {e?.deskripsi} : -}
-
-
- |
-
- ));
+
+
+
+ {e?.ForumMaster_KategoriReport?.deskripsi ? (
+ {e?.ForumMaster_KategoriReport?.deskripsi}
+ ) : (
+ -
+ )}
+
+
+ |
+
+
+
+
+ {e?.deskripsi ? {e?.deskripsi} : -}
+
+
+ |
+
+ ));
+ };
+
+ if (!data) {
+ return ;
+ }
return (
<>
@@ -293,7 +362,7 @@ function HasilReportPosting({
- {TableRows}
+ {TableRows()}
(null);
+
+ useShallowEffect(() => {
+ onLoadData();
+ }, []);
+
+ async function onLoadData() {
+ try {
+ const response = await apiAdminGetPostingForumById({
+ id: id as string,
+ });
+ if (response && response.success) {
+ setData(response.data);
+ }
+ } catch (error) {
+ console.error("Invalid data format received:", error);
+ setData(null);
+ }
+ }
-export default function AdminForum_HasilReportPosting({
- dataPosting,
- listReport,
-}: {
- dataPosting: MODEL_FORUM_POSTING;
- listReport: any;
-}) {
return (
<>
-
-
-
-
-
-
+ {!data ? (
+
+ ) : (
+ <>
+
+
+
+
+
+
+ >
+ )}
-
+
>
);
@@ -164,75 +194,128 @@ function ButtonDeletePosting({
}
function HasilReportPosting({
- listReport,
+ // listReport,
postingId,
}: {
- listReport: any;
+ // listReport: any;
postingId: string;
}) {
const router = useRouter();
- const [data, setData] = useState(
- listReport.data
- );
- const [nPage, setNPage] = useState(listReport.nPage);
+ const [data, setData] = useState(null);
+ const [nPage, setNPage] = useState(1);
const [activePage, setActivePage] = useState(1);
+ const [isSearch, setSearch] = useState("");
- async function onPageClick(p: any) {
- setActivePage(p);
- const loadData = await adminForum_getListReportPostingById({
- postingId: postingId,
- page: p,
- });
- setData(loadData.data as any);
- setNPage(loadData.nPage);
+ useShallowEffect(() => {
+ const loadInitialData = async () => {
+ try {
+ const response = await apiGetAdminForumReportPosting({
+ page: `${activePage}`,
+ search: isSearch,
+ });
+
+ if (response?.success && response?.data.data) {
+ setData(response.data.data);
+ setNPage(response.data.nCount || 1);
+ } else {
+ console.error("Invalid data format recieved", response), setData([]);
+ }
+ } catch (error) {
+ console.error("Invalid data format recieved", error);
+ setData([]);
+ }
+ };
+ loadInitialData();
+ }, [activePage, isSearch]);
+ async function onSearch(searchTerm: string) {
+ setSearch(searchTerm);
+ setActivePage(1);
}
- const TableRows = data?.map((e, i) => (
-
- |
-
- {e?.User?.username}
-
- |
-
-
-
- {e?.ForumMaster_KategoriReport?.title
- ? e?.ForumMaster_KategoriReport?.title
- : "-"}
-
-
- |
+ const onPageClick = (page: number) => {
+ setActivePage(page);
+ };
-
-
-
- {e?.ForumMaster_KategoriReport?.deskripsi ? (
-
- {e?.ForumMaster_KategoriReport?.deskripsi}
-
- ) : (
- -
- )}
-
-
- |
+ // async function onPageClick(p: any) {
+ // setActivePage(p);
+ // const loadData = await adminForum_getListReportPostingById({
+ // postingId: postingId,
+ // page: p,
+ // });
+ // setData(loadData.data as any);
+ // setNPage(loadData.nPage);
+ // }
-
-
-
- {e?.deskripsi ? (
-
- {e?.deskripsi}
-
- ) : (
- -
- )}
-
-
- |
-
- ));
+ const TableRows = () => {
+ if (!Array.isArray(data) || data.length === 0) {
+ return (
+
+ |
+
+ Tidak ada data
+
+ |
+
+ );
+ }
+
+ return data?.map((e, i) => (
+
+ |
+
+ {e?.User?.username}
+
+ |
+
+
+
+ {e?.ForumMaster_KategoriReport?.title
+ ? e?.ForumMaster_KategoriReport?.title
+ : "-"}
+
+
+ |
+
+
+
+
+ {e?.ForumMaster_KategoriReport?.deskripsi ? (
+
+ {e?.ForumMaster_KategoriReport?.deskripsi}
+
+ ) : (
+ -
+ )}
+
+
+ |
+
+
+
+
+ {e?.deskripsi ? (
+
+ {e?.deskripsi}
+
+ ) : (
+ -
+ )}
+
+
+ |
+
+ ));
+ };
+
+ if (!data) return ;
return (
<>
@@ -293,7 +376,7 @@ function HasilReportPosting({
- {TableRows}
+ {TableRows()}