diff --git a/app/main/menu.ts b/app/main/menu.ts index 9f5a15404..5777a5626 100644 --- a/app/main/menu.ts +++ b/app/main/menu.ts @@ -226,6 +226,14 @@ function getViewSubmenu(): Electron.MenuItemConstructorOptions[] { } }, }, + { + label: t.__("Toggle Organization Shortcuts"), + click(_item, focusedWindow) { + if (focusedWindow) { + focusedWindow.webContents.send("toggleOrgShortcuts"); + } + }, + }, { label: t.__("Toggle Sidebar"), accelerator: "CommandOrControl+Shift+S", diff --git a/app/renderer/js/components/server-tab.ts b/app/renderer/js/components/server-tab.ts index 478ec4296..fcd51b9f7 100644 --- a/app/renderer/js/components/server-tab.ts +++ b/app/renderer/js/components/server-tab.ts @@ -31,7 +31,7 @@ export default class ServerTab extends Tab {
-
${this.generateShortcutText()}
+
${this.generateShortcutText()}
`; } diff --git a/app/renderer/js/main.ts b/app/renderer/js/main.ts index 9684c018b..3cbdf0b01 100644 --- a/app/renderer/js/main.ts +++ b/app/renderer/js/main.ts @@ -74,6 +74,7 @@ class ServerManagerView { $loadingTooltip: HTMLElement; $settingsTooltip: HTMLElement; $serverIconTooltip: HTMLCollectionOf; + $serverShortcuts: HTMLCollectionOf; $backTooltip: HTMLElement; $dndTooltip: HTMLElement; $sidebar: Element; @@ -114,6 +115,10 @@ class ServerManagerView { this.$serverIconTooltip = document.getElementsByClassName( "server-tooltip", ) as HTMLCollectionOf; + // eslint-disable-next-line unicorn/prefer-query-selector + this.$serverShortcuts = document.getElementsByClassName( + "server-tab-shortcut", + ) as HTMLCollectionOf; this.$backTooltip = $actionsContainer.querySelector("#back-tooltip")!; this.$dndTooltip = $actionsContainer.querySelector("#dnd-tooltip")!; @@ -1025,6 +1030,19 @@ class ServerManagerView { this.updateGeneralSettings("toggle-sidebar-setting", show); }); + ipcRenderer.on("toggleOrgShortcuts", () => { + for (const $serverShortcut of this.$serverShortcuts) { + if ( + $serverShortcut.getAttribute("style") === null || + $serverShortcut.getAttribute("style") === "" + ) { + $serverShortcut.style.display = "none"; + } else { + $serverShortcut.removeAttribute("style"); + } + } + }); + ipcRenderer.on("toggle-silent", (event: Event, state: boolean) => { const webviews: NodeListOf = document.querySelectorAll( "webview",