Fix: Voting

Deskripsi:
- Fix notifikasi admin to user
- Fix notifikasi user to admin
## No Issue
This commit is contained in:
2024-11-20 16:23:05 +08:00
parent 6b8ace772c
commit e65a8d30a2
36 changed files with 1077 additions and 547 deletions

View File

@@ -1,6 +1,5 @@
import { AdminEvent_TableReview } from "@/app_modules/admin/event";
import { adminEvent_funGetListReview } from "@/app_modules/admin/event/fun";
import { AdminEvent_getListTableByStatusId } from "@/app_modules/admin/event/fun/get/get_list_table_by_status_id";
export default async function Page() {
const listReview = await adminEvent_funGetListReview({ page: 1 });

View File

@@ -1,9 +1,16 @@
import { atom } from "jotai";
import { atomWithStorage } from "jotai/utils";
export type IRealtimeData = {
status?: "Publish" | "Review" | "Draft" | "Reject" | "Peserta Event";
status?:
| "Publish"
| "Review"
| "Draft"
| "Reject"
// EVNET
| "Peserta Event"
// VOTING
| "Voting Masuk";
appId: string;
userId: string;
pesan: string;
@@ -23,11 +30,14 @@ export const gs_admin_ntf = atom<number>(0);
export const gs_user_ntf = atom<number>(0);
export const gs_count_ntf = atom<number>(0);
// job
export const gs_adminJobTriggerReview = atom<boolean>(false);
export const gs_adminJob_triggerReview = atom<boolean>(false);
export const gs_jobTiggerBeranda = atom<boolean>(false);
// event
export const gs_adminEventTriggerReview = atom<boolean>(false);
export const gs_adminEvent_triggerReview = atom<boolean>(false);
export const gs_eventTriggerBeranda = atom<boolean>(false);
// voting
export const gs_adminVoting_triggerReview = atom<boolean>(false);
export const gs_votingTiggerBeranda = atom<boolean>(false);

View File

@@ -5,12 +5,14 @@ import { useAtom } from "jotai";
import { WibuRealtime } from "wibu-pkg";
import {
gs_admin_ntf,
gs_adminEventTriggerReview,
gs_adminJobTriggerReview,
gs_adminEvent_triggerReview,
gs_adminJob_triggerReview,
gs_adminVoting_triggerReview,
gs_eventTriggerBeranda,
gs_jobTiggerBeranda,
gs_realtimeData,
gs_user_ntf,
gs_votingTiggerBeranda,
IRealtimeData,
} from "./global_state";
@@ -35,15 +37,23 @@ export default function RealtimeProvider({
const [isTriggerJobBeranda, setIsTriggerJobBeranda] =
useAtom(gs_jobTiggerBeranda);
const [isAdminJob_TriggerReview, setIsAdminJob_TriggerReview] = useAtom(
gs_adminJobTriggerReview
gs_adminJob_triggerReview
);
// EVENT
const [isTriggerEventBeranda, setIsTriggerEventBeranca] = useAtom(
const [isTriggerEventBeranda, setIsTriggerEventBeranda] = useAtom(
gs_eventTriggerBeranda
);
const [isAdminEvent_TriggerReview, setIsAdminEvent_TriggerReview] = useAtom(
gs_adminEventTriggerReview
gs_adminEvent_triggerReview
);
// VOTING
const [isTriggerVotingBeranda, setIsTriggerVotingBeranda] = useAtom(
gs_votingTiggerBeranda
);
const [isAdminVoting_TriggerReview, setIsAdminVoting_TriggerReview] = useAtom(
gs_adminVoting_triggerReview
);
useShallowEffect(() => {
@@ -63,7 +73,7 @@ export default function RealtimeProvider({
setDataRealtime(data.dataMessage as any);
}
// JOB
// ---------------------- JOB ------------------------- //
if (
data.type == "trigger" &&
data.pushNotificationTo == "ADMIN" &&
@@ -80,8 +90,9 @@ export default function RealtimeProvider({
) {
setIsTriggerJobBeranda(true);
}
// ---------------------- JOB ------------------------- //
// EVENT
// ---------------------- EVENT ------------------------- //
if (
data.type == "trigger" &&
data.pushNotificationTo == "ADMIN" &&
@@ -96,7 +107,7 @@ export default function RealtimeProvider({
data.dataMessage?.kategoriApp == "EVENT" &&
data.dataMessage.status == "Publish"
) {
setIsTriggerEventBeranca(true);
setIsTriggerEventBeranda(true);
}
if (
@@ -107,6 +118,35 @@ export default function RealtimeProvider({
) {
setNewUserNtf((e) => e + 1);
}
// ---------------------- EVENT ------------------------- //
// ---------------------- VOTING ------------------------- //
if (
data.type == "trigger" &&
data.pushNotificationTo == "ADMIN" &&
data.dataMessage?.kategoriApp == "VOTING"
) {
setIsAdminVoting_TriggerReview(true);
}
if (
data.type == "trigger" &&
data.pushNotificationTo == "USER" &&
data.dataMessage?.kategoriApp == "VOTING" &&
data.dataMessage.status == "Publish"
) {
setIsTriggerVotingBeranda(true);
}
if (
data.type == "notification" &&
data.pushNotificationTo == "USER" &&
data.dataMessage?.status == "Voting Masuk" &&
userLoginId !== data.dataMessage?.userId
) {
setNewUserNtf((e) => e + 1);
}
// ---------------------- VOTING ------------------------- //
},
project: "hipmi",

View File

@@ -1,4 +1,5 @@
import { funGetUserIdByToken } from "@/app_modules/_global/fun/get";
import Coba_TestLoading from "@/app_modules/zCoba";
import { CobaRealtime } from "@/app_modules/zCoba/coba_realtime";
export default async function Page() {
@@ -10,8 +11,8 @@ export default async function Page() {
return (
<>
<CobaRealtime userLoginId={userLoginId} />
{/* <Coba_TestLoading userLoginId={userLoginId} /> */}
{/* <CobaRealtime userLoginId={userLoginId} /> */}
<Coba_TestLoading userLoginId={userLoginId} />
{/* <ComponentGlobal_UI_LayoutTamplate /> */}
</>
);