(null);
const [activePage, setActivePage] = useState(1);
const [categoryPage, setCategoryPage] = useAtom(gs_notifikasi_kategori_app);
@@ -80,6 +84,7 @@ export default function Notifikasi_UiMain() {
data={item}
onLoadData={setData}
categoryPage={categoryPage as any}
+ userLoginId={userLoginId}
/>
)}
diff --git a/src/app_modules/notifikasi/component/card_view.tsx b/src/app_modules/notifikasi/component/card_view.tsx
index caaa9c00..1070589c 100644
--- a/src/app_modules/notifikasi/component/card_view.tsx
+++ b/src/app_modules/notifikasi/component/card_view.tsx
@@ -24,15 +24,18 @@ import { notifikasi_eventCheckStatus } from "./path/event";
import { redirectInvestasiPage } from "./path/investasi";
import { notifikasi_jobCheckStatus } from "./path/job";
import { notifikasi_votingCheckStatus } from "./path/voting";
+import { clientLogger } from "@/util/clientLogger";
export function ComponentNotifiaksi_CardView({
data,
onLoadData,
categoryPage,
+ userLoginId,
}: {
data: MODEL_NOTIFIKASI;
onLoadData: (val: any) => void;
categoryPage: string;
+ userLoginId?: string
}) {
const router = useRouter();
const [visible, setVisible] = useState(false);
@@ -59,134 +62,146 @@ export function ComponentNotifiaksi_CardView({
}}
my={"xs"}
onClick={async () => {
- // JOB
- if (data?.kategoriApp === "JOB") {
- await notifikasi_jobCheckStatus({
- appId: data.appId,
- dataId: data.id,
- categoryPage: categoryPage,
- router: router,
- onLoadDataJob(val) {
- onLoadData(val);
- },
- onSetJobMenuId(val) {
- setJobMenuId(val);
- },
- onSetVisible(val) {
- setVisible(val);
- },
- onLoadCountNtf(val) {
- setLoadCountNtf(val);
- },
- });
+ try {
+ setVisible(true);
- return;
+ // JOB
+ if (data?.kategoriApp === "JOB") {
+ await notifikasi_jobCheckStatus({
+ appId: data.appId,
+ dataId: data.id,
+ categoryPage: categoryPage,
+ router: router,
+ onLoadDataJob(val) {
+ onLoadData(val);
+ },
+ onSetJobMenuId(val) {
+ setJobMenuId(val);
+ },
+ onSetVisible(val) {
+ setVisible(val);
+ },
+ onLoadCountNtf(val) {
+ setLoadCountNtf(val);
+ },
+ });
+
+ return;
+ }
+
+ // EVENT
+ if (data?.kategoriApp === "EVENT") {
+ await notifikasi_eventCheckStatus({
+ appId: data.appId,
+ dataId: data.id,
+ categoryPage: categoryPage,
+ router: router,
+ onLoadDataEvent(val) {
+ onLoadData(val);
+ },
+ onSetVisible(val) {
+ setVisible(val);
+ },
+ onSetEventMenuId(val) {
+ setEventMenuId(val);
+ },
+ onLoadCountNtf(val) {
+ setLoadCountNtf(val);
+ },
+ });
+
+ return;
+ }
+
+ // VOTING
+ if (data?.kategoriApp === "VOTING") {
+ await notifikasi_votingCheckStatus({
+ appId: data.appId,
+ dataId: data.id,
+ categoryPage: categoryPage,
+ router: router,
+ onLoadDataEvent(val) {
+ onLoadData(val);
+ },
+ onSetVisible(val) {
+ setVisible(val);
+ },
+ onSetMenuId(val) {
+ setVotingMenu(val);
+ },
+ onLoadCountNtf(val) {
+ setLoadCountNtf(val);
+ },
+ });
+
+ return;
+ }
+
+ // DONASI
+ if (data?.kategoriApp === "DONASI") {
+ redirectDonasiPage({
+ appId: data.appId,
+ dataId: data.id,
+ userId: data.userId,
+ userLoginId: userLoginId as any,
+ categoryPage: categoryPage,
+ router: router,
+ onLoadDataEvent(val) {
+ onLoadData(val);
+ },
+ onSetVisible(val) {
+ setVisible(val);
+ },
+ onSetMenuId(val) {
+ setDonasiMenu(val);
+ },
+ onLoadCountNtf(val) {
+ setLoadCountNtf(val);
+ },
+ });
+
+ return;
+ }
+
+ // INVESTASI
+ if (data?.kategoriApp === "INVESTASI") {
+ redirectInvestasiPage({
+ appId: data.appId,
+ dataId: data.id,
+ categoryPage: categoryPage,
+ router: router,
+ onLoadDataEvent(val) {
+ onLoadData(val);
+ },
+ onSetVisible(val) {
+ setVisible(val);
+ },
+ onSetMenuId(val) {
+ setInvestasiMenu(val);
+ },
+ onLoadCountNtf(val) {
+ setLoadCountNtf(val);
+ },
+ });
+
+ return;
+ }
+
+ // data?.kategoriApp === "FORUM" &&
+ // redirectDetailForumPage({
+ // data: data,
+ // router: router,
+ // });
+
+ // data?.kategoriApp === "COLLABORATION" &&
+ // redirectDetailCollaborationPage({
+ // data: data,
+ // router: router,
+ // });
+ } catch (error) {
+ setVisible(false);
+ clientLogger.error("Error redirect notification page", error);
}
-
- // EVENT
- if (data?.kategoriApp === "EVENT") {
- await notifikasi_eventCheckStatus({
- appId: data.appId,
- dataId: data.id,
- categoryPage: categoryPage,
- router: router,
- onLoadDataEvent(val) {
- onLoadData(val);
- },
- onSetVisible(val) {
- setVisible(val);
- },
- onSetEventMenuId(val) {
- setEventMenuId(val);
- },
- onLoadCountNtf(val) {
- setLoadCountNtf(val);
- },
- });
-
- return;
- }
-
- if (data?.kategoriApp === "VOTING") {
- await notifikasi_votingCheckStatus({
- appId: data.appId,
- dataId: data.id,
- categoryPage: categoryPage,
- router: router,
- onLoadDataEvent(val) {
- onLoadData(val);
- },
- onSetVisible(val) {
- setVisible(val);
- },
- onSetMenuId(val) {
- setVotingMenu(val);
- },
- onLoadCountNtf(val) {
- setLoadCountNtf(val);
- },
- });
-
- return;
- }
-
- if (data?.kategoriApp === "DONASI") {
- redirectDonasiPage({
- appId: data.appId,
- dataId: data.id,
- categoryPage: categoryPage,
- router: router,
- onLoadDataEvent(val) {
- onLoadData(val);
- },
- onSetVisible(val) {
- setVisible(val);
- },
- onSetMenuId(val) {
- setDonasiMenu(val);
- },
- onLoadCountNtf(val) {
- setLoadCountNtf(val);
- },
- });
-
- return;
- }
-
- if (data?.kategoriApp === "INVESTASI") {
- redirectInvestasiPage({
- appId: data.appId,
- dataId: data.id,
- categoryPage: categoryPage,
- router: router,
- onLoadDataEvent(val) {
- onLoadData(val);
- },
- onSetVisible(val) {
- setVisible(val);
- },
- onSetMenuId(val) {
- setInvestasiMenu(val);
- },
- onLoadCountNtf(val) {
- setLoadCountNtf(val);
- },
- });
-
- return;
- }
-
- // data?.kategoriApp === "FORUM" &&
- // redirectDetailForumPage({
- // data: data,
- // router: router,
- // });
-
- // data?.kategoriApp === "COLLABORATION" &&
- // redirectDetailCollaborationPage({
- // data: data,
- // router: router,
- // });
}}
>
{/* {JSON.stringify(e, null, 2)} */}
diff --git a/src/app_modules/notifikasi/component/path/donasi.ts b/src/app_modules/notifikasi/component/path/donasi.ts
index fbdc976c..ff3c9abe 100644
--- a/src/app_modules/notifikasi/component/path/donasi.ts
+++ b/src/app_modules/notifikasi/component/path/donasi.ts
@@ -7,11 +7,14 @@ import notifikasi_getByUserId from "../../fun/get/get_notifiaksi_by_id";
import notifikasi_countUserNotifikasi from "../../fun/count/fun_count_by_id";
import notifikasi_funUpdateIsReadById from "../../fun/update/fun_update_is_read_by_user_id";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global";
+import { notifikasi_checkAuthorDonasiById } from "../../fun/check/fun_check_author_donasi_by_id";
export async function redirectDonasiPage({
appId,
dataId,
categoryPage,
+ userId,
+ userLoginId,
router,
onLoadDataEvent,
onSetMenuId,
@@ -21,6 +24,8 @@ export async function redirectDonasiPage({
appId: string;
dataId: string;
categoryPage: string;
+ userId: string;
+ userLoginId: string;
router: AppRouterInstance;
onLoadDataEvent: (val: any) => void;
onSetMenuId(val: number): void;
@@ -28,29 +33,38 @@ export async function redirectDonasiPage({
onLoadCountNtf(val: number): void;
}) {
const check = await notifikasi_funDonasiCheckStatus({ id: appId });
+ const checkAuthor = await notifikasi_checkAuthorDonasiById({
+ donasiId: appId,
+ userId: userId,
+ });
if (check.status == 200) {
- const loadListNotifikasi = await notifikasi_getByUserId({
- page: 1,
- kategoriApp: categoryPage as any,
- });
- onLoadDataEvent(loadListNotifikasi);
+ // const loadListNotifikasi = await notifikasi_getByUserId({
+ // page: 1,
+ // kategoriApp: categoryPage as any,
+ // });
+ // onLoadDataEvent(loadListNotifikasi);
- const loadCountNotifikasi = await notifikasi_countUserNotifikasi();
- onLoadCountNtf(loadCountNotifikasi);
+ // const loadCountNotifikasi = await notifikasi_countUserNotifikasi();
+ // onLoadCountNtf(loadCountNotifikasi);
const updateReadNotifikasi = await notifikasi_funUpdateIsReadById({
notifId: dataId,
});
if (updateReadNotifikasi.status == 200) {
- onSetVisible(true);
+ const pathToCreator = `/dev/donasi/detail/${check.statusName}/${appId}`;
+ const pathToAllUser = `/dev/donasi/detail/main/${appId}`;
- const path = `/dev/donasi/detail/${check.statusName}/${appId}`;
- onSetMenuId(1);
- router.push(path, { scroll: false });
+ if (checkAuthor) {
+ router.push(pathToCreator, { scroll: false });
+ } else {
+ router.push(pathToAllUser, { scroll: false });
+ onSetMenuId(1);
+ }
}
} else {
+ onSetVisible(false);
ComponentGlobal_NotifikasiPeringatan("Status tidak ditemukan");
}
}
diff --git a/src/app_modules/notifikasi/component/path/investasi.ts b/src/app_modules/notifikasi/component/path/investasi.ts
index 0cf3fb65..080b63d2 100644
--- a/src/app_modules/notifikasi/component/path/investasi.ts
+++ b/src/app_modules/notifikasi/component/path/investasi.ts
@@ -37,9 +37,6 @@ export async function redirectInvestasiPage({
id: appId,
});
- console.log("check", check);
- console.log("check investor:", checkInvestor);
-
if (check.status == 200) {
const updateReadNotifikasi = await notifikasi_funUpdateIsReadById({
notifId: dataId,
diff --git a/src/app_modules/notifikasi/fun/check/fun_check_author_donasi_by_id.ts b/src/app_modules/notifikasi/fun/check/fun_check_author_donasi_by_id.ts
new file mode 100644
index 00000000..916507b2
--- /dev/null
+++ b/src/app_modules/notifikasi/fun/check/fun_check_author_donasi_by_id.ts
@@ -0,0 +1,24 @@
+"use server";
+
+import { prisma } from "@/app/lib";
+
+export async function notifikasi_checkAuthorDonasiById({
+ userId,
+ donasiId,
+}: {
+ userId: string;
+ donasiId: string;
+}) {
+ const check = await prisma.donasi.findFirst({
+ where: {
+ authorId: userId,
+ id: donasiId,
+ },
+ });
+
+ if (check) {
+ return true;
+ } else {
+ return false;
+ }
+}
diff --git a/src/middleware.ts b/src/middleware.ts
index c92db441..dc993068 100644
--- a/src/middleware.ts
+++ b/src/middleware.ts
@@ -33,8 +33,8 @@ const middlewareConfig: MiddlewareConfig = {
"/api/origin-url",
"/api/event/*",
// "/api/image/*",
- // "/api/user",
- "/api/new/*",
+ // "/api/user/*",
+ // "/api/new/*",
// Akses awal
"/api/get-cookie",
"/api/user/activation",