Refactor sidebar width calculation in compact mode and update toolbar separator logic

This commit is contained in:
mr. m
2025-04-11 00:43:50 +02:00
parent a0d3447202
commit 713f1486c3
3 changed files with 8 additions and 8 deletions

View File

@@ -544,7 +544,7 @@ var gZenVerticalTabsManager = {
);
elements = Array.from(elements).reverse();
// Add separator if it doesn't exist
if (!buttonsTarget.contains(this._topButtonsSeparatorElement)) {
if (!this._hasSetSingleToolbar) {
buttonsTarget.append(this._topButtonsSeparatorElement);
}
for (const button of elements) {

View File

@@ -116,9 +116,8 @@
outline-offset: -1px;
min-width: var(--zen-toolbox-min-width);
/* times 4 because we have the inner padding and the outter padding to consider */
:root[zen-sidebar-expanded='true'] & {
width: calc(var(--zen-sidebar-width) - var(--zen-toolbox-padding));
width: var(--zen-sidebar-width);
}
:root[zen-single-toolbar='true'] {

View File

@@ -220,10 +220,12 @@ var gZenCompactModeManager = {
}
if (canHideSidebar && isCompactMode) {
const elementSeparation = ZenThemeModifier.elementSeparation;
sidebarWidth -= 0.5 * splitterWidth;
if (elementSeparation < splitterWidth) {
// Subtract from the splitter width to end up with the correct element separation
sidebarWidth += 1.5 * splitterWidth - elementSeparation;
if (document.documentElement.hasAttribute('zen-sidebar-expanded')) {
sidebarWidth -= 0.5 * splitterWidth;
if (elementSeparation < splitterWidth) {
// Subtract from the splitter width to end up with the correct element separation
sidebarWidth += 1.5 * splitterWidth - elementSeparation;
}
}
gZenUIManager.motion
.animate(
@@ -242,7 +244,6 @@ var gZenCompactModeManager = {
.then(() => {
this.sidebar.style.transition = 'none';
this.sidebar.style.opacity = 0;
this.getAndApplySidebarWidth();
setTimeout(() => {
this.sidebar.removeAttribute('animate');
document.documentElement.removeAttribute('zen-compact-animating');