From 047c3eea690180bc67a0c27ba3846fde968788a2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 25 Jul 2024 19:27:42 +0300 Subject: [PATCH] client-ts: Port services/app/components/zoom --- src/public/app/components/{zoom.js => zoom.ts} | 16 +++++++++------- src/public/app/services/options.ts | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) rename src/public/app/components/{zoom.js => zoom.ts} (75%) diff --git a/src/public/app/components/zoom.js b/src/public/app/components/zoom.ts similarity index 75% rename from src/public/app/components/zoom.js rename to src/public/app/components/zoom.ts index 4a0816aae..9c1448f20 100644 --- a/src/public/app/components/zoom.js +++ b/src/public/app/components/zoom.ts @@ -11,7 +11,10 @@ class ZoomComponent extends Component { if (utils.isElectron()) { options.initializedPromise.then(() => { - this.setZoomFactor(options.getFloat('zoomFactor')); + const zoomFactor = options.getFloat('zoomFactor'); + if (zoomFactor) { + this.setZoomFactor(zoomFactor); + } }); window.addEventListener("wheel", event => { @@ -22,14 +25,13 @@ class ZoomComponent extends Component { } } - setZoomFactor(zoomFactor) { - zoomFactor = parseFloat(zoomFactor); - + setZoomFactor(zoomFactor: string | number) { + const parsedZoomFactor = (typeof zoomFactor !== "number" ? parseFloat(zoomFactor) : zoomFactor); const webFrame = utils.dynamicRequire('electron').webFrame; - webFrame.setZoomFactor(zoomFactor); + webFrame.setZoomFactor(parsedZoomFactor); } - async setZoomFactorAndSave(zoomFactor) { + async setZoomFactorAndSave(zoomFactor: number) { if (zoomFactor >= MIN_ZOOM && zoomFactor <= MAX_ZOOM) { zoomFactor = Math.round(zoomFactor * 10) / 10; @@ -57,7 +59,7 @@ class ZoomComponent extends Component { this.setZoomFactorAndSave(1); } - setZoomFactorAndSaveEvent({zoomFactor}) { + setZoomFactorAndSaveEvent({ zoomFactor }: { zoomFactor: number }) { this.setZoomFactorAndSave(zoomFactor); } } diff --git a/src/public/app/services/options.ts b/src/public/app/services/options.ts index 464011b9a..4f7e15f79 100644 --- a/src/public/app/services/options.ts +++ b/src/public/app/services/options.ts @@ -1,10 +1,10 @@ import server from "./server.js"; -type OptionValue = string; +type OptionValue = string | number; class Options { - private initializedPromise: Promise; + initializedPromise: Promise; private arr!: Record; constructor() {