From 647a3d733224967a0f9a38f4ac8402311813d246 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Thu, 6 Oct 2022 03:55:57 +0800 Subject: [PATCH 1/5] fix: settings textarea zoom experience optimization --- src/page/Components/Settings.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/page/Components/Settings.svelte b/src/page/Components/Settings.svelte index 98f47dec..05f5ed9d 100644 --- a/src/page/Components/Settings.svelte +++ b/src/page/Components/Settings.svelte @@ -280,6 +280,7 @@ opacity: 0.75; padding: 0.5rem; width: 100%; + min-width: 100%; } textarea:focus { From 0391f1e0ac1fa8e1d2c8f71cf0ca5a082ffb326d Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Thu, 6 Oct 2022 06:47:37 +0800 Subject: [PATCH 2/5] feat: settings textarea add error indication --- src/page/Components/Settings.svelte | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/page/Components/Settings.svelte b/src/page/Components/Settings.svelte index 05f5ed9d..71217740 100644 --- a/src/page/Components/Settings.svelte +++ b/src/page/Components/Settings.svelte @@ -11,6 +11,8 @@ let blacklist; // indicates that a blacklist save has initiated let blacklistSaving = false; + // indicates that a blacklist value has error + let blacklist_error = false; // the saved blacklisted domain patterns $: blacklisted = $settings.blacklist.join(", "); @@ -19,6 +21,16 @@ // get the comma separated values from blacklist input const val = blacklist.value.split(",").map(item => item.trim()).filter(n => n); + // check if val matches `match patterns`, if not, return a warning + const re = /^(http:|https:|\*:)\/\/((?:\*\.)?(?:[a-z0-9-]+\.)+(?:[a-z0-9]+)|\*\.[a-z]+|\*|[a-z0-9]+)(\/[^\s]*)$/; + for (const v of val) { + if (re.exec(v) === null) { + blacklist_error = true; + return console.warn("Global blacklist has wrong pattern:", v); + } + } + blacklist_error = false; + // compare blacklist input to saved blacklist if ([...val].sort().toString() !== [...$settings.blacklist].sort().toString()) { settings.updateSingleSetting("blacklist", val); @@ -152,6 +164,7 @@ { #if blacklistSaving}{@html iconLoader}{/if}