Fix: Donasi

Deskripsi:
- Fix notitikasi user to admin
- Fix notifikasi admin to user
This commit is contained in:
2024-11-28 11:31:15 +08:00
parent 038c40a6fb
commit 2335807b42
22 changed files with 539 additions and 216 deletions

View File

@@ -14,6 +14,8 @@ import ComponentDonasi_DetailDataGalangDana from "../../component/detail_galang_
import ComponentDonasi_CeritaPenggalangMain from "../../component/detail_main/cerita_penggalang";
import { Donasi_funGantiStatus } from "../../fun/update/fun_ganti_status";
import { MODEL_DONASI } from "../../model/interface";
import { IRealtimeData } from "@/app/lib/global_state";
import { WibuRealtime } from "wibu-pkg";
export default function DetailDraftDonasi({
dataDonasi,
@@ -52,7 +54,8 @@ function ButtonAjukanPenggalangan({
async function onChangeStatus() {
const res = await Donasi_funGantiStatus(dataDonasi.id, "2");
if (res.status === 200) {
const dataNotif = {
const dataNotifikasi: IRealtimeData = {
appId: res.data?.id as any,
status: res.data?.DonasiMaster_Status?.name as any,
userId: res.data?.authorId as any,
@@ -62,11 +65,20 @@ function ButtonAjukanPenggalangan({
};
const notif = await notifikasiToAdmin_funCreate({
data: dataNotif as any,
data: dataNotifikasi as any,
});
if (notif.status === 201) {
mqtt_client.publish("ADMIN", JSON.stringify({ count: 1 }));
WibuRealtime.setData({
type: "notification",
pushNotificationTo: "ADMIN",
});
WibuRealtime.setData({
type: "trigger",
pushNotificationTo: "ADMIN",
dataMessage: dataNotifikasi,
});
setLoading(true);
ComponentGlobal_NotifikasiBerhasil("Berhasil Diajukan");

View File

@@ -3,18 +3,19 @@
import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi";
import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil";
import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan";
import { UIGlobal_Modal } from "@/app_modules/_global/ui";
import notifikasiToAdmin_funCreate from "@/app_modules/notifikasi/fun/create/create_notif_to_admin";
import mqtt_client from "@/util/mqtt_client";
import { Button, Stack } from "@mantine/core";
import { useAtom } from "jotai";
import { useRouter } from "next/navigation";
import { useState } from "react";
import ComponentDonasi_DetailDataGalangDana from "../../component/detail_galang_dana/detail_data_donasi";
import ComponentDonasi_CeritaPenggalangMain from "../../component/detail_main/cerita_penggalang";
import { Donasi_funGantiStatus } from "../../fun/update/fun_ganti_status";
import { gs_donasi_tabs_posting } from "../../global_state";
import { MODEL_DONASI } from "../../model/interface";
import notifikasiToAdmin_funCreate from "@/app_modules/notifikasi/fun/create/create_notif_to_admin";
import mqtt_client from "@/util/mqtt_client";
import { UIGlobal_Modal } from "@/app_modules/_global/ui";
import { donasi_checkStatus } from "../../fun";
import { WibuRealtime } from "wibu-pkg";
import { IRealtimeData } from "@/app/lib/global_state";
export default function DetailReviewDonasi({
dataDonasi,
@@ -39,30 +40,53 @@ function ButtonBatalReview({ donasi }: { donasi: MODEL_DONASI }) {
const [openModal, setOpenModal] = useState(false);
async function onChangeStatus() {
const res = await Donasi_funGantiStatus(donasi.id, "3");
if (res.status === 200) {
const dataNotif = {
appId: res.data?.id as any,
status: res.data?.DonasiMaster_Status?.name as any,
userId: res.data?.authorId as any,
pesan: res.data?.title as any,
kategoriApp: "DONASI",
title: "Membatalkan review",
};
const check = await donasi_checkStatus({ id: donasi.id });
if (check) {
const res = await Donasi_funGantiStatus(donasi.id, "3");
if (res.status === 200) {
// const dataNotif = {
// appId: res.data?.id as any,
// status: res.data?.DonasiMaster_Status?.name as any,
// userId: res.data?.authorId as any,
// pesan: res.data?.title as any,
// kategoriApp: "DONASI",
// title: "Membatalkan review",
// };
const notif = await notifikasiToAdmin_funCreate({
data: dataNotif as any,
});
const dataNotifikasi: IRealtimeData = {
appId: res.data?.id as any,
status: res.data?.DonasiMaster_Status?.name as any,
userId: res.data?.authorId as any,
pesan: res.data?.title as any,
kategoriApp: "DONASI",
title: "Membatalkan review",
};
if (notif.status === 201) {
mqtt_client.publish("ADMIN", JSON.stringify({ count: 1 }));
const notif = await notifikasiToAdmin_funCreate({
data: dataNotifikasi as any,
});
ComponentGlobal_NotifikasiBerhasil("Berhasil Dibatalkan");
setLoading(true);
router.push(RouterDonasi.status_galang_dana({ id: "3" }));
if (notif.status === 201) {
WibuRealtime.setData({
type: "notification",
pushNotificationTo: "ADMIN",
});
WibuRealtime.setData({
type: "trigger",
pushNotificationTo: "ADMIN",
dataMessage: dataNotifikasi,
});
ComponentGlobal_NotifikasiBerhasil("Berhasil Dibatalkan");
setLoading(true);
router.push(RouterDonasi.status_galang_dana({ id: "3" }));
}
} else {
ComponentGlobal_NotifikasiPeringatan(res.message);
}
} else {
ComponentGlobal_NotifikasiPeringatan(res.message);
ComponentGlobal_NotifikasiPeringatan("Donasi telah direview admin");
}
}
return (