From 22a13e015230e7a207a6703c61aa8ad982da58b1 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 24 May 2025 13:56:36 +0100 Subject: [PATCH] Change file limit from slider to number --- .../src/views/settings/settings-tab.ts | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/frontend/obsidian-plugin/src/views/settings/settings-tab.ts b/frontend/obsidian-plugin/src/views/settings/settings-tab.ts index 31e9182..c413203 100644 --- a/frontend/obsidian-plugin/src/views/settings/settings-tab.ts +++ b/frontend/obsidian-plugin/src/views/settings/settings-tab.ts @@ -297,15 +297,28 @@ export class SyncSettingsTab extends PluginSettingTab { .setDesc( "Set the maximum file size that can be uploaded to the server. Files larger than this size will be ignored." ) - .addSlider((slider) => - slider - .setLimits(1, 64, 1) - .setDynamicTooltip() - .setInstant(false) - .setValue(this.syncClient.getSettings().maxFileSizeMB) - .onChange(async (value) => - this.syncClient.setSetting("maxFileSizeMB", value) + .addText((input) => + input + .setValue( + this.syncClient.getSettings().maxFileSizeMB.toString() ) + .onChange(async (value) => { + if (value === "") { + return; + } + let parsedValue = Number.parseFloat(value); + if (Number.isNaN(parsedValue) || parsedValue < 0) { + parsedValue = + this.syncClient.getSettings().maxFileSizeMB; + } + this.syncClient.setSetting( + "maxFileSizeMB", + parsedValue + ); + if (value !== parsedValue.toString()) { + input.setValue(parsedValue.toString()); + } + }) ); new Setting(containerEl)