diff --git a/src/app/(withAuth)/(dashboardLayout)/layout.js b/src/app/(withAuth)/(dashboardLayout)/layout.js index c6cc316..24dc923 100644 --- a/src/app/(withAuth)/(dashboardLayout)/layout.js +++ b/src/app/(withAuth)/(dashboardLayout)/layout.js @@ -1,16 +1,23 @@ +"use client"; import HeaderWithSidebar from "@/components/layouts/dashboard/headerWithSidebar"; import CallWidget from "@/components/widget/call"; import WithWidgetMiddleware from "@/core/middlewares/withWidget"; import { SocketProvider } from "@/lib/contexts/socket"; +import { usePermissions } from "@/lib/hooks/usePermissions"; import { Stack } from "@mui/material"; const Layout = ({ children }) => { + const { data: permissions } = usePermissions(); + const isCallWidgetEnabled = permissions?.some( + (permission) => permission === "manage_calls" + ); + return ( {children} - + diff --git a/src/components/widget/call/CallTabs/CallTabPanel/CallHistory/index.jsx b/src/components/widget/call/CallTabs/CallTabPanel/CallHistory/index.jsx index 77e7263..79834e1 100644 --- a/src/components/widget/call/CallTabs/CallTabPanel/CallHistory/index.jsx +++ b/src/components/widget/call/CallTabs/CallTabPanel/CallHistory/index.jsx @@ -33,7 +33,7 @@ const CallHistory = ({ tab }) => { ) : ( - + {historyList && ( { - const { socket, status } = useSocket(); - - useEffect(() => { - if (status == "connected") return; - - socket.connect(); - - return () => { - socket.disconnect(); - }; - }, [socket]); - return ( diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index 577f689..43a10e5 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -4,10 +4,10 @@ export const GET_USER_ROUTE = api + "/profile/info"; export const CHANGE_USER_PASSWORD = api + "/profile/change_password"; export const GET_USER_LOGIN_ROUTE = api + "/auth/login"; export const GET_USER_LOGOUT_ROUTE = api + "/auth/logout"; -export const GET_PERMISSIONS_ROUTE = ""; +export const GET_PERMISSIONS_ROUTE = api + "/profile/permissions"; export const GET_SIDEBAR_BADGE_ROUTE = ""; -export const GET_CATEGORY = api + "/categories"; +export const GET_CATEGORY = api + "/categories/list"; export const GET_CALLER_HISTORY = api + "/calls/list"; export const CALL_ACTION = api + "/calls"; diff --git a/src/lib/contexts/socket.js b/src/lib/contexts/socket.js index 15a4e31..dc043bf 100644 --- a/src/lib/contexts/socket.js +++ b/src/lib/contexts/socket.js @@ -92,6 +92,16 @@ export const SocketProvider = ({ children }) => { } }, [status]); + useEffect(() => { + if (status == "connected") return; + + socket.connect(); + + return () => { + socket.disconnect(); + }; + }, [socket]); + const contextValue = useMemo(() => ({ socket, status }), [socket, status]); return (