From 66126b16a15c1f6c349b1fa6a64e9ee1ea815dd4 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Tue, 25 Feb 2025 18:45:38 +0530 Subject: [PATCH] some quality patches --- src/components/palette/index.js | 43 +++++++++------------------------ src/pages/plugin/plugin.view.js | 11 +++++++-- 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/src/components/palette/index.js b/src/components/palette/index.js index 8a6003b9..09f1dd74 100644 --- a/src/components/palette/index.js +++ b/src/components/palette/index.js @@ -45,18 +45,9 @@ This shows that using keyboardHideStart event is faster than not using it. * @param {()=>string} onsSelectCb Callback to call when a hint is selected * @param {string} placeholder Placeholder for input * @param {function} onremove Callback to call when palette is removed - * @param {function} onHighlight Callback to call when hint is highlighted * @returns {void} */ -export default function palette( - getList, - onsSelectCb, - placeholder, - onremove, - onHighlight, -) { - let isRemoving = false; - +export default function palette(getList, onsSelectCb, placeholder, onremove) { /**@type {HTMLInputElement} */ const $input = ( {$input}; // Create a palette with input and hints - inputhints($input, generateHints, onSelect, onHighlight); + inputhints($input, generateHints, onSelect); // Removes the darkened color from status bar and navigation bar restoreTheme(true); // Remove palette when input is blurred - $input.addEventListener("blur", handleBlur); + $input.addEventListener("blur", remove); // Don't wait for input to blur when keyboard hides, remove is // as soon as keyboard starts to hide - keyboardHandler.on("keyboardHideStart", handleKeyboardHide); + keyboardHandler.on("keyboardHideStart", remove); // Add to DOM app.append($palette, $mask); @@ -100,25 +91,12 @@ export default function palette( * @param {string} value */ function onSelect(value) { - isRemoving = true; remove(); setTimeout(() => { onsSelectCb(value); }, 0); } - function handleBlur() { - if (!isRemoving) { - remove(); - } - } - - function handleKeyboardHide() { - if (!isRemoving) { - remove(); - } - } - /** * Keydown event handler for input * @param {KeyboardEvent} e @@ -143,12 +121,9 @@ export default function palette( * Removes the palette */ function remove() { - if (isRemoving) return; - isRemoving = true; - actionStack.remove("palette"); - keyboardHandler.off("keyboardHideStart", handleKeyboardHide); - $input.removeEventListener("blur", handleBlur); + keyboardHandler.off("keyboardHideStart", remove); + $input.removeEventListener("blur", remove); restoreTheme(); $palette.remove(); @@ -160,8 +135,12 @@ export default function palette( } const { activeFile, editor } = editorManager; - if (activeFile?.wasFocused) { + if (activeFile.wasFocused) { editor.focus(); } + + remove = () => { + window.log("warn", "Palette already removed."); + }; } } diff --git a/src/pages/plugin/plugin.view.js b/src/pages/plugin/plugin.view.js index bc6684b9..c51592f5 100644 --- a/src/pages/plugin/plugin.view.js +++ b/src/pages/plugin/plugin.view.js @@ -18,9 +18,9 @@ export default (props) => { author, downloads, license, - keywords, - contributors, changelogs, + keywords: keywordsRaw, + contributors: contributorsRaw, votes_up: votesUp, votes_down: votesDown, author_verified: authorVerified, @@ -30,6 +30,13 @@ export default (props) => { let rating = "unrated"; + const keywords = + typeof keywordsRaw === "string" ? JSON.parse(keywordsRaw) : keywordsRaw; + const contributors = + typeof contributorsRaw === "string" + ? JSON.parse(contributorsRaw) + : contributorsRaw; + if (votesUp || votesDown) { rating = `${Math.round((votesUp / (votesUp + votesDown)) * 100)}%`; }