|
-
- {e?.User?.Profile?.name}
+
+ {e?.User?.Profile?.name}
|
@@ -169,51 +190,72 @@ function HasilReportPosting({
return (
<>
-
-
-
- REPORT KOMENTAR
+
+
+
+ Report Komentar
-
-
-
-
-
- |
- Author
- |
-
- Title
- |
-
- Deskripsi
- |
-
- Deskripsi Lainnya
- |
-
-
- {TableRows}
-
-
+ {/* }
+ radius={"xl"}
+ placeholder="Cari postingan"
+ onChange={(val) => {
+ onSearch(val.currentTarget.value);
+ }}
+ /> */}
+
-
- {_.isEmpty(TableRows) ? (
-
- Tidak Ada Data
+ {_.isEmpty(data) ? (
+
+ ) : (
+
+
+
+
+
+ |
+ Username
+ |
+
+ Title
+ |
+
+ Deskripsi
+ |
+
+ Deskripsi Lainnya
+ |
+
+
+
+ {TableRows}
+
+
+
+ {
+ onPageClick(val);
+ }}
+ />
- ) : (
- ""
- )}
-
-
+
+ )}
+
>
);
}
diff --git a/src/app_modules/admin/forum/hasil_report/posting/index.tsx b/src/app_modules/admin/forum/sub_detail/hasil_report_posting.tsx
similarity index 54%
rename from src/app_modules/admin/forum/hasil_report/posting/index.tsx
rename to src/app_modules/admin/forum/sub_detail/hasil_report_posting.tsx
index 756ba301..bea6c1f9 100644
--- a/src/app_modules/admin/forum/hasil_report/posting/index.tsx
+++ b/src/app_modules/admin/forum/sub_detail/hasil_report_posting.tsx
@@ -1,21 +1,19 @@
"use client";
-import { RouterAdminForum } from "@/app/lib/router_admin/router_admin_forum";
import ComponentAdminGlobal_HeaderTamplate from "@/app_modules/admin/component_global/header_tamplate";
-import ComponentAdminDonasi_TombolKembali from "@/app_modules/admin/donasi/component/tombol_kembali";
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal";
import {
- MODEL_FORUM_MASTER_REPORT,
+ MODEL_FORUM_POSTING,
MODEL_FORUM_REPORT,
} from "@/app_modules/forum/model/interface";
import {
- Badge,
- Box,
Button,
Center,
Group,
Modal,
+ Pagination,
+ Paper,
ScrollArea,
Spoiler,
Stack,
@@ -23,29 +21,37 @@ import {
Text,
Title,
} from "@mantine/core";
-import { IconMessageCircle, IconFlag3, IconTrash } from "@tabler/icons-react";
+import { useDisclosure } from "@mantine/hooks";
+import { IconTrash } from "@tabler/icons-react";
import _ from "lodash";
import { useRouter } from "next/navigation";
import { useState } from "react";
-import { adminForum_funDeletePostingById } from "../../fun/delete/fun_delete_posting_by_id";
-import { useDisclosure } from "@mantine/hooks";
+import ComponentAdminGlobal_BackButton from "../../component_global/back_button";
+import ComponentAdminGlobal_IsEmptyData from "../../component_global/is_empty_data";
+import { adminForum_funDeletePostingById } from "../fun/delete/fun_delete_posting_by_id";
+import { adminForum_getListReportPostingById } from "../fun/get/get_list_report_posting_by_id";
+import ComponentAdminForum_ViewOneDetailPosting from "../component/detail_one_posting";
export default function AdminForum_HasilReportPosting({
- postingId,
+ dataPosting,
listReport,
}: {
- postingId: string;
- listReport: any[];
+ dataPosting: MODEL_FORUM_POSTING;
+ listReport: any;
}) {
return (
<>
-
-
+
+
-
+
+
{/* {JSON.stringify(listReport, null, 2)} */}
>
@@ -125,21 +131,35 @@ function ButtonDeletePosting({ postingId }: { postingId: string }) {
function HasilReportPosting({
listReport,
+ postingId,
}: {
- listReport: MODEL_FORUM_REPORT[];
+ listReport: any;
+ postingId: string;
}) {
const router = useRouter();
- const [data, setData] = useState(listReport);
+ const [data, setData] = useState(listReport.data);
+ const [nPage, setNPage] = useState(listReport.nPage);
+ const [activePage, setActivePage] = useState(1);
+
+ async function onPageClick(p: any) {
+ setActivePage(p);
+ const loadData = await adminForum_getListReportPostingById({
+ postingId: postingId,
+ page: p,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
const TableRows = data?.map((e, i) => (
|
-
- {e?.User?.Profile?.name}
+
+ {e?.User?.username}
|
-
+
{e?.ForumMaster_KategoriReport?.title
? e?.ForumMaster_KategoriReport?.title
@@ -161,7 +181,7 @@ function HasilReportPosting({
|
-
+
{e?.deskripsi ? {e?.deskripsi} : -}
@@ -172,51 +192,72 @@ function HasilReportPosting({
return (
<>
-
-
-
- REPORT POSTING
+
+
+
+ Report Postingan
-
-
-
-
-
- |
- Author
- |
-
- Title
- |
-
- Deskripsi
- |
-
- Deskripsi Lainnya
- |
-
-
- {TableRows}
-
-
+ {/* }
+ radius={"xl"}
+ placeholder="Cari postingan"
+ onChange={(val) => {
+ onSearch(val.currentTarget.value);
+ }}
+ /> */}
+
-
- {_.isEmpty(TableRows) ? (
-
- Tidak Ada Data
+ {_.isEmpty(data) ? (
+
+ ) : (
+
+
+
+
+
+ |
+ Username
+ |
+
+ Title
+ |
+
+ Deskripsi
+ |
+
+ Deskripsi Lainnya
+ |
+
+
+
+ {TableRows}
+
+
+
+ {
+ onPageClick(val);
+ }}
+ />
- ) : (
- ""
- )}
-
-
+
+ )}
+
>
);
}
diff --git a/src/app_modules/admin/forum/sub_menu/table_posting.tsx b/src/app_modules/admin/forum/sub_menu/table_posting.tsx
new file mode 100644
index 00000000..ff6d8633
--- /dev/null
+++ b/src/app_modules/admin/forum/sub_menu/table_posting.tsx
@@ -0,0 +1,357 @@
+"use client";
+
+import { RouterAdminForum } from "@/app/lib/router_admin/router_admin_forum";
+import { RouterForum } from "@/app/lib/router_hipmi/router_forum";
+import ComponentAdminGlobal_HeaderTamplate from "@/app_modules/admin/component_global/header_tamplate";
+import { MODEL_FORUM_POSTING } from "@/app_modules/forum/model/interface";
+import {
+ Badge,
+ Box,
+ Button,
+ Center,
+ Group,
+ Modal,
+ Pagination,
+ Paper,
+ ScrollArea,
+ Spoiler,
+ Stack,
+ Table,
+ Text,
+ TextInput,
+ Title,
+} from "@mantine/core";
+import { IconMessageCircle, IconSearch } from "@tabler/icons-react";
+import { IconFlag3 } from "@tabler/icons-react";
+import { IconEyeCheck, IconTrash } from "@tabler/icons-react";
+import _, { isEmpty } from "lodash";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+import { adminForum_funDeletePostingById } from "../fun/delete/fun_delete_posting_by_id";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal";
+import { useDisclosure } from "@mantine/hooks";
+import { adminForum_getListPosting } from "../fun/get/get_list_publish";
+import adminJob_getListPublish from "@/app_modules/admin/job/fun/get/get_list_publish";
+import ComponentAdminForum_ButtonDeletePosting from "../component/button_delete";
+import ComponentAdminGlobal_IsEmptyData from "../../component_global/is_empty_data";
+
+export default function AdminForum_TablePosting({
+ listPublish,
+}: {
+ listPublish: any;
+}) {
+ return (
+ <>
+
+
+
+ {/* {JSON.stringify(listPublish, null, 2)} */}
+
+ >
+ );
+}
+
+function TablePublish({ listPublish }: { listPublish: any }) {
+ const router = useRouter();
+ const [data, setData] = useState(listPublish.data);
+ const [nPage, setNPage] = useState(listPublish.nPage);
+ const [activePage, setActivePage] = useState(1);
+ const [isSearch, setSearch] = useState("");
+
+ async function onSearch(s: string) {
+ setSearch(s);
+ setActivePage(1);
+ const loadData = await adminForum_getListPosting({
+ page: 1,
+ search: s,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ async function onPageClick(p: any) {
+ setActivePage(p);
+ const loadData = await adminForum_getListPosting({
+ search: isSearch,
+ page: p,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ async function onLoadData() {
+ const loadData = await adminForum_getListPosting({
+ page: 1,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ const TableRows = data?.map((e, i) => (
+
+ |
+
+ {e?.Author?.username}
+
+ |
+
+
+
+ {e?.ForumMaster_StatusPosting?.status}
+
+
+ |
+
+
+
+
+
+
+ |
+
+
+
+ {new Intl.DateTimeFormat(["id-ID"], { dateStyle: "medium" }).format(
+ e.createdAt
+ )}
+
+
+ |
+
+
+
+ {e?.Forum_Komentar.length}
+
+
+ |
+
+
+ = 3 ? "red" : "black"}
+ fw={"bold"}
+ fz={"lg"}
+ >
+ {e?.Forum_ReportPosting.length}
+
+
+ |
+
+
+
+ {
+ if (val) {
+ onLoadData();
+ }
+ }}
+ />
+
+ |
+
+ ));
+
+ return (
+ <>
+
+
+
+ Posting
+
+ }
+ radius={"xl"}
+ placeholder="Cari postingan"
+ onChange={(val) => {
+ onSearch(val.currentTarget.value);
+ }}
+ />
+
+ {isEmpty(data) ? (
+
+ ) : (
+
+
+
+
+
+ |
+ Username
+ |
+
+ Status
+ |
+
+ Postingan
+ |
+
+ Tanggal Publish
+ |
+
+ Komentar Aktif
+ |
+
+ Total Report Posting
+ |
+
+ Aksi
+ |
+
+
+ {TableRows}
+
+
+
+ {
+ onPageClick(val);
+ }}
+ />
+
+
+ )}
+
+ >
+ );
+}
+
+function ButtonAction({ postingId }: { postingId: string }) {
+ const router = useRouter();
+ const [loadingKomentar, setLoadingKomentar] = useState(false);
+ const [loadingReport, setLoadingReport] = useState(false);
+
+ return (
+ <>
+ }
+ onClick={() => {
+ setLoadingKomentar(true);
+ router.push(RouterAdminForum.detail_posting + postingId);
+ }}
+ >
+ Detail & Komentar
+
+ }
+ onClick={() => {
+ setLoadingReport(true);
+ router.push(RouterAdminForum.report_posting + postingId);
+ }}
+ >
+ Hasil Report
+
+ >
+ );
+}
+
+// function ButtonDeletePosting({ postingId }: { postingId: string }) {
+// const [opened, { open, close }] = useDisclosure(false);
+// const [loadingDel, setLoadingDel] = useState(false);
+// const [loadingDel2, setLoadingDel2] = useState(false);
+
+// async function onDelete() {
+// await adminForum_funDeletePostingById(postingId).then((res) => {
+// if (res.status === 200) {
+// setLoadingDel2(false);
+// setLoadingDel(false);
+// close();
+// ComponentGlobal_NotifikasiBerhasil(res.message);
+// } else {
+// ComponentGlobal_NotifikasiGagal(res.message);
+// }
+// });
+// }
+// return (
+// <>
+//
+//
+// Anda yakin menghapus posting ini
+//
+//
+//
+//
+//
+//
+// }
+// onClick={() => {
+// // onDelete();
+// open();
+// setLoadingDel(true);
+// }}
+// >
+// Hapus Posting
+//
+// >
+// );
+// }
diff --git a/src/app_modules/admin/forum/sub_menu/table_report_posting.tsx b/src/app_modules/admin/forum/sub_menu/table_report_posting.tsx
new file mode 100644
index 00000000..481dc1d7
--- /dev/null
+++ b/src/app_modules/admin/forum/sub_menu/table_report_posting.tsx
@@ -0,0 +1,279 @@
+"use client";
+
+import { RouterAdminForum } from "@/app/lib/router_admin/router_admin_forum";
+import { RouterForum } from "@/app/lib/router_hipmi/router_forum";
+import ComponentAdminGlobal_HeaderTamplate from "@/app_modules/admin/component_global/header_tamplate";
+import {
+ MODEL_FORUM_POSTING,
+ MODEL_FORUM_REPORT,
+} from "@/app_modules/forum/model/interface";
+import {
+ Badge,
+ Box,
+ Button,
+ Center,
+ Group,
+ Modal,
+ Pagination,
+ Paper,
+ ScrollArea,
+ Spoiler,
+ Stack,
+ Table,
+ Text,
+ TextInput,
+ Title,
+} from "@mantine/core";
+import { IconMessageCircle, IconSearch } from "@tabler/icons-react";
+import { IconFlag3 } from "@tabler/icons-react";
+import { IconEyeCheck, IconTrash } from "@tabler/icons-react";
+import _, { isEmpty } from "lodash";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
+import { adminForum_funDeletePostingById } from "../fun/delete/fun_delete_posting_by_id";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal";
+import { useDisclosure } from "@mantine/hooks";
+import { adminForum_getListPosting } from "../fun/get/get_list_publish";
+import adminJob_getListPublish from "@/app_modules/admin/job/fun/get/get_list_publish";
+import ComponentAdminForum_ButtonDeletePosting from "../component/button_delete";
+import adminForum_funGetAllReportPosting from "../fun/get/get_all_report_posting";
+import ComponentAdminGlobal_IsEmptyData from "../../component_global/is_empty_data";
+
+export default function AdminForum_TableReportPosting({
+ listData,
+}: {
+ listData: any;
+}) {
+ return (
+ <>
+
+
+
+ {/* {JSON.stringify(listPublish, null, 2)} */}
+
+ >
+ );
+}
+
+function TableView({ listData }: { listData: any }) {
+ const router = useRouter();
+ const [data, setData] = useState(listData.data);
+ const [nPage, setNPage] = useState(listData.nPage);
+ const [activePage, setActivePage] = useState(1);
+ const [isSearch, setSearch] = useState("");
+
+ async function onSearch(s: string) {
+ setSearch(s);
+ setActivePage(1);
+ const loadData = await adminForum_funGetAllReportPosting({
+ page: 1,
+ search: s,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ async function onPageClick(p: any) {
+ setActivePage(p);
+ const loadData = await adminForum_funGetAllReportPosting({
+ search: isSearch,
+ page: p,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ async function onLoadData() {
+ const loadData = await adminForum_funGetAllReportPosting({
+ page: 1,
+ });
+ setData(loadData.data as any);
+ setNPage(loadData.nPage);
+ }
+
+ const TableRows = data?.map((e, i) => (
+
+ |
+
+ {e?.User.username}
+
+ |
+
+
+ {e?.forumMaster_KategoriReportId === null ? (
+ Lainnya
+ ) : (
+ {e?.ForumMaster_KategoriReport.title}
+ )}
+
+ |
+
+
+
+ {e?.Forum_Posting.Author.username}
+
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+ {e?.Forum_Posting.ForumMaster_StatusPosting?.status}
+
+
+ |
+
+
+
+
+ {new Intl.DateTimeFormat(["id-ID"], { dateStyle: "medium" }).format(
+ e.createdAt
+ )}
+
+
+ |
+
+
+
+ {/* */}
+
+ {
+ if (val) {
+ onLoadData();
+ }
+ }}
+ />
+
+ |
+
+ ));
+
+ return (
+ <>
+
+
+
+ Report Posting
+
+ }
+ radius={"xl"}
+ placeholder="Cari postingan"
+ onChange={(val) => {
+ // console.log(val.currentTarget.value)
+ onSearch(val.currentTarget.value);
+ }}
+ />
+
+
+ {isEmpty(data) ? (
+
+ ) : (
+
+
+
+
+
+ |
+ Pelapor
+ |
+
+ Jenis Laporan
+ |
+
+ Author
+ |
+
+ Postingan
+ |
+
+ Status Posting
+ |
+
+ Tanggal Report
+ |
+
+
+ Aksi
+ |
+
+
+ {TableRows}
+
+
+
+ {
+ onPageClick(val);
+ }}
+ />
+
+
+ )}
+
+ >
+ );
+}
+
+function ButtonLihatReportLainnya({ postingId }: { postingId: string }) {
+ const router = useRouter();
+ const [loading, setLoading] = useState(false);
+ return (
+ <>
+ }
+ onClick={() => {
+ setLoading(true);
+ router.push(RouterAdminForum.report_posting + postingId);
+ }}
+ >
+ Lihat Report Lain
+
+ >
+ );
+}
diff --git a/src/app_modules/admin/job/detail/detail_poster.tsx b/src/app_modules/admin/job/detail/detail_poster.tsx
index a3757528..49b9dfa9 100644
--- a/src/app_modules/admin/job/detail/detail_poster.tsx
+++ b/src/app_modules/admin/job/detail/detail_poster.tsx
@@ -2,7 +2,7 @@
import { RouterJob } from "@/app/lib/router_hipmi/router_job";
import { Center, Image, Stack } from "@mantine/core";
-import ComponentGlobalAdmin_BackButton from "../../component_global/back_button";
+import ComponentAdminGlobal_BackButton from "../../component_global/back_button";
export default function AdminJob_DetailPoster({
imageId,
@@ -12,7 +12,7 @@ export default function AdminJob_DetailPoster({
return (
<>
-
+
{
e?.kategoriApp === "JOB" &&
- findRouterJob({
+ adminNotifikasi_findRouterJob({
data: e,
router: router,
- onChangeNavbar2: (val: any) => {
+ onChangeNavbar: (val: any) => {
onChangeNavbar(val);
},
- onToggleNavbar2: onToggleNavbar,
+ onToggleNavbar: onToggleNavbar,
+ });
+
+ e?.kategoriApp === "FORUM" &&
+ adminNotifikasi_findRouterForum({
+ data: e,
+ router: router,
+ onChangeNavbar(val) {
+ onChangeNavbar(val);
+ },
+ onToggleNavbar(val) {
+ onToggleNavbar(val);
+ },
});
const updateIsRead = await adminNotifikasi_funUpdateIsReadById({
@@ -480,35 +494,3 @@ function DrawerNotifikasi({
>
);
}
-
-async function findRouterJob({
- data,
- router,
- onChangeNavbar2,
- onToggleNavbar2,
-}: {
- data: MODEL_NOTIFIKASI;
- router: AppRouterInstance;
- onChangeNavbar2: (val: any) => void;
- onToggleNavbar2: (val: any) => void;
-}) {
- const routeName = "/dev/admin/job/child/";
-
- if (data.status === "Review") {
- router.push(routeName + _.lowerCase(data.status));
- onChangeNavbar2({
- id: 6,
- childId: 63,
- });
- }
-
- if (data.status === "Draft") {
- router.push(routeName + "review");
- onChangeNavbar2({
- id: 6,
- childId: 63,
- });
- }
-
- onToggleNavbar2(true);
-}
diff --git a/src/app_modules/admin/list_page.tsx b/src/app_modules/admin/list_page.tsx
index 583b3244..ae9806ee 100644
--- a/src/app_modules/admin/list_page.tsx
+++ b/src/app_modules/admin/list_page.tsx
@@ -229,13 +229,13 @@ export const listAdminPage = [
{
id: 72,
name: "Table Posting",
- path: RouterAdminForum.publish,
+ path: RouterAdminForum.table_posting,
+ },
+ {
+ id: 73,
+ name: "Report Posting",
+ path: RouterAdminForum.table_report_posting,
},
- // {
- // id: 73,
- // name: "Laporan Posting",
- // path: RouterAdminForum.report_posting,
- // },
// {
// id: 74,
// name: "Laporan Komentar",
diff --git a/src/app_modules/admin/notifikasi/route_setting/forum.ts b/src/app_modules/admin/notifikasi/route_setting/forum.ts
new file mode 100644
index 00000000..279c5dc4
--- /dev/null
+++ b/src/app_modules/admin/notifikasi/route_setting/forum.ts
@@ -0,0 +1,22 @@
+import { RouterAdminForum } from "@/app/lib/router_admin/router_admin_forum";
+import { MODEL_NOTIFIKASI } from "@/app_modules/notifikasi/model/interface";
+import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
+
+export default async function adminNotifikasi_findRouterForum({
+ data,
+ router,
+ onChangeNavbar,
+ onToggleNavbar,
+}: {
+ data: MODEL_NOTIFIKASI;
+ router: AppRouterInstance;
+ onChangeNavbar: (val: any) => void;
+ onToggleNavbar: (val: any) => void;
+}) {
+ const routeName = RouterAdminForum.table_report_posting;
+ router.push(routeName);
+ onChangeNavbar({
+ id: 7,
+ childId: 73,
+ });
+}
diff --git a/src/app_modules/admin/notifikasi/route_setting/job.ts b/src/app_modules/admin/notifikasi/route_setting/job.ts
new file mode 100644
index 00000000..badc572e
--- /dev/null
+++ b/src/app_modules/admin/notifikasi/route_setting/job.ts
@@ -0,0 +1,35 @@
+import { MODEL_NOTIFIKASI } from "@/app_modules/notifikasi/model/interface";
+import _ from "lodash";
+import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
+
+export default async function adminNotifikasi_findRouterJob({
+ data,
+ router,
+ onChangeNavbar,
+ onToggleNavbar,
+}: {
+ data: MODEL_NOTIFIKASI;
+ router: AppRouterInstance;
+ onChangeNavbar: (val: any) => void;
+ onToggleNavbar: (val: any) => void;
+}) {
+ const routeName = "/dev/admin/job/child/";
+
+ if (data.status === "Review") {
+ router.push(routeName + _.lowerCase(data.status));
+ onChangeNavbar({
+ id: 6,
+ childId: 63,
+ });
+ }
+
+ if (data.status === "Draft") {
+ router.push(routeName + "review");
+ onChangeNavbar({
+ id: 6,
+ childId: 63,
+ });
+ }
+
+ onToggleNavbar(true);
+}
diff --git a/src/app_modules/auth/index.ts b/src/app_modules/auth/index.ts
index 97d3dd97..599f9aaa 100644
--- a/src/app_modules/auth/index.ts
+++ b/src/app_modules/auth/index.ts
@@ -1,7 +1,6 @@
import SplashScreen from "./splash/view";
import Login from "./login/view";
import Validasi from "./validasi/view";
-import LayoutValidasi from "./validasi/layout";
import Register from "./register/view";
import User_Logout from "./logout/view";
@@ -11,5 +10,4 @@ export {
Validasi,
Register,
User_Logout as Logout,
- LayoutValidasi,
};
diff --git a/src/app_modules/auth/login/view.tsx b/src/app_modules/auth/login/view.tsx
index 6f08325d..8b8e87c0 100644
--- a/src/app_modules/auth/login/view.tsx
+++ b/src/app_modules/auth/login/view.tsx
@@ -40,7 +40,6 @@ export default function Login() {
async function onLogin() {
const nomorHp = phone.substring(1);
- console.log(nomorHp);
if (nomorHp.length <= 4) return setError(true);
@@ -117,6 +116,7 @@ export default function Login() {
+ */}
>
);
diff --git a/src/app_modules/auth/validasi/layout.tsx b/src/app_modules/auth/validasi/layout.tsx
deleted file mode 100644
index 9e611223..00000000
--- a/src/app_modules/auth/validasi/layout.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-"use client";
-
-import { ActionIcon, Box, Stack } from "@mantine/core";
-import { IconChevronLeft } from "@tabler/icons-react";
-import { useRouter } from "next/navigation";
-import React from "react";
-
-export default function LayoutValidasi({
- children,
-}: {
- children: React.ReactNode;
-}) {
- const router = useRouter();
-
- return (
-
-
- router.back()}>
-
-
-
- {children}
-
- );
-}
-
diff --git a/src/app_modules/auth/validasi/view.tsx b/src/app_modules/auth/validasi/view.tsx
index 083882f2..bb9c4f00 100644
--- a/src/app_modules/auth/validasi/view.tsx
+++ b/src/app_modules/auth/validasi/view.tsx
@@ -1,41 +1,32 @@
"use client";
-import { useAtom } from "jotai";
+import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin";
+import { RouterAuth } from "@/app/lib/router_hipmi/router_auth";
+import { RouterHome } from "@/app/lib/router_hipmi/router_home";
+import {
+ AccentColor,
+ MainColor,
+} from "@/app_modules/component_global/color/color_pallet";
+import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
+import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/component_global/notif_global/notifikasi_peringatan";
import {
ActionIcon,
+ Box,
Button,
Center,
- Flex,
PinInput,
Stack,
Text,
- Title,
+ Title
} from "@mantine/core";
-import { gs_nomor, gs_otp } from "../state/state";
-import { Warna } from "@/app/lib/warna";
-import { useState } from "react";
-import { myConsole } from "@/app/fun/my_console";
-import {
- IconChevronLeft,
- IconCircleLetterH,
- IconCloudLockOpen,
-} from "@tabler/icons-react";
-import toast from "react-simple-toasts";
-import { ApiHipmi } from "@/app/lib/api";
-import { useRouter } from "next/navigation";
-import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile";
import { useFocusTrap } from "@mantine/hooks";
-import { NotifBerhasil } from "@/app_modules/donasi/component/notifikasi/notif_berhasil";
-import { NotifGagal } from "@/app_modules/donasi/component/notifikasi/notif_gagal";
-import { NotifPeringatan } from "@/app_modules/donasi/component/notifikasi/notif_peringatan";
-import Countdown from "react-countdown";
-import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/component_global/notif_global/notifikasi_peringatan";
-import { auth_funValidasi } from "../fun/fun_validasi";
-import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/component_global/notif_global/notifikasi_berhasil";
-import { RouterAuth } from "@/app/lib/router_hipmi/router_auth";
-import { RouterHome } from "@/app/lib/router_hipmi/router_home";
+import {
+ IconChevronLeft
+} from "@tabler/icons-react";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
import { auth_funEditAktivasiKodeOtpById } from "../fun/fun_edit_aktivasi_kode_otp_by_id";
-import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin";
+import { auth_funValidasi } from "../fun/fun_validasi";
export default function Validasi({ dataOtp }: { dataOtp: any }) {
const router = useRouter();
@@ -45,37 +36,6 @@ export default function Validasi({ dataOtp }: { dataOtp: any }) {
const focusTrapRef = useFocusTrap();
const [loading, setLoading] = useState(false);
- const onValid = async () => {
- // MyConsole(inputCode)
- const body = {
- nomor: nomor,
- otp: code,
- };
-
- if (!inputCode) return toast("Lengkapi Kode");
- if (body.otp != inputCode) return toast("Kode Salah");
-
- // await fetch(ApiHipmi.validasi, {
- // method: "POST",
- // headers: {
- // "Content-Type": "application/json",
- // },
- // body: JSON.stringify(body),
- // })
- // .then((res) => res.json())
- // .then((val) => {
- // myConsole(val);
- // if (val.status == 200) {
- // setTimeout(() => router.push("/dev/home"), 2000);
- // funGetUserProfile(val.data.id);
- // NotifBerhasil("Berhasil Login");
- // } else {
- // router.push("/dev/auth/register");
- // NotifPeringatan("Silahkan Registrasi");
- // }
- // });
- };
-
async function onVerifikasi() {
if (!inputCode)
return ComponentGlobal_NotifikasiPeringatan("Lengkapi Kode");
@@ -106,23 +66,32 @@ export default function Validasi({ dataOtp }: { dataOtp: any }) {
return (
<>
-
-
-
-
-
+
+
+ router.back()}>
+
+
+
-
-
- Verifikasi Kode OTP
-
- Silahkan masukan 4 digit kode otp yang dikirim ke{" "}
-
- +{nomor}
-
-
-
+
+
+ Verifikasi Kode OTP
+
+
+
+ Masukan 4 digit kode otp
+
+
+ Yang dikirim ke +{nomor}
+
-
- {
- onVerifikasi();
- }}
- >
- VERIFIKASI
-
-
+ {
+ onVerifikasi();
+ }}
+ >
+ VERIFIKASI
+
-
+
>
);
}
diff --git a/src/app_modules/forum/component/main_component/card_more_button.tsx b/src/app_modules/forum/component/main_component/card_more_button.tsx
index d5aee877..bad37fe0 100644
--- a/src/app_modules/forum/component/main_component/card_more_button.tsx
+++ b/src/app_modules/forum/component/main_component/card_more_button.tsx
@@ -27,13 +27,11 @@ import { useRouter } from "next/navigation";
import { useState } from "react";
import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/component_global/notif_global/notifikasi_gagal";
+import mqtt_client from "@/util/mqtt_client";
+import _ from "lodash";
import { forum_funDeletePostingById } from "../../fun/delete/fun_delete_posting_by_id";
import { forum_funEditStatusPostingById } from "../../fun/edit/fun_edit_status_posting_by_id";
-import forum_v2_getAllPosting from "../../fun/get/v2_get_all_posting";
-import { forum_new_getAllPosting } from "../../fun/get/new_get_all_posting";
-import _ from "lodash";
import { MODEL_FORUM_POSTING } from "../../model/interface";
-import mqtt_client from "@/util/mqtt_client";
export default function ComponentForum_V2_CardMoreButton({
authorId,
diff --git a/src/app_modules/forum/fun/create/fun_create_report_posting.ts b/src/app_modules/forum/fun/create/fun_create_report_posting.ts
index bb058aee..7f93de05 100644
--- a/src/app_modules/forum/fun/create/fun_create_report_posting.ts
+++ b/src/app_modules/forum/fun/create/fun_create_report_posting.ts
@@ -4,22 +4,20 @@ import prisma from "@/app/lib/prisma";
import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token";
import { revalidatePath } from "next/cache";
-export async function forum_funCreateReportPosting(
- postingId: string,
- value: string,
-) {
+export async function forum_funCreateReportPosting({
+ postingId,
+ kategoriId,
+}: {
+ postingId: string;
+ kategoriId: number;
+}) {
const authorId = await user_getOneUserId();
- const cekId = await prisma.forumMaster_KategoriReport.findFirst({
- where: {
- title: value,
- },
- });
const createReport = await prisma.forum_ReportPosting.create({
data: {
userId: authorId,
forum_PostingId: postingId,
- forumMaster_KategoriReportId: cekId?.id,
+ forumMaster_KategoriReportId: kategoriId,
},
});
diff --git a/src/app_modules/forum/fun/get/get_one_kategori_by_id.ts b/src/app_modules/forum/fun/get/get_one_kategori_by_id.ts
new file mode 100644
index 00000000..2acabf36
--- /dev/null
+++ b/src/app_modules/forum/fun/get/get_one_kategori_by_id.ts
@@ -0,0 +1,17 @@
+"use server";
+
+import prisma from "@/app/lib/prisma";
+
+export default async function forum_getOneKategoriById({
+ kategoriId,
+}: {
+ kategoriId: number;
+}) {
+ const cekData = await prisma.forumMaster_KategoriReport.findFirst({
+ where: {
+ id: kategoriId,
+ },
+ });
+
+ return cekData
+}
diff --git a/src/app_modules/forum/fun/get/v2_get_all_posting.ts b/src/app_modules/forum/fun/get/v2_get_all_posting.ts
deleted file mode 100644
index ca1acfce..00000000
--- a/src/app_modules/forum/fun/get/v2_get_all_posting.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-"use server"
-
-import prisma from "@/app/lib/prisma";
-
-
-export default async function forum_v2_getAllPosting({search}: {search?: string}) {
- const getData = await prisma.forum_Posting.findMany({
- // take: takeData,
- // skip: skipData,
- orderBy: {
- createdAt: "desc",
- },
- where: {
- isActive: true,
- diskusi: {
- mode: "insensitive",
- contains: search,
- },
- },
- select: {
- id: true,
- diskusi: true,
- createdAt: true,
- isActive: true,
- authorId: true,
- Author: {
- select: {
- id: true,
- username: true,
- Profile: {
- select: {
- id: true,
- imagesId: true,
- },
- },
- },
- },
- Forum_Komentar: {
- where: {
- isActive: true,
- },
- },
- ForumMaster_StatusPosting: true,
- },
- });
-
- return getData
-}
\ No newline at end of file
diff --git a/src/app_modules/forum/main/beranda.tsx b/src/app_modules/forum/main/beranda.tsx
index d9b4c950..b83e5f04 100644
--- a/src/app_modules/forum/main/beranda.tsx
+++ b/src/app_modules/forum/main/beranda.tsx
@@ -1,50 +1,30 @@
"use client";
import { RouterForum } from "@/app/lib/router_hipmi/router_forum";
-import { RouterJob } from "@/app/lib/router_hipmi/router_job";
-import ComponentGlobal_AuthorNameOnHeader from "@/app_modules/component_global/author_name_on_header";
-import {
- Affix,
- rem,
- ActionIcon,
- Card,
- CardSection,
- Text,
- Stack,
- Divider,
- Group,
- Box,
- TextInput,
- Center,
- Button,
- Pagination,
- Loader,
-} from "@mantine/core";
-import { useShallowEffect, useTimeout, useWindowScroll } from "@mantine/hooks";
-import {
- IconCirclePlus,
- IconMessageCircle,
- IconPencilPlus,
- IconSearch,
- IconSearchOff,
-} from "@tabler/icons-react";
-import { useRouter } from "next/navigation";
-import ComponentForum_PostingAuthorNameOnHeader from "../component/header/posting_author_header_name";
-import { useState } from "react";
-import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
-import { useAtom } from "jotai";
-import { gs_forum_loading_edit_posting } from "../global_state";
-import { MODEL_FORUM_POSTING } from "../model/interface";
-import ComponentForum_MainCardView from "../component/main_card_view";
-import { forum_getListAllPosting } from "../fun/get/get_list_all_posting";
-import { forum_funSearchListPosting } from "../fun/search/fun_search_list_posting";
-import _ from "lodash";
-import ComponentForum_BerandaCardView from "../component/beranda/beranda_card";
import mqtt_client from "@/util/mqtt_client";
+import {
+ ActionIcon,
+ Affix,
+ Button,
+ Center,
+ Loader,
+ Stack,
+ Text,
+ TextInput,
+ rem
+} from "@mantine/core";
+import { useShallowEffect, useWindowScroll } from "@mantine/hooks";
+import {
+ IconPencilPlus,
+ IconSearchOff
+} from "@tabler/icons-react";
+import _ from "lodash";
+import { ScrollOnly } from "next-scroll-loader";
+import { useRouter } from "next/navigation";
+import { useState } from "react";
import ComponentForum_V2_MainCardView from "../component/main_component/card_view";
import { forum_new_getAllPosting } from "../fun/get/new_get_all_posting";
-import forum_v2_getAllPosting from "../fun/get/v2_get_all_posting";
-import { ScrollOnly } from "next-scroll-loader";
+import { MODEL_FORUM_POSTING } from "../model/interface";
export default function Forum_Beranda({
listForum,
diff --git a/src/app_modules/forum/model/interface.tsx b/src/app_modules/forum/model/interface.tsx
index 014c0139..b512259a 100644
--- a/src/app_modules/forum/model/interface.tsx
+++ b/src/app_modules/forum/model/interface.tsx
@@ -13,7 +13,7 @@ export interface MODEL_FORUM_POSTING {
Forum_Komentar: MODEL_FORUM_KOMENTAR[];
Forum_ReportPosting: MODEL_FORUM_MASTER_REPORT[];
ForumMaster_StatusPosting: MODEL_FORUM_MASTER_STATUS;
- forumMaster_StatusPostingId: number
+ forumMaster_StatusPostingId: number;
}
export interface MODEL_FORUM_KOMENTAR {
@@ -53,5 +53,8 @@ export interface MODEL_FORUM_REPORT {
deskripsi: string;
ForumMaster_KategoriReport: MODEL_FORUM_MASTER_REPORT;
forumMaster_KategoriReportId: string;
+ forum_PostingId: string;
+ Forum_Posting: MODEL_FORUM_POSTING;
+ userId: string;
User: MODEL_USER;
}
diff --git a/src/app_modules/forum/report/posting/index.tsx b/src/app_modules/forum/report/posting/index.tsx
index 0b599f0d..650f86b6 100644
--- a/src/app_modules/forum/report/posting/index.tsx
+++ b/src/app_modules/forum/report/posting/index.tsx
@@ -11,6 +11,8 @@ import { RouterForum } from "@/app/lib/router_hipmi/router_forum";
import mqtt_client from "@/util/mqtt_client";
import adminNotifikasi_funCreateToUser from "@/app_modules/admin/notifikasi/fun/create/fun_create_notif_user";
import notifikasiToAdmin_funCreate from "@/app_modules/notifikasi/fun/create/create_notif_to_admin";
+import forum_getOneKategoriById from "../../fun/get/get_one_kategori_by_id";
+import { toNumber } from "lodash";
export default function Forum_ReportPosting({
postingId,
@@ -21,17 +23,22 @@ export default function Forum_ReportPosting({
listReport: MODEL_FORUM_MASTER_REPORT[];
userLoginId: string;
}) {
- const [reportValue, setReportValue] = useState("Kebencian");
+ const [reportValue, setReportValue] = useState("1");
return (
<>
-
+ {
+ setReportValue(val);
+ }}
+ >
{listReport.map((e) => (
-
+
{e.title}}
/>
{e.deskripsi}
@@ -40,7 +47,7 @@ export default function Forum_ReportPosting({
@@ -50,11 +57,11 @@ export default function Forum_ReportPosting({
}
function ButtonAction({
- value,
+ kategoriId,
postingId,
userLoginId,
}: {
- value: string;
+ kategoriId: number;
postingId: string;
userLoginId: string;
}) {
@@ -62,27 +69,36 @@ function ButtonAction({
const [loading, setLoading] = useState(false);
async function onReport() {
- const report = await forum_funCreateReportPosting(postingId, value);
+ const report = await forum_funCreateReportPosting({
+ postingId: postingId,
+ kategoriId: kategoriId,
+ });
if (report.status === 201) {
+ const getKategori = await forum_getOneKategoriById({
+ kategoriId: toNumber(kategoriId),
+ });
+ console.log(getKategori);
+
ComponentGlobal_NotifikasiBerhasil(report.message, 2000);
setLoading(true);
router.back();
- // const dataNotif = {
- // appId: postingId,
- // pesan: value,
- // kategoriApp: "FORUM",
- // title: "Report Posting",
- // userId: userLoginId,
- // };
+ const dataNotif = {
+ appId: postingId,
+ pesan: getKategori?.deskripsi,
+ kategoriApp: "FORUM",
+ title: getKategori?.title,
+ userId: userLoginId,
+ status: "Report Posting",
+ };
- // const notif = await notifikasiToAdmin_funCreate({
- // data: dataNotif as any,
- // });
+ const createNotifikasi = await notifikasiToAdmin_funCreate({
+ data: dataNotif as any,
+ });
- // if (notif.status === 201) {
- // mqtt_client.publish("ADMIN", JSON.stringify({ count: 1 }));
- // }
+ if (createNotifikasi.status === 201) {
+ mqtt_client.publish("ADMIN", JSON.stringify({ count: 1 }));
+ }
} else {
ComponentGlobal_NotifikasiGagal(report.message);
}
| |