From 7b6ccab2ee017a2e3975a73481a634c229ef077e Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 28 May 2022 18:54:30 -0500 Subject: [PATCH] recording keypress set up --- packages/desktop/src/components/Terminal.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/desktop/src/components/Terminal.tsx b/packages/desktop/src/components/Terminal.tsx index 77461e0..7a2d3e5 100644 --- a/packages/desktop/src/components/Terminal.tsx +++ b/packages/desktop/src/components/Terminal.tsx @@ -53,7 +53,7 @@ import { User } from '@nirvana/core/src/models/user.model'; import { onSnapshot } from 'firebase/firestore'; import NirvanaAvatar from './NirvanaAvatar'; -import { useDebounce, useKey } from 'react-use'; +import { useDebounce, useKey, useKeyPressEvent } from 'react-use'; import KeyboardShortcutLabel from './KeyboardShortcutLabel'; type ConversationMap = { @@ -216,7 +216,19 @@ export function TerminalProvider({ children }: { children?: React.ReactNode }) { const [searchUsersResults, setSearchUsersResults] = useState([]); const [searching, setSearching] = useState(false); - useKey('Shift', onSearchFocus); + useKeyPressEvent('Shift', onSearchFocus); + + // when user wants to talk, + // unmute them and send clip for everyone to hear in the distance + const handleBroadcast = useCallback(() => { + enqueueSnackbar('started recording'); + }, []); + + const handleStopBroadcast = useCallback(() => { + enqueueSnackbar('stopped...', { variant: 'info' }); + }, []); + + useKeyPressEvent('`', handleBroadcast, handleStopBroadcast); const [, cancel] = useDebounce( async () => {