diff --git a/src/ext/module/uwui/ClientMenu.ts b/src/ext/module/uwui/ClientMenu.ts index eebc3fe..53aa171 100644 --- a/src/ext/module/uwui/ClientMenu.ts +++ b/src/ext/module/uwui/ClientMenu.ts @@ -15,6 +15,8 @@ export class ClientMenu { private trigger: HTMLDivElement; private visible = false; + private hiddenClass = 'uw-hidden'; + private menuPositionClasses: string[] = []; @@ -314,12 +316,13 @@ export class ClientMenu { this.onDocumentMouseMove = (e: MouseEvent) => { this.lastMouseMove = performance.now(); - if (activationRadius != null) { + if (activationRadius) { if (! menuActivatorRect.width) { recalculateActivator(); } - const d = Math.hypot(e.clientX - cx, e.clientY - cy); + + console.log('activator radius:', activationRadius, 'mouse distance:', d); this.isWithinActivation = d <= activationRadius; } else { @@ -384,16 +387,26 @@ export class ClientMenu { } if (options?.forceShow !== undefined) { + if (!this.forceShow && options.forceShow) { + this.root.classList.add('uw-force-visible'); + } + if (this.forceShow && !options.forceShow) { + this.root.classList.remove('uw-force-visible'); + } this.forceShow = options.forceShow; + } } hide(options?: {forceShow?: boolean}) { if (options?.forceShow !== undefined) { - this.forceShow = options.forceShow; + if (this.forceShow !== options.forceShow) { + this.root.classList.remove('uw-force-visible'); + this.forceShow = options.forceShow; + } } - if (this.visible && !this.forceShow) { + if (this.visible) { this.visible = false; this.root.classList.remove('uw-visible'); this.root.classList.add('uw-hidden'); diff --git a/src/ui/components/segments/UISettings/UISettings.vue b/src/ui/components/segments/UISettings/UISettings.vue index 431d4a2..383a9f6 100644 --- a/src/ui/components/segments/UISettings/UISettings.vue +++ b/src/ui/components/segments/UISettings/UISettings.vue @@ -56,7 +56,7 @@ >