UNPKG

@100mslive/roomkit-react

Version:

![Banner](https://github.com/100mslive/web-sdks/blob/06c65259912db6ccd8617f2ecb6fef51429251ec/prebuilt-banner.png)

34 lines (29 loc) 1.13 kB
import { useCallback } from 'react'; import { selectAppData, useHMSActions, useHMSStore, useHMSVanillaStore } from '@100mslive/react-sdk'; import { APP_DATA } from '../../common/constants'; export const useIsSheetTypeOpen = (sheetType: string) => { if (!sheetType) { throw Error('Pass one of the sheet options'); } return useHMSStore(selectAppData(APP_DATA.sheet)) === sheetType; }; export const useSheetState = () => { const sheet = useHMSStore(selectAppData(APP_DATA.sheet)); return sheet; }; export const useSheetToggle = (sheetType: string) => { const hmsActions = useHMSActions(); const vanillaStore = useHMSVanillaStore(); const toggleSheet = useCallback(() => { const isOpen = vanillaStore.getState(selectAppData(APP_DATA.sheet)) === sheetType; hmsActions.setAppData(APP_DATA.sheet, !isOpen ? sheetType : ''); }, [vanillaStore, hmsActions, sheetType]); return toggleSheet; }; export const useSheetReset = () => { const hmsActions = useHMSActions(); const resetSheet = useCallback(() => { hmsActions.setAppData(APP_DATA.sheet, ''); }, [hmsActions]); return resetSheet; };