chore: rename discriminator -> guard
This commit is contained in:
parent
782ee01481
commit
ae2650226e
@ -24,7 +24,7 @@ export function KeyboardShortcuts() {
|
||||
if (!t) return null;
|
||||
|
||||
const on = async (event: KeyboardEvent) => {
|
||||
if (enable.discriminator(event)) {
|
||||
if (enable.guard(event)) {
|
||||
event.preventDefault();
|
||||
if (!isMicrophoneEnabled) {
|
||||
pttHeldRef.current = true;
|
||||
@ -34,7 +34,7 @@ export function KeyboardShortcuts() {
|
||||
};
|
||||
|
||||
const off = async (event: KeyboardEvent) => {
|
||||
if (disable.discriminator(event)) {
|
||||
if (disable.guard(event)) {
|
||||
event.preventDefault();
|
||||
if (pttHeldRef.current && isMicrophoneEnabled) {
|
||||
pttHeldRef.current = false;
|
||||
@ -55,7 +55,7 @@ export function KeyboardShortcuts() {
|
||||
if (!t) return null;
|
||||
|
||||
const handler = async (event: KeyboardEvent) => {
|
||||
if (binding.discriminator(event) && !pendingMicChange) {
|
||||
if (binding.guard(event) && !pendingMicChange) {
|
||||
event.preventDefault();
|
||||
toggleMic?.().catch(console.error);
|
||||
}
|
||||
@ -69,7 +69,7 @@ export function KeyboardShortcuts() {
|
||||
if (!t) return null;
|
||||
|
||||
const handler = async (event: KeyboardEvent) => {
|
||||
if (binding.discriminator(event) && !pendingCameraChange) {
|
||||
if (binding.guard(event) && !pendingCameraChange) {
|
||||
event.preventDefault();
|
||||
toggleCamera?.().catch(console.error);
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { type KeyBinding, KeyBindings, KeyCommand } from './types';
|
||||
|
||||
export function isControlElement(event: Event) {
|
||||
export function isInteractiveElement(event: Event) {
|
||||
return (
|
||||
event.target instanceof HTMLButtonElement ||
|
||||
event.target instanceof HTMLInputElement ||
|
||||
@ -23,44 +23,44 @@ export const commonKeyBindings: Record<
|
||||
spacebar: [
|
||||
{
|
||||
eventName: 'keydown',
|
||||
discriminator: (event) => {
|
||||
return event.code === 'Space' && !isControlElement(event);
|
||||
guard: (event) => {
|
||||
return event.code === 'Space' && !isInteractiveElement(event);
|
||||
},
|
||||
},
|
||||
{
|
||||
eventName: 'keyup',
|
||||
discriminator: (event) => event.code === 'Space',
|
||||
guard: (event) => event.code === 'Space',
|
||||
},
|
||||
],
|
||||
leftMouse: [
|
||||
{
|
||||
eventName: 'mousedown',
|
||||
discriminator: (event) => {
|
||||
return isMouseButton(0, event) && !isControlElement(event);
|
||||
guard: (event) => {
|
||||
return isMouseButton(0, event) && !isInteractiveElement(event);
|
||||
},
|
||||
},
|
||||
{
|
||||
eventName: 'mouseup',
|
||||
discriminator: (event) => isMouseButton(0, event),
|
||||
guard: (event) => isMouseButton(0, event),
|
||||
},
|
||||
],
|
||||
middleMouse: [
|
||||
{
|
||||
eventName: 'mousedown',
|
||||
discriminator: (event) => isMouseButton(1, event),
|
||||
guard: (event) => isMouseButton(1, event),
|
||||
},
|
||||
{
|
||||
eventName: 'mouseup',
|
||||
discriminator: (event) => isMouseButton(1, event),
|
||||
guard: (event) => isMouseButton(1, event),
|
||||
},
|
||||
],
|
||||
metaShiftA: {
|
||||
eventName: 'keydown',
|
||||
discriminator: (event) => event.key === 'A' && (event.ctrlKey || event.metaKey),
|
||||
guard: (event) => event.key === 'A' && (event.ctrlKey || event.metaKey),
|
||||
},
|
||||
metaShiftV: {
|
||||
eventName: 'keydown',
|
||||
discriminator: (event) => event.key === 'V' && (event.ctrlKey || event.metaKey),
|
||||
guard: (event) => event.key === 'V' && (event.ctrlKey || event.metaKey),
|
||||
},
|
||||
} as const;
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ export type ConnectionDetails = {
|
||||
|
||||
export type KeyBinding = {
|
||||
eventName: keyof GlobalEventHandlersEventMap;
|
||||
discriminator: (event: KeyboardEvent) => boolean;
|
||||
guard: (event: KeyboardEvent) => boolean;
|
||||
target?: Window | Document | HTMLElement | string;
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user