Added sidebar compact mode animations!

This commit is contained in:
mr. M
2024-12-13 01:47:09 +01:00
parent c67fc71069
commit a9fb598134
3 changed files with 52 additions and 2 deletions

View File

@@ -93,6 +93,56 @@ var gZenCompactModeManager = {
this._evenListeners.forEach((callback) => callback());
this._disableTabsOnHoverIfConflict();
this.updateContextMenu();
this.animateCompactMode();
},
animateCompactMode() {
const isCompactMode = this.prefefence;
const canHideSidebar = Services.prefs.getBoolPref('zen.view.compact.hide-tabbar');
if (this._isAnimating) {
return;
}
this._isAnimating = true;
if (canHideSidebar && isCompactMode) {
window.requestAnimationFrame(() => {
this.sidebar.style.position = "relative";
this.sidebar.style.transition = "margin-left .3s ease";
this.sidebar.style.marginLeft = `calc(-1 * ${this.sidebar.getAttribute("width")}px)`;
this.sidebar.style.pointerEvents = "none";
this.sidebar.style.opacity = "0";
setTimeout(() => {
window.requestAnimationFrame(() => {
this._isAnimating = false;
this.sidebar.style.removeProperty("position");
this.sidebar.style.removeProperty("transition");
this.sidebar.style.removeProperty("margin-left");
this.sidebar.style.removeProperty("pointer-events");
this.sidebar.style.removeProperty("opacity");
});
}, 300);
});
} else if (canHideSidebar && !isCompactMode) {
// we are in compact mode and we are exiting it
this.sidebar.style.marginLeft = `calc(-1 * ${this.sidebar.getAttribute("width")}px)`;
window.requestAnimationFrame(() => {
this.sidebar.style.position = "relative";
this.sidebar.style.transition = "margin-left .3s ease";
this.sidebar.style.marginLeft = "0";
this.sidebar.style.pointerEvents = "none";
setTimeout(() => {
window.requestAnimationFrame(() => {
this._isAnimating = false;
this.sidebar.style.removeProperty("position");
this.sidebar.style.removeProperty("transition");
this.sidebar.style.removeProperty("margin-left");
this.sidebar.style.removeProperty("pointer-events");
});
}, 300);
});
}
},
updateContextMenu() {