disable smooth scrolling when navigating in/out
Hunter
Wednesday, April 2nd, 2025 at 12:18 AM
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) {