Fix investasi

Deksripsi:
- Fix notifikasi
This commit is contained in:
2024-12-23 07:51:35 +08:00
parent b1d7a565e7
commit 1fac36336c
19 changed files with 1145 additions and 719 deletions

View File

@@ -6,22 +6,24 @@ import {
MainColor,
} from "@/app_modules/_global/color/color_pallet";
import { ComponentGlobal_CardLoadingOverlay } from "@/app_modules/_global/component";
import { gs_donasi_hot_menu } from "@/app_modules/donasi/global_state";
import { gs_event_hotMenu } from "@/app_modules/event/global_state";
import { gs_investas_menu } from "@/app_modules/investasi/g_state";
import { gs_job_hot_menu } from "@/app_modules/job/global_state";
import { gs_vote_hotMenu } from "@/app_modules/vote/global_state";
import { Badge, Card, Divider, Group, Stack, Text } from "@mantine/core";
import { IconCheck, IconChecks } from "@tabler/icons-react";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { ICategoryapp, MODEL_NOTIFIKASI } from "../model/interface";
import { notifikasi_eventCheckStatus } from "./path/event";
import { notifikasi_jobCheckStatus } from "./path/job";
import { gs_vote_hotMenu } from "@/app_modules/vote/global_state";
import { notifikasi_votingCheckStatus } from "./path/voting";
import { redirectDonasiPage } from "./path/donasi";
import { gs_donasi_hot_menu } from "@/app_modules/donasi/global_state";
import moment from "moment";
import "moment/locale/id";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { MODEL_NOTIFIKASI } from "../model/interface";
import { redirectDonasiPage } from "./path/donasi";
import { notifikasi_eventCheckStatus } from "./path/event";
import { redirectInvestasiPage } from "./path/investasi";
import { notifikasi_jobCheckStatus } from "./path/job";
import { notifikasi_votingCheckStatus } from "./path/voting";
export function ComponentNotifiaksi_CardView({
data,
@@ -40,6 +42,7 @@ export function ComponentNotifiaksi_CardView({
const [eventMenuId, setEventMenuId] = useAtom(gs_event_hotMenu);
const [votingMenu, setVotingMenu] = useAtom(gs_vote_hotMenu);
const [donasiMenu, setDonasiMenu] = useAtom(gs_donasi_hot_menu);
const [investasiMenu, setInvestasiMenu] = useAtom(gs_investas_menu);
return (
<>
@@ -76,6 +79,8 @@ export function ComponentNotifiaksi_CardView({
setLoadCountNtf(val);
},
});
return;
}
// EVENT
@@ -98,6 +103,8 @@ export function ComponentNotifiaksi_CardView({
setLoadCountNtf(val);
},
});
return;
}
if (data?.kategoriApp === "VOTING") {
@@ -119,6 +126,8 @@ export function ComponentNotifiaksi_CardView({
setLoadCountNtf(val);
},
});
return;
}
if (data?.kategoriApp === "DONASI") {
@@ -140,6 +149,31 @@ export function ComponentNotifiaksi_CardView({
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" &&
@@ -148,38 +182,11 @@ export function ComponentNotifiaksi_CardView({
// router: router,
// });
// data?.kategoriApp === "VOTING" &&
// redirectVotingPage({
// data: data,
// router: router,
// onSetPage(val) {
// // onSetMenu(val);
// },
// });
// data?.kategoriApp === "EVENT" &&
// redirectEventPage({
// data: data,
// router: router,
// onSetPage(val) {
// // onSetMenu(val);
// },
// });
// data?.kategoriApp === "COLLABORATION" &&
// redirectDetailCollaborationPage({
// data: data,
// router: router,
// });
// data.kategoriApp === "INVESTASI" &&
// redirectInvestasiPage({
// data: data,
// router: router,
// onSetPage(val) {
// // onSetMenu(val);
// },
// });
}}
>
{/* <pre>{JSON.stringify(e, null, 2)}</pre> */}

View File

@@ -1,37 +1,61 @@
import { RouterEvent } from "@/app/lib/router_hipmi/router_event";
import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime";
import { MODEL_NOTIFIKASI } from "../../model/interface";
import { RouterInvestasi_OLD } from "@/app/lib/router_hipmi/router_investasi";
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
import { notifikasi_funDonasiCheckStatus } from "../../fun/check/fun_check_donasi_status";
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_funInvestasiCheckStatus } from "../../fun/check/fun_check_investasi_status";
export function redirectInvestasiPage({
data,
export async function redirectInvestasiPage({
appId,
dataId,
categoryPage,
router,
onSetPage,
onLoadDataEvent,
onSetMenuId,
onSetVisible,
onLoadCountNtf,
}: {
data: MODEL_NOTIFIKASI;
appId: string;
dataId: string;
categoryPage: string;
router: AppRouterInstance;
onSetPage: (val: any) => void;
onLoadDataEvent: (val: any) => void;
onSetMenuId(val: number): void;
onSetVisible(val: boolean): void;
onLoadCountNtf(val: number): void;
}) {
const path = RouterInvestasi_OLD.portofolio;
const check = await notifikasi_funInvestasiCheckStatus({ id: appId });
if (data.status === "Publish") {
onSetPage({
menuId: 2,
status: data.status,
if (check.status == 200) {
// const loadListNotifikasi = await notifikasi_getByUserId({
// page: 1,
// kategoriApp: categoryPage as any,
// });
// onLoadDataEvent(loadListNotifikasi);
// const loadCountNotifikasi = await notifikasi_countUserNotifikasi();
// onLoadCountNtf(loadCountNotifikasi);
const updateReadNotifikasi = await notifikasi_funUpdateIsReadById({
notifId: dataId,
});
router.push(path, { scroll: false });
}
// console.log(data)
if (data.status === "Reject") {
onSetPage({
menuId: 2,
status: data.status,
});
router.push(path, { scroll: false });
}
if (updateReadNotifikasi.status == 200) {
onSetVisible(true);
// if (data.status === "Peserta Event") {
// router.push(RouterEvent.detail_main + data.appId, { scroll: false });
// }
onSetMenuId(1);
if (check.statusName == "publish") {
router.push(`/dev/investasi/detail/${appId}`, { scroll: false });
} else {
const path = `/dev/investasi/detail/portofolio/${appId}`;
router.push(path, { scroll: false });
}
}
} else {
ComponentGlobal_NotifikasiPeringatan("Status tidak ditemukan");
}
}