import { useCallback } from 'react'; import { GestureResponderEvent } from 'react-native'; import { Fab } from 'components/fab'; import { Row, StyleSystemThemedProps } from 'components/layout'; import { CloseThick, Mic, SideBarClose, SideBarOpen, VideoCamera } from 'icons'; import { BackHeader } from 'components/back-header'; import { Visible } from 'components'; import { useResponsiveLayout, useSettings } from 'hooks'; import { useReactiveVar } from '@apollo/client'; import { isRoomsSideBarOpenVar } from 'state-management/settings'; import { RoomMember } from 'expo-schema'; import { User } from '../user'; export const Direct: React.FC = ({ participant, isOpen, isPopUp, onPress, ...props }) => { const { isChatPopUpOpen, setIsChatPopUpOpen, setIsSideBarCollapsed } = useSettings(); const { isMobile } = useResponsiveLayout(); const isRoomSideBarOpen = useReactiveVar(isRoomsSideBarOpenVar); const isSmall = isMobile || isPopUp; const backgroundColor = isPopUp ? 'base-01' : 'base'; const openCloseSideBar = useCallback(() => { return ( <> ); }, [isRoomSideBarOpen]); const toggleSideBar = useCallback(() => { if (isRoomSideBarOpen) { setIsSideBarCollapsed(true); } isRoomsSideBarOpenVar(!isRoomSideBarOpen); }, [isRoomSideBarOpen, setIsSideBarCollapsed]); const closePopUp = useCallback(() => { setIsChatPopUpOpen(false); }, [setIsChatPopUpOpen]); return ( } rightElement={ <> {}} variant="plain" sizeVariant="medium" colorVariant="transparent" hoverColorVariant="base-02-hover" centerElement={} /> {}} variant="plain" sizeVariant="medium" colorVariant="transparent" hoverColorVariant="base-02-hover" centerElement={} /> } /> } {...props} /> ); }; type DirectType = StyleSystemThemedProps & DirectProps; export interface DirectProps { isOpen: boolean; participant: RoomMember; isPopUp: boolean; onPress: ((event: GestureResponderEvent) => void) | undefined; }