trioskosmos's picture
Upload folder using huggingface_hub
1d0beb6 verified
document.addEventListener('DOMContentLoaded', () => {
// Elements
const leftSidebar = document.getElementById('sidebar-left');
const rightSidebar = document.getElementById('sidebar-right');
const resizerLeft = document.getElementById('resizer-left');
const resizerRight = document.getElementById('resizer-right');
const STORAGE_KEY_LEFT = 'lovelive_layout_left_width';
const STORAGE_KEY_RIGHT = 'lovelive_layout_right_width';
// Min/Max constraints
const MIN_WIDTH = 150;
const MAX_WIDTH_PCT = 0.45; // 45% of screen width
// Restore Preferences
const savedLeftObj = localStorage.getItem(STORAGE_KEY_LEFT);
const savedRightObj = localStorage.getItem(STORAGE_KEY_RIGHT);
if (savedLeftObj) leftSidebar.style.width = savedLeftObj + 'px';
if (savedRightObj) rightSidebar.style.width = savedRightObj + 'px';
// Drag State
let isResizingLeft = false;
let isResizingRight = false;
// --- Left Resizer Logic ---
resizerLeft.addEventListener('mousedown', (e) => {
isResizingLeft = true;
resizerLeft.classList.add('resizing');
document.body.style.cursor = 'col-resize';
document.body.style.userSelect = 'none'; // Prevent text selection
});
// --- Right Resizer Logic ---
resizerRight.addEventListener('mousedown', (e) => {
isResizingRight = true;
resizerRight.classList.add('resizing');
document.body.style.cursor = 'col-resize';
document.body.style.userSelect = 'none';
});
// --- Global Mouse Move ---
document.addEventListener('mousemove', (e) => {
if (!isResizingLeft && !isResizingRight) return;
const containerWidth = window.innerWidth;
if (isResizingLeft) {
// New Width = Mouse X position
let newWidth = e.clientX;
// Constrain
if (newWidth < MIN_WIDTH) newWidth = MIN_WIDTH;
if (newWidth > containerWidth * MAX_WIDTH_PCT) newWidth = containerWidth * MAX_WIDTH_PCT;
leftSidebar.style.width = newWidth + 'px';
}
if (isResizingRight) {
// New Width = Container Width - Mouse X position
let newWidth = containerWidth - e.clientX;
// Constrain
if (newWidth < MIN_WIDTH) newWidth = MIN_WIDTH;
if (newWidth > containerWidth * MAX_WIDTH_PCT) newWidth = containerWidth * MAX_WIDTH_PCT;
rightSidebar.style.width = newWidth + 'px';
}
});
// --- Global Mouse Up ---
document.addEventListener('mouseup', () => {
if (isResizingLeft) {
isResizingLeft = false;
resizerLeft.classList.remove('resizing');
localStorage.setItem(STORAGE_KEY_LEFT, parseInt(leftSidebar.style.width));
}
if (isResizingRight) {
isResizingRight = false;
resizerRight.classList.remove('resizing');
localStorage.setItem(STORAGE_KEY_RIGHT, parseInt(rightSidebar.style.width));
}
document.body.style.cursor = '';
document.body.style.userSelect = '';
});
});