diff --git a/CHANGELOG.md b/CHANGELOG.md index f8626f75..915facce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. +## [1.2.4](https://github.com/bipproduction/hipmi/compare/v1.2.3...v1.2.4) (2024-11-25) + +## [1.2.3](https://github.com/bipproduction/hipmi/compare/v1.2.2...v1.2.3) (2024-11-25) + + +### Bug Fixes + +* Middlerawe/7 ([13c855f](https://github.com/bipproduction/hipmi/commit/13c855f2f64212857cb6c143f135d2fe160d9ee9)) + ## [1.2.2](https://github.com/bipproduction/hipmi/compare/v1.2.1...v1.2.2) (2024-11-21) diff --git a/package.json b/package.json index ca721281..179d5f02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hipmi", - "version": "1.2.2", + "version": "1.2.4", "private": true, "prisma": { "seed": "npx tsx prisma/seed.ts --yes" diff --git a/src/app/(user)/login/page.tsx b/src/app/(user)/login/page.tsx new file mode 100644 index 00000000..cd18a2f8 --- /dev/null +++ b/src/app/(user)/login/page.tsx @@ -0,0 +1,13 @@ +import { funCheckCookies } from "@/app_modules/_global/fun/get/fun_check_cookies"; +import { Login } from "@/app_modules/auth"; +import versionUpdate from "../../../../package.json"; + +export default async function Page() { + const version = versionUpdate.version; + + return ( + <> + + + ); +} diff --git a/src/app/(user)/register/[id]/page.tsx b/src/app/(user)/register/[id]/page.tsx new file mode 100644 index 00000000..ff588e30 --- /dev/null +++ b/src/app/(user)/register/[id]/page.tsx @@ -0,0 +1,8 @@ +import { Register } from "@/app_modules/auth"; +import { auth_getCodeOtpByNumber } from "@/app_modules/auth/fun/get_kode_otp_by_id"; + +export default async function Page({ params }: { params: { id: string } }) { + let otpId = params.id; + const dataOtp = await auth_getCodeOtpByNumber({ kodeId: otpId }); + return ; +} diff --git a/src/app/(user)/validasi/[id]/page.tsx b/src/app/(user)/validasi/[id]/page.tsx new file mode 100644 index 00000000..087d816f --- /dev/null +++ b/src/app/(user)/validasi/[id]/page.tsx @@ -0,0 +1,9 @@ +import { Validasi } from "@/app_modules/auth"; +import { auth_getCodeOtpByNumber } from "@/app_modules/auth/fun/get_kode_otp_by_id"; + +export default async function Page({ params }: { params: { id: string } }) { + let kodeId = params.id; + const dataOtp = await auth_getCodeOtpByNumber({ kodeId: kodeId }); + + return ; +} diff --git a/src/app/dev/auth/login/page.tsx b/src/app/dev/auth/login/page.tsx index aad1ce63..d8278185 100644 --- a/src/app/dev/auth/login/page.tsx +++ b/src/app/dev/auth/login/page.tsx @@ -1,9 +1,15 @@ import { Login } from "@/app_modules/auth"; import versionUpdate from "../../../../../package.json"; +import { funCheckCookies } from "@/app_modules/_global/fun/get/fun_check_cookies"; +import { redirect } from "next/navigation"; export default async function Page() { const version = versionUpdate.version; + const checkCookies = await funCheckCookies(); + console.log(checkCookies, "ini halaman login"); + if (!checkCookies) return redirect("/"); + return ( <> diff --git a/src/app/dev/auth/splash/page.tsx b/src/app/dev/auth/splash/page.tsx index 69fd531d..a1a041c8 100644 --- a/src/app/dev/auth/splash/page.tsx +++ b/src/app/dev/auth/splash/page.tsx @@ -1,12 +1,9 @@ -import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { SplashScreen } from "@/app_modules/auth"; export default async function PageSplash() { - const userLoginId = await funGetUserIdByToken(); - return ( <> - + ); } diff --git a/src/app/dev/auth/validasi/[id]/page.tsx b/src/app/dev/auth/validasi/[id]/page.tsx index 508c0f49..d81694df 100644 --- a/src/app/dev/auth/validasi/[id]/page.tsx +++ b/src/app/dev/auth/validasi/[id]/page.tsx @@ -1,12 +1,10 @@ import { Validasi } from "@/app_modules/auth"; import { auth_getCodeOtpByNumber } from "@/app_modules/auth/fun/get_kode_otp_by_id"; -import { redirect } from "next/navigation"; -import { RouterAuth } from "@/app/lib/router_hipmi/router_auth"; export default async function Page({ params }: { params: { id: string } }) { let kodeId = params.id; const dataOtp = await auth_getCodeOtpByNumber({ kodeId: kodeId }); - // if (dataOtp === null) return redirect(RouterAuth.login); + return ; } diff --git a/src/app/dev/check-cookies/page.tsx b/src/app/dev/check-cookies/page.tsx index fb26eb65..39941945 100644 --- a/src/app/dev/check-cookies/page.tsx +++ b/src/app/dev/check-cookies/page.tsx @@ -1,5 +1,21 @@ +import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin"; +import { RouterHome } from "@/app/lib/router_hipmi/router_home"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { funGlobal_getUserById } from "@/app_modules/_global/fun/get/fun_get_user_by_id"; import { CheckCookies_UiView } from "@/app_modules/check_cookies"; +import { redirect } from "next/navigation"; -export default function Page() { - return ; +export default async function Page() { + const userLoginId = await funGetUserIdByToken(); + const dataUser = await funGlobal_getUserById({ userId: userLoginId }); + + if (dataUser?.masterUserRoleId === "1") { + return redirect(RouterHome.main_home); + } + + if (dataUser?.masterUserRoleId !== "1") { + return redirect(RouterAdminDashboard.splash_admin); + } + + // return ; } diff --git a/src/app/dev/home/page.tsx b/src/app/dev/home/page.tsx index 195c60e5..8aae78b6 100644 --- a/src/app/dev/home/page.tsx +++ b/src/app/dev/home/page.tsx @@ -1,27 +1,24 @@ -import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin"; -import { RouterHome } from "@/app/lib/router_hipmi/router_home"; import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { HomeView } from "@/app_modules/home"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import { job_getTwoForHomeView } from "@/app_modules/job/fun/get/get_two_for_home_view"; import notifikasi_countUserNotifikasi from "@/app_modules/notifikasi/fun/count/fun_count_by_id"; -import { redirect } from "next/navigation"; export default async function Page() { const userLoginId = await funGetUserIdByToken(); - const dataUser = await user_getOneByUserId(userLoginId as string); const dataJob = await job_getTwoForHomeView(); - - if (dataUser?.active === false) { - return redirect(RouterHome.home_user_non_active); - } - - if (dataUser?.masterUserRoleId === "2" || dataUser?.masterUserRoleId === "3") - return redirect(RouterAdminDashboard.splash_admin); - const countNotifikasi = await notifikasi_countUserNotifikasi(); + // console.log(userLoginId, "ini di home"); + // console.log(dataUser, "ini di home"); + + // if (dataUser?.active === false) { + // return redirect(RouterHome.home_user_non_active); + // } + // if (dataUser?.masterUserRoleId === "2" || dataUser?.masterUserRoleId === "3") + // return redirect(RouterAdminDashboard.splash_admin); + return ( <> + + {children} - {/* {children} */} + {/* + {children} + */} ); } diff --git a/src/app/dev/user-not-active/page.tsx b/src/app/dev/user-not-active/page.tsx index e363ed35..5f29e41a 100644 --- a/src/app/dev/user-not-active/page.tsx +++ b/src/app/dev/user-not-active/page.tsx @@ -2,16 +2,16 @@ import { RouterHome } from "@/app/lib/router_hipmi/router_home"; import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Home_UserNonActive } from "@/app_modules/home"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; -import { redirect } from "next/navigation"; +// import { redirect } from "next/navigation"; export default async function Page() { const userLoginId = await funGetUserIdByToken(); const dataUser = await user_getOneByUserId(userLoginId as string); - if (dataUser?.active === true) { - return redirect(RouterHome.main_home); - } + // if (dataUser?.active === true) { + // return redirect(RouterHome.main_home); + // } return ( <> diff --git a/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx b/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx index 7759f942..aad2aeb0 100644 --- a/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx +++ b/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx @@ -1,5 +1,4 @@ import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; -import { CheckCookies_UiView } from "@/app_modules/check_cookies"; import { LayoutVote_DetailSemuaRiwayat } from "@/app_modules/vote"; import React from "react"; @@ -12,9 +11,7 @@ export default async function Layout({ }) { const votingId = params.id; const userLoginId = await funGetUserIdByToken(); - - if (!userLoginId) return ; - + return ( <> Require Token Storage; - const userLoginId = await funGetUserIdByToken(); + if (!token) return <>Require Token Storage; + // const userLoginId = await funGetUserIdByToken(); + // const WIBU_REALTIME_TOKEN = process.env.NEXT_PUBLIC_WIBU_REALTIME_TOKEN; + // console.log(WIBU_REALTIME_TOKEN, "WIBU_REALTIME_TOKEN"); - + return ( - {/* - */} - + {/* */} + + {/* */} {children} ); diff --git a/src/app/lib/realtime_provider.tsx b/src/app/lib/realtime_provider.tsx index c6b30066..6902805a 100644 --- a/src/app/lib/realtime_provider.tsx +++ b/src/app/lib/realtime_provider.tsx @@ -16,6 +16,10 @@ import { IRealtimeData, } from "./global_state"; +// const WIBU_REALTIME_TOKEN: string | undefined = +// process.env.NEXT_PUBLIC_WIBU_REALTIME_TOKEN; + +// Pasang tipe data di package WibuRealtime sebagai type adata setData export type TypeNotification = { type: "message" | "notification" | "trigger"; pushNotificationTo: "ADMIN" | "USER"; @@ -23,12 +27,12 @@ export type TypeNotification = { userLoginId?: string; }; -const WIBU_REALTIME_TOKEN: string | undefined = - process.env.NEXT_PUBLIC_WIBU_REALTIME_TOKEN; export default function RealtimeProvider({ userLoginId, + WIBU_REALTIME_TOKEN, }: { userLoginId: string; + WIBU_REALTIME_TOKEN: string; }) { const [dataRealtime, setDataRealtime] = useAtom(gs_realtimeData); const [newAdminNtf, setNewAdminNtf] = useAtom(gs_admin_ntf); @@ -58,9 +62,11 @@ export default function RealtimeProvider({ ); useShallowEffect(() => { - if (WIBU_REALTIME_TOKEN === undefined) return alert("gak dapet key"); + // if (WIBU_REALTIME_TOKEN === undefined) return alert("gak dapet key"); try { WibuRealtime.init({ + project: "hipmi", + WIBU_REALTIME_TOKEN: WIBU_REALTIME_TOKEN, onData(data: TypeNotification) { if ( data.type == "notification" && @@ -154,12 +160,9 @@ export default function RealtimeProvider({ } // ---------------------- VOTING ------------------------- // }, - - project: "hipmi", - WIBU_REALTIME_TOKEN: WIBU_REALTIME_TOKEN, }); } catch (error) { - alert("error realtime"); + console.log(error); } }, []); diff --git a/src/app/lib/server_env.ts b/src/app/lib/server_env.ts index 57b5294c..f018dbdf 100644 --- a/src/app/lib/server_env.ts +++ b/src/app/lib/server_env.ts @@ -5,6 +5,7 @@ type ENV = { Server_KEY: string; MAPBOX_TOKEN: string; WS_APIKEY: string; + NEXT_PUBLIC_WIBU_REALTIME_TOKEN: string; }; export class ServerEnv { static value: ENV | null = null; diff --git a/src/app/page.tsx b/src/app/page.tsx index 4f39ec07..4d6ffb92 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,5 +1,24 @@ +import { funCheckCookies } from "@/app_modules/_global/fun/get/fun_check_cookies"; import PageSplash from "./dev/auth/splash/page"; +import { redirect } from "next/navigation"; +import { Login, SplashScreen } from "@/app_modules/auth"; +import { RouterAuth } from "./lib/router_hipmi/router_auth"; +import versionUpdate from "../../package.json"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { funGlobal_getUserById } from "@/app_modules/_global/fun/get/fun_get_user_by_id"; +import { RouterHome } from "./lib/router_hipmi/router_home"; +import { RouterAdminDashboard } from "./lib/router_hipmi/router_admin"; export default async function Page() { - return + const version = versionUpdate.version; + + const checkCookies = await funCheckCookies(); + // console.log(checkCookies, "ini check cookies di page awal"); + if (checkCookies) return redirect("/dev/check-cookies"); + return redirect("/login"); + // const WIBU_REALTIME_TOKEN = process.env.NEXT_PUBLIC_WIBU_REALTIME_TOKEN; + + // return ; + // return ; + return ; } diff --git a/src/app_modules/_global/fun/get/fun_check_cookies.ts b/src/app_modules/_global/fun/get/fun_check_cookies.ts new file mode 100644 index 00000000..e1ac9caa --- /dev/null +++ b/src/app_modules/_global/fun/get/fun_check_cookies.ts @@ -0,0 +1,28 @@ +"use server"; + +import { ServerEnv } from "@/app/lib/server_env"; +import { unsealData } from "iron-session"; +import _ from "lodash"; +import { cookies } from "next/headers"; + +export async function funCheckCookies() { + const c = cookies().get("mySession"); + + if (!c || !c?.value || _.isEmpty(c?.value) || _.isUndefined(c?.value)) { + // console.log("return pertama"); + return false; + } + + const token = JSON.parse( + await unsealData(c?.value as string, { + password: ServerEnv.value?.WIBU_PWD as string, + }) + ); + + if (_.isEmpty(token)) { + // console.log("return kedua"); + return false; + } + + return true; +} diff --git a/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts b/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts index bafe6a06..ef78cbbb 100644 --- a/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts +++ b/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts @@ -1,17 +1,26 @@ "use server"; -import prisma from "@/app/lib/prisma"; +import { ServerEnv } from "@/app/lib/server_env"; +import { unsealData } from "iron-session"; import { cookies } from "next/headers"; export async function funGetUserIdByToken() { - const c = cookies().get("mySession"); - const token = c?.value - const cekToken = await prisma.userSession.findFirst({ - where: { - token: token, - }, - }); + const c = cookies().get("mySession"); - if (cekToken === null) return null - return cekToken.userId; + const token = JSON.parse( + await unsealData(c?.value as string, { + password: process.env.WIBU_PWD as string, + }) + ); + + return token.id; + // const token = c?.value + // const cekToken = await prisma.userSession.findFirst({ + // where: { + // token: token, + // }, + // }); + + // if (cekToken === null) return null + // return cekToken.userId; } diff --git a/src/app_modules/_global/fun/upload/fun_upload_to_storage.ts b/src/app_modules/_global/fun/upload/fun_upload_to_storage.ts index 9ef9155c..30bc8a51 100644 --- a/src/app_modules/_global/fun/upload/fun_upload_to_storage.ts +++ b/src/app_modules/_global/fun/upload/fun_upload_to_storage.ts @@ -1,4 +1,6 @@ +import { ServerEnv } from "@/app/lib/server_env"; import { TokenStorage } from "@/app/lib/token"; +import { envs } from "@/lib/envs"; export async function funGlobal_UploadToStorage({ file, @@ -7,7 +9,7 @@ export async function funGlobal_UploadToStorage({ file: File; dirId: string; }) { - if (!file) console.log("Tidak ada file"); + const Env_WS_APIKEY = TokenStorage.value; const allowedMimeTypes = [ "image/png", @@ -35,7 +37,7 @@ export async function funGlobal_UploadToStorage({ method: "POST", body: formData, headers: { - Authorization: `Bearer ${TokenStorage.value}`, + Authorization: `Bearer ${Env_WS_APIKEY}`, }, }); @@ -52,4 +54,6 @@ export async function funGlobal_UploadToStorage({ console.error("Error:", error); return { success: false, data: {} }; } + + return { success: false, data: { id: "" } }; } diff --git a/src/app_modules/admin/main_dashboard/main/view.tsx b/src/app_modules/admin/main_dashboard/main/view.tsx index e4d27390..9b6bbe2c 100644 --- a/src/app_modules/admin/main_dashboard/main/view.tsx +++ b/src/app_modules/admin/main_dashboard/main/view.tsx @@ -1,17 +1,14 @@ "use client"; -import { - Divider, - Grid, - Group, - Paper, - Stack, - Text, - Title -} from "@mantine/core"; +import { Divider, Grid, Group, Paper, Stack, Text, Title } from "@mantine/core"; - -export default function AdminMain({countUser, countPorto}: {countUser: number, countPorto: number} ) { +export default function AdminMain({ + countUser, + countPorto, +}: { + countUser: number; + countPorto: number; +}) { const listBox = [ { id: 1, @@ -34,21 +31,11 @@ export default function AdminMain({countUser, countPorto}: {countUser: number, c Main Dashboard - {/* - Cooming Soon !! - */} {listBox.map((e) => ( - + {e.name} @@ -67,41 +54,3 @@ export default function AdminMain({countUser, countPorto}: {countUser: number, c ); } - -// const PieChart = () => { -// const option: echarts.EChartsOption = { -// title: {}, -// tooltip: { -// trigger: "item", -// }, -// legend: { -// top: "bottom", -// }, -// series: [ -// { -// name: "Anggota Partai", -// type: "pie", -// bottom: "40", -// data: [ -// { value: 10, name: "Laki-Laki" }, -// { value: 20, name: "Perempuan" }, -// ], -// }, -// ], -// }; - -// return ( -// <> -// -// -// Jenis Kelamin -// -// -// -// -// ); -// }; diff --git a/src/app_modules/auth/login/view.tsx b/src/app_modules/auth/login/view.tsx index cb2bdc48..294980ca 100644 --- a/src/app_modules/auth/login/view.tsx +++ b/src/app_modules/auth/login/view.tsx @@ -32,7 +32,8 @@ export default function Login({ version }: { version: string }) { if (res.status === 200) { setLoading(true); ComponentGlobal_NotifikasiBerhasil(res.message, 2000); - router.push(RouterAuth.validasi + res.kodeId, { scroll: false }); + // router.push(RouterAuth.validasi + res.kodeId, { scroll: false }); + router.push("/validasi/" + res.kodeId, { scroll: false }); } else { ComponentGlobal_NotifikasiPeringatan(res.message); } diff --git a/src/app_modules/auth/logout/view.tsx b/src/app_modules/auth/logout/view.tsx index 55306a39..f6a7900b 100644 --- a/src/app_modules/auth/logout/view.tsx +++ b/src/app_modules/auth/logout/view.tsx @@ -20,7 +20,7 @@ export default function Component_Logout() { const res = await auth_Logout(); if (res.status === 200) { ComponentGlobal_NotifikasiBerhasil(res.message); - router.push(RouterAuth.login, { scroll: false }); + router.push("/login", { scroll: false }); } else { ComponentGlobal_NotifikasiPeringatan(res.message); } diff --git a/src/app_modules/auth/splash/view.tsx b/src/app_modules/auth/splash/view.tsx index 5dc3ed88..9a5d888a 100644 --- a/src/app_modules/auth/splash/view.tsx +++ b/src/app_modules/auth/splash/view.tsx @@ -1,26 +1,56 @@ "use client"; +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 { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { funGlobal_getUserById } from "@/app_modules/_global/fun/get/fun_get_user_by_id"; +import { MODEL_USER } from "@/app_modules/home/model/interface"; import { Avatar, BackgroundImage, Center, Image, Stack } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { useRouter } from "next/navigation"; -export default function SplashScreen({ userLoginId }: { userLoginId: any }) { +export default function SplashScreen({ + checkCookies, +}: { + checkCookies: boolean; +}) { const router = useRouter(); useShallowEffect(() => { - if (!userLoginId) { - setTimeout(() => { - return router.push(RouterAuth.login, { scroll: false }); - }, 1000); - } else { - setTimeout(() => { - return router.push(RouterHome.main_home, { scroll: false }); - }, 1000); - } + // if (!checkCookies) return router.push(RouterAuth.login, { scroll: false }); + // onCheckUser(); + + // setTimeout(() => { + // router.push(RouterAuth.login, { scroll: false }); + // }, 1000); + // if (!userLoginId) { + // setTimeout(() => { + // router.push(RouterAuth.login, { scroll: false }); + // }, 1000); + // } else { + // dataUser.masterUserRoleId === "1" + // ? setTimeout(() => { + // return router.push(RouterHome.main_home, { scroll: false }); + // }, 1000) + // : setTimeout(() => { + // return router.push(RouterAdminDashboard.splash_admin, { + // scroll: false, + // }); + // }, 1000); + // } }, []); + // async function onCheckUser() { + // const userLoginId = await funGetUserIdByToken(); + // const dataUser = await funGlobal_getUserById({ userId: userLoginId }); + + // if (dataUser?.masterUserRoleId == "1") + // return router.push(RouterHome.main_home); + + // return router.push(RouterAdminDashboard.splash_admin); + // } + return ( <> { - onCheckCookies(); - }, []); + // useShallowEffect(() => { + // onCheckCookies(); + // }, []); - async function onCheckCookies() { - const cek = await fetch("/api/check-cookies"); + // async function onCheckCookies() { + // const cek = await fetch("/api/check-cookies"); - const result = await cek.json(); + // const result = await cek.json(); - if (result.success === false) { - router.push(RouterAuth.login, { scroll: false }); - } - } + // if (result.success === false) { + // router.push(RouterAuth.login, { scroll: false }); + // } + // } + + // if (dataUser.masterUserRoleId === "1") { + // router.push(RouterHome.main_home, { scroll: false }); + // } + + // if (dataUser.masterUserRoleId !== "1") { + // router.push(RouterAdminDashboard.splash_admin, { scroll: false }); + // } return children; } diff --git a/src/app_modules/donasi/create/create_cerita_penggalang.tsx b/src/app_modules/donasi/create/create_cerita_penggalang.tsx index c9099cfc..9724a730 100644 --- a/src/app_modules/donasi/create/create_cerita_penggalang.tsx +++ b/src/app_modules/donasi/create/create_cerita_penggalang.tsx @@ -31,6 +31,8 @@ import { useState } from "react"; import { Donasi_funCreate } from "../fun/create/fun_create_donasi"; import { gs_donasi_hot_menu, gs_donasi_tabs_posting } from "../global_state"; import { MODEL_DONASI_TEMPORARY } from "../model/interface"; +import { IRealtimeData } from "@/app/lib/global_state"; +import { WibuRealtime } from "wibu-pkg"; export default function CreateCeritaPenggalangDonasi({ dataTemporary, @@ -90,7 +92,16 @@ export default function CreateCeritaPenggalangDonasi({ }); if (res.status === 201) { - const dataNotif: any = { + // const dataNotif: any = { + // 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: "Donasi baru", + // }; + + const dataNotifikasi: IRealtimeData = { appId: res.data?.id as any, status: res.data?.DonasiMaster_Status?.name as any, userId: res.data?.authorId as any, @@ -100,16 +111,25 @@ export default function CreateCeritaPenggalangDonasi({ }; 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, - }) - ); + // mqtt_client.publish( + // "ADMIN", + // JSON.stringify({ + // count: 1, + // }) + // ); + + WibuRealtime.setData({ + type: "notification", + pushNotificationTo: "ADMIN", + }); + + + + setDonasiHotMenu(1); ComponentGlobal_NotifikasiBerhasil(res.message); router.push(RouterDonasi.status_galang_dana({ id: "2" }), { diff --git a/src/app_modules/fun_global/get_user_token.ts b/src/app_modules/fun_global/get_user_token.ts index 1ec2a5db..1eb9689a 100644 --- a/src/app_modules/fun_global/get_user_token.ts +++ b/src/app_modules/fun_global/get_user_token.ts @@ -5,14 +5,14 @@ import { ServerEnv } from "@/app/lib/server_env"; import { unsealData } from "iron-session"; import _ from "lodash"; import { cookies } from "next/headers"; -import { redirect } from "next/navigation"; + export async function user_funGetOneUserId(): Promise { try { const kukis = cookies(); const c = kukis.get("mySession"); - if (!c || !c?.value || _.isEmpty(c?.value) || _.isUndefined(c?.value)) - return redirect(RouterAuth.login); + // if (!c || !c?.value || _.isEmpty(c?.value) || _.isUndefined(c?.value)) + // return re-di-re-ct(RouterAuth.login); const token = JSON.parse( await unsealData(c?.value as string, { diff --git a/src/app_modules/home/view_home.tsx b/src/app_modules/home/view_home.tsx index b291c2ff..01d0052d 100644 --- a/src/app_modules/home/view_home.tsx +++ b/src/app_modules/home/view_home.tsx @@ -49,6 +49,8 @@ export default function HomeView({ onLoad(loadNotif); } + // console.log(dataUser, "dipage") + return ( <>