diff --git a/app/javascript/controllers/app_layout_controller.js b/app/javascript/controllers/app_layout_controller.js index cc15c78c2..612114735 100644 --- a/app/javascript/controllers/app_layout_controller.js +++ b/app/javascript/controllers/app_layout_controller.js @@ -21,22 +21,27 @@ export default class extends Controller { toggleLeftSidebar() { const isOpen = this.leftSidebarTarget.classList.contains("w-full"); this.#updateUserPreference("show_sidebar", !isOpen); - this.#toggleSidebarWidth(this.leftSidebarTarget, isOpen); + this.#toggleSidebarWidth(this.leftSidebarTarget, isOpen, "left"); } toggleRightSidebar() { const isOpen = this.rightSidebarTarget.classList.contains("w-full"); this.#updateUserPreference("show_ai_sidebar", !isOpen); - this.#toggleSidebarWidth(this.rightSidebarTarget, isOpen); + this.#toggleSidebarWidth(this.rightSidebarTarget, isOpen, "right"); } - #toggleSidebarWidth(el, isCurrentlyOpen) { + #toggleSidebarWidth(el, isCurrentlyOpen, side) { + const expandedClasses = side === "left" ? [...this.expandedSidebarClasses, "border-r"] : [...this.expandedSidebarClasses, "border-l"]; + const collapsedClasses = side === "left" ? [...this.collapsedSidebarClasses, "border-r-0"] : [...this.collapsedSidebarClasses, "border-l-0"]; + if (isCurrentlyOpen) { - el.classList.remove(...this.expandedSidebarClasses); - el.classList.add(...this.collapsedSidebarClasses); + el.classList.remove(...expandedClasses); + el.classList.add(...collapsedClasses); + el.inert = true; } else { - el.classList.add(...this.expandedSidebarClasses); - el.classList.remove(...this.collapsedSidebarClasses); + el.classList.add(...expandedClasses); + el.classList.remove(...collapsedClasses); + el.inert = false; } } diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 9d3b97e87..50174161d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -17,7 +17,7 @@ end %> <% desktop_nav_items = mobile_nav_items.reject { |item| item[:mobile_only] } %> <% expanded_sidebar_class = "w-full" %> -<% collapsed_sidebar_class = "w-0" %> +<% collapsed_sidebar_class = "w-0 overflow-hidden" %> <%= render "layouts/shared/htmldoc" do %>
<%# DESKTOP - Left navbar %> -