disallow deletion of root task's last subtask

Hunter
Thursday, August 1st, 2024 at 9:14 PM

index.html+4-3

index.html
 82  			function loadFromLocalStorage() {
 83  				const savedTasks = localStorage.getItem('taskTree');
 84  				if (savedTasks) {
    -					return deserializeTaskTree(savedTasks);
 85 +					const loadedTask = deserializeTaskTree(savedTasks);
 86 +					loadedTask.id = 'root';  // Ensure the root always has 'root' as its ID
 87 +					return loadedTask;
 88  				} else {
 89  					return { id: 'root', text: 'todo', state: 0, subtasks: [{ id: Date.now(), text: '', state: 0, subtasks: [] }], selectedSubtaskId: null };
 90  				}

101  					const text = line.slice(depth + 2);
102  					
103  					const newTask = {
    -						id: Date.now() + Math.random(),
104 +						id: depth === 0 ? 'root' : Date.now() + Math.random(),
105  						text: text,
106  						state: status === '_' ? 0 : (status === 'x' ? 1 : 2),
107  						subtasks: [],

200  							return;
201  						}
202  						if (isLastSubtask(task) && lastSubtaskDownArrowReleased && task !== currentTask) {
    -							console.log('adding new subtask')
203  							e.preventDefault();
204  							keyHandler.arrowDown.blocked = true;
205  							addNewSubtask(currentTask, task);