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",