Use a ref for spacebarHeld
because we can and it means fewer renders
This commit is contained in:
parent
30a224e20e
commit
18fa1371d3
1 changed files with 8 additions and 9 deletions
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useCallback, useState } from "react";
|
import { useCallback, useRef } from "react";
|
||||||
|
|
||||||
import { getSetting } from "./settings/useSetting";
|
import { getSetting } from "./settings/useSetting";
|
||||||
import { useEventTarget } from "./useEvents";
|
import { useEventTarget } from "./useEvents";
|
||||||
|
@ -25,7 +25,7 @@ export function useCallViewKeyboardShortcuts(
|
||||||
toggleLocalVideoMuted: () => void,
|
toggleLocalVideoMuted: () => void,
|
||||||
setMicrophoneMuted: (muted: boolean) => void
|
setMicrophoneMuted: (muted: boolean) => void
|
||||||
) {
|
) {
|
||||||
const [spacebarHeld, setSpacebarHeld] = useState(false);
|
const spacebarHeld = useRef(false);
|
||||||
|
|
||||||
useEventTarget(
|
useEventTarget(
|
||||||
window,
|
window,
|
||||||
|
@ -43,8 +43,8 @@ export function useCallViewKeyboardShortcuts(
|
||||||
toggleMicrophoneMuted();
|
toggleMicrophoneMuted();
|
||||||
} else if (event.key == "v") {
|
} else if (event.key == "v") {
|
||||||
toggleLocalVideoMuted();
|
toggleLocalVideoMuted();
|
||||||
} else if (event.key === " " && !spacebarHeld) {
|
} else if (event.key === " " && !spacebarHeld.current) {
|
||||||
setSpacebarHeld(true);
|
spacebarHeld.current = true;
|
||||||
setMicrophoneMuted(false);
|
setMicrophoneMuted(false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -54,7 +54,6 @@ export function useCallViewKeyboardShortcuts(
|
||||||
toggleLocalVideoMuted,
|
toggleLocalVideoMuted,
|
||||||
toggleMicrophoneMuted,
|
toggleMicrophoneMuted,
|
||||||
setMicrophoneMuted,
|
setMicrophoneMuted,
|
||||||
setSpacebarHeld,
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -72,11 +71,11 @@ export function useCallViewKeyboardShortcuts(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.key === " ") {
|
if (event.key === " ") {
|
||||||
setSpacebarHeld(false);
|
spacebarHeld.current = false;
|
||||||
setMicrophoneMuted(true);
|
setMicrophoneMuted(true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[enabled, setMicrophoneMuted, setSpacebarHeld]
|
[enabled, setMicrophoneMuted]
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -85,9 +84,9 @@ export function useCallViewKeyboardShortcuts(
|
||||||
"blur",
|
"blur",
|
||||||
useCallback(() => {
|
useCallback(() => {
|
||||||
if (spacebarHeld) {
|
if (spacebarHeld) {
|
||||||
setSpacebarHeld(false);
|
spacebarHeld.current = false;
|
||||||
setMicrophoneMuted(true);
|
setMicrophoneMuted(true);
|
||||||
}
|
}
|
||||||
}, [setMicrophoneMuted, setSpacebarHeld, spacebarHeld])
|
}, [setMicrophoneMuted, spacebarHeld])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue