diff --git a/apps/control/src/app/main-view.component.ts b/apps/control/src/app/main-view.component.ts index 4c4407e5f87..5ed40eccc4f 100644 --- a/apps/control/src/app/main-view.component.ts +++ b/apps/control/src/app/main-view.component.ts @@ -28,7 +28,6 @@ import { NextMeetingComponent } from './ui/next-meeting.component'; name="splash" class="absolute inset-0 flex flex-col items-center justify-center text-white" (click)="powerOn()" - (touchend)="powerOn()" >
+ {{ + 'APP.CONTROL.CAMERA_SELECT_MSG' | translate + }} +
+{{ 'APP.CONTROL.CAMERA_SELECT_MSG' | translate }}
-{{ @@ -267,6 +266,7 @@ export class CameraTooltipComponent { } constructor() { + inject(DestroyRef).onDestroy(() => this.stopZoom()); effect(() => { const l = this.camera_list(); const cam = this._selected_camera(); @@ -312,7 +312,8 @@ export class CameraTooltipComponent { this._move_timeout = setTimeout(async () => { const { index } = camera; const mod = getModule(this.id, camera.mod); - if (!mod) return; + // Stop first so an axis that returned to Stop does not keep moving + await mod.execute('stop', index ? [index] : []); if (this.tilt !== JoystickTilt.Stop) { await mod.execute( 'tilt', @@ -325,16 +326,12 @@ export class CameraTooltipComponent { index ? [this.pan, index] : [this.pan], ); } - if ( - this.tilt === JoystickTilt.Stop && - this.pan === JoystickPan.Stop - ) { - await mod.execute('stop', index ? [index] : []); - } }, 50); } - public async startZoom(dir: 'in' | 'out', e: MouseEvent | TouchEvent) { + /** Start zooming. Pointer capture makes sure the button receives the release. */ + public async startZoom(dir: 'in' | 'out', e: PointerEvent) { + (e.currentTarget as Element | null)?.setPointerCapture?.(e.pointerId); const camera = this.active_camera(); if (!camera?.mod) return; const mod = getModule(this.id, camera.mod); diff --git a/apps/control/src/app/ui/help-modal.component.ts b/apps/control/src/app/ui/help-modal.component.ts index 48991ba6c9c..4e337865526 100644 --- a/apps/control/src/app/ui/help-modal.component.ts +++ b/apps/control/src/app/ui/help-modal.component.ts @@ -8,7 +8,6 @@ import { OrganisationService, SettingsService } from '@placeos/common'; import { AuthenticatedImageDirective, IconComponent, - SafePipe, } from '@placeos/components'; import { marked } from 'marked'; @@ -74,7 +73,7 @@ import { marked } from 'marked';