disable smooth scrolling when navigating in/out

Hunter
Wednesday, April 2nd, 2025 at 12:18 AM

index.html+20-11

index.html
866  			}
867  
868  			function navigateIntoSubtask(subtask) {
869 +				// Temporarily disable smooth scrolling
870 +				document.documentElement.style.scrollBehavior = 'auto';
871 +				
872  				if (subtask.subtasks.length > 0) {
873  					currentTask.selectedSubtaskId = subtask.id;
874  					taskPath.push(subtask);

892  
893  			function navigateToParentTask() {
894  				if (taskPath.length > 1) {
895 +					// Temporarily disable smooth scrolling
896 +					document.documentElement.style.scrollBehavior = 'auto';
897 +					
898  					const currentTaskId = currentTask.id;
899  					taskPath.pop();
900  					currentTask = taskPath[taskPath.length - 1];

923  				input.focus();
924  				
925  				// Center the active task in the viewport
    -				setTimeout(() => {
    -					const activeTaskElement = document.querySelector('.task-container.active');
    -					if (activeTaskElement && activeTaskElement.parentElement && activeTaskElement.parentElement.tagName === 'LI') {
    -						// Use scrollIntoView with block: "center" to center the element vertically
    -						activeTaskElement.scrollIntoView({
    -							behavior: 'auto',  // Use 'auto' for immediate scrolling
    -							block: 'center',   // Center vertically
    -							inline: 'nearest'  // Don't change horizontal scroll
    -						});
    -					}
    -				}, 10);
926 +				const activeTaskElement = document.querySelector('.task-container.active');
927 +				if (activeTaskElement && activeTaskElement.parentElement && activeTaskElement.parentElement.tagName === 'LI') {
928 +					// Use scrollIntoView with block: "center" to center the element vertically
929 +					activeTaskElement.scrollIntoView({
930 +						behavior: 'auto',  // Use 'auto' for immediate scrolling
931 +						block: 'center',   // Center vertically
932 +						inline: 'nearest'  // Don't change horizontal scroll
933 +					});
934 +					
935 +					// Re-enable smooth scrolling after all DOM updates and scrolling are complete
936 +					setTimeout(() => {
937 +						document.documentElement.style.scrollBehavior = 'smooth';
938 +					}, 200);
939 +				}
940  			}
941  
942  			function updateBreadcrumbs(selectedTask) {