diff --git a/src/module/discussion/ui/detail_discussion.tsx b/src/module/discussion/ui/detail_discussion.tsx index 5fd2c2d..78e11a4 100644 --- a/src/module/discussion/ui/detail_discussion.tsx +++ b/src/module/discussion/ui/detail_discussion.tsx @@ -55,7 +55,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv }, [refresh.get()]) useShallowEffect(() => { - if (dataRealTime && dataRealTime.some((i: any) => i.category == 'discussion-comment' && i.id == id)) { + if (dataRealTime && dataRealTime.some((i: any) => i.category == 'discussion-detail' && i.id == id)) { getData(false) } }, [dataRealTime]) @@ -79,7 +79,7 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv if (response.success) { setIsComent("") setDataRealtime([{ - category: "discussion-comment", + category: "discussion-detail", id: id, }]) reloadData() diff --git a/src/module/discussion/ui/drawer_detail_discussion.tsx b/src/module/discussion/ui/drawer_detail_discussion.tsx index a4b5513..90859c6 100644 --- a/src/module/discussion/ui/drawer_detail_discussion.tsx +++ b/src/module/discussion/ui/drawer_detail_discussion.tsx @@ -1,14 +1,15 @@ -import { TEMA } from "@/module/_global"; +import { keyWibu, TEMA } from "@/module/_global"; import LayoutModal from "@/module/_global/layout/layout_modal"; -import { Box, Stack, SimpleGrid, Flex, Text } from "@mantine/core"; +import { useHookstate } from "@hookstate/core"; +import { Box, Flex, SimpleGrid, Stack, Text } from "@mantine/core"; +import { useParams, useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-hot-toast"; import { BsTrash3 } from "react-icons/bs"; import { FaCheck, FaPencil } from "react-icons/fa6"; import { MdClose } from "react-icons/md"; +import { useWibuRealtime } from "wibu-realtime"; import { funDeleteDiscussion, funEditStatusDiscussion } from "../lib/api_discussion"; -import { useParams, useRouter } from "next/navigation"; -import { useHookstate } from "@hookstate/core"; import { globalRefreshDiscussion } from "../lib/val_discussion"; export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivision }: { onSuccess: (val: boolean) => void, id: string, status: number, idDivision: string }) { @@ -18,6 +19,10 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi const param = useParams<{ id: string, detail: string }>() const refresh = useHookstate(globalRefreshDiscussion) const tema = useHookstate(TEMA) + const [dataRealTime, setDataRealtime] = useWibuRealtime({ + WIBU_REALTIME_TOKEN: keyWibu, + project: "sdm" + }) async function fetchStatusDiscussion(val: boolean) { @@ -28,6 +33,10 @@ export default function DrawerDetailDiscussion({ onSuccess, id, status, idDivisi if (response.success) { toast.success(response.message) refresh.set(!refresh.get()) + setDataRealtime([{ + category: "discussion-detail", + id: id, + }]) onSuccess(false) setValModalStatus(false) } else { diff --git a/src/module/discussion/ui/form_edit_discussion.tsx b/src/module/discussion/ui/form_edit_discussion.tsx index 66cf5d7..54dfe18 100644 --- a/src/module/discussion/ui/form_edit_discussion.tsx +++ b/src/module/discussion/ui/form_edit_discussion.tsx @@ -1,5 +1,5 @@ 'use client' -import { TEMA } from "@/module/_global" +import { keyWibu, TEMA } from "@/module/_global" import LayoutModal from "@/module/_global/layout/layout_modal" import { Box, Group, Avatar, Textarea, Button, Grid, rem, Skeleton } from "@mantine/core" import { useParams, useRouter } from "next/navigation" @@ -9,6 +9,7 @@ import { funEditDiscussion, funGetDiscussionById } from "../lib/api_discussion" import { useShallowEffect } from "@mantine/hooks" import { funGetProfileByCookies } from "@/module/user/profile/lib/api_profile" import { useHookstate } from "@hookstate/core" +import { useWibuRealtime } from "wibu-realtime" export default function FormEditDiscussion() { const [isValModal, setValModal] = useState(false) @@ -22,6 +23,10 @@ export default function FormEditDiscussion() { const [touched, setTouched] = useState({ desc: false, }); + const [dataRealTime, setDataRealtime] = useWibuRealtime({ + WIBU_REALTIME_TOKEN: keyWibu, + project: "sdm" + }) async function fetchGetOneDiscussion() { try { @@ -45,6 +50,10 @@ export default function FormEditDiscussion() { if (response.success) { toast.success(response.message) setValModal(false) + setDataRealtime([{ + category: "discussion-detail", + id: param.detail, + }]) router.push(`/division/${param.id}/discussion/${param.detail}`) } else { toast.error(response.message)