From cc38978bd3cb4b0061f8a7951d1f3c3e7acebb39 Mon Sep 17 00:00:00 2001 From: JellyBrick Date: Tue, 28 Nov 2023 00:51:16 +0900 Subject: [PATCH] feat: label sort --- src/menu.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/menu.ts b/src/menu.ts index 69338d8c..26ad7192 100644 --- a/src/menu.ts +++ b/src/menu.ts @@ -84,14 +84,21 @@ export const mainMenuTemplate = (win: BrowserWindow): MenuTemplate => { ); const availablePlugins = Object.keys(allPlugins); - const pluginMenus = availablePlugins.map((id) => { - const predefinedTemplate = menuResult.find((it) => it[0] === id); - if (predefinedTemplate) return predefinedTemplate[1]; + const pluginMenus = availablePlugins + .sort((a, b) => { + const aPluginLabel = allPlugins[a]?.name ?? a; + const bPluginLabel = allPlugins[b]?.name ?? b; - const pluginLabel = allPlugins[id]?.name ?? id; + return aPluginLabel.localeCompare(bPluginLabel); + }) + .map((id) => { + const predefinedTemplate = menuResult.find((it) => it[0] === id); + if (predefinedTemplate) return predefinedTemplate[1]; - return pluginEnabledMenu(id, pluginLabel, true, innerRefreshMenu); - }); + const pluginLabel = allPlugins[id]?.name ?? id; + + return pluginEnabledMenu(id, pluginLabel, true, innerRefreshMenu); + }); return [ {