From 9bcef8a6487097cb480f9265c9f0061f71cdc1e5 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Sun, 15 Jun 2025 17:57:41 -0700 Subject: [PATCH] Fix "show controls" conflicting with manually hiding the sidebars --- js/show_controls.js | 59 ++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/js/show_controls.js b/js/show_controls.js index 06387211..c98102d3 100644 --- a/js/show_controls.js +++ b/js/show_controls.js @@ -1,16 +1,30 @@ -const belowChatInput = document.querySelectorAll( - "#chat-tab > div > :nth-child(1), #chat-tab > div > :nth-child(3), #chat-tab > div > :nth-child(4), #extensions" -); const chatParent = document.querySelector(".chat-parent"); function toggle_controls(value) { - const headerBar = document.querySelector(".header_bar"); + const extensions = document.querySelector("#extensions"); if (value) { - belowChatInput.forEach(element => { - element.style.display = "inherit"; - }); + // SHOW MODE: Click toggles to show hidden sidebars + const navToggle = document.getElementById("navigation-toggle"); + const pastChatsToggle = document.getElementById("past-chats-toggle"); + const chatControlsToggle = document.getElementById("chat-controls-toggle"); + if (navToggle && document.querySelector(".header_bar")?.classList.contains("sidebar-hidden")) { + navToggle.click(); + } + if (pastChatsToggle && document.getElementById("past-chats-row")?.classList.contains("sidebar-hidden")) { + pastChatsToggle.click(); + } + if (chatControlsToggle && document.getElementById("chat-controls")?.classList.contains("sidebar-hidden")) { + chatControlsToggle.click(); + } + + // Show extensions only + if (extensions) { + extensions.style.display = "inherit"; + } + + // Remove bigchat classes chatParent.classList.remove("bigchat"); document.getElementById("chat-input-row").classList.remove("bigchat"); document.getElementById("chat-col").classList.remove("bigchat"); @@ -21,24 +35,31 @@ function toggle_controls(value) { gallery_element.style.display = "block"; } - // Show header bar - if (headerBar) { - headerBar.style.removeProperty("display"); + } else { + // HIDE MODE: Click toggles to hide visible sidebars + const navToggle = document.getElementById("navigation-toggle"); + const pastChatsToggle = document.getElementById("past-chats-toggle"); + const chatControlsToggle = document.getElementById("chat-controls-toggle"); + + if (navToggle && !document.querySelector(".header_bar")?.classList.contains("sidebar-hidden")) { + navToggle.click(); + } + if (pastChatsToggle && !document.getElementById("past-chats-row")?.classList.contains("sidebar-hidden")) { + pastChatsToggle.click(); + } + if (chatControlsToggle && !document.getElementById("chat-controls")?.classList.contains("sidebar-hidden")) { + chatControlsToggle.click(); } - } else { - belowChatInput.forEach(element => { - element.style.display = "none"; - }); + // Hide extensions only + if (extensions) { + extensions.style.display = "none"; + } + // Add bigchat classes chatParent.classList.add("bigchat"); document.getElementById("chat-input-row").classList.add("bigchat"); document.getElementById("chat-col").classList.add("bigchat"); document.getElementById("chat-tab").style.paddingBottom = "0px"; - - // Hide header bar - if (headerBar) { - headerBar.style.setProperty("display", "none", "important"); - } } }