Files
sistem-desa-mandiri/src/module/_global/components/wrap_layout.tsx
amel 3167b570a7 upd: real time
Deskripsi:
- persiapan real time
- baru coba di pengumuman tapi blm sukses

No Issues
2024-09-18 16:11:52 +08:00

45 lines
1.3 KiB
TypeScript

'use client'
import { useHookstate } from "@hookstate/core";
import { globalNotifPage, globalRole, TEMA } from "../bin/val_global";
import { useShallowEffect } from "@mantine/hooks";
import { useEffect } from "react";
import mtqq_client from "../bin/mqtt_client";
export default function WrapLayout({ children, role, theme, user }: { children: React.ReactNode, role: any, theme: any, user: any }) {
const roleLogin = useHookstate(globalRole)
const tema = useHookstate(TEMA)
const notifLoadPage = useHookstate(globalNotifPage)
useEffect(() => {
roleLogin.set(role)
tema.set(theme)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [role, theme])
useEffect(() => {
mtqq_client.on("connect", () => {
console.log('connect layout')
mtqq_client.subscribe("app_SDM")
})
mtqq_client.on("message", (topic, message) => {
const data = JSON.parse(message.toString())
console.log('notif mtqq',data)
// console.log('notif mtqq==',data)
// if (data.user == user) {
// notifLoadPage.set({
// load: !notifLoadPage.get(),
// category: data.category
// })
// }
})
})
return (
<>
{children}
</>
);
}