import { useResponsiveLayout } from 'hooks/responsive-layout'; import { Dispatch, SetStateAction, useEffect, useState } from 'react'; export const useSettings = (): ResponsiveLayoutProps => { const { isDesktop } = useResponsiveLayout(); const [isSideBarOpen, setIsSideBarOpen] = useState(false); const [isSideBarCollapsed, setIsSideBarCollapsed] = useState(false); const [isRoomSideBarCollapsed, setIsRoomSideBarCollapsed] = useState(false); const [isChatPopUpOpen, setIsChatPopUpOpen] = useState(false); const [isOnCall, setIsOnCall] = useState(false); const [isOnCallPopUp, setIsOnCallPopUp] = useState(false); useEffect(() => { if (!isDesktop && isSideBarCollapsed) { setIsSideBarCollapsed(false); } }, [isDesktop, isSideBarCollapsed]); return { isSideBarOpen, isSideBarCollapsed, isRoomSideBarCollapsed, isChatPopUpOpen, isOnCall, isOnCallPopUp, setIsSideBarOpen, setIsSideBarCollapsed, setIsRoomSideBarCollapsed, setIsChatPopUpOpen, setIsOnCall, setIsOnCallPopUp, }; }; interface ResponsiveLayoutProps { isSideBarOpen: boolean; isSideBarCollapsed: boolean; isRoomSideBarCollapsed: boolean; isChatPopUpOpen: boolean; isOnCall: boolean; isOnCallPopUp: boolean; setIsSideBarOpen: Dispatch>; setIsSideBarCollapsed: Dispatch>; setIsRoomSideBarCollapsed: Dispatch>; setIsChatPopUpOpen: Dispatch>; setIsOnCall: Dispatch>; setIsOnCallPopUp: Dispatch>; }