commit 112978c00ffdc05f98d9425e38d7f1b708f5b90f
parent 927579488b1c20a99cb9a469509e6da5d1de1f78
Author: Hunter
Date:   Sat,  3 Aug 2024 22:25:20 -0400

autofocus 1st subtask onload; disallow defocusing

Diffstat:
Mindex.html | 28+++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/index.html b/index.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="en" data-theme="harvest"> <!-- update to change theme --> +<html lang="en" data-theme="gak"> <!-- update to change theme --> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> @@ -137,6 +137,17 @@ } </style> <script> + document.addEventListener('click', function(e) { + if (!e.target.closest('.task-container')) { + const activeTask = document.querySelector('.task-container.active'); + if (activeTask) { + const taskInput = activeTask.querySelector('input[type="text"]'); + taskInput.focus(); + } else { + selectFirstSubtask(); + } + } + }); document.addEventListener('DOMContentLoaded', function() { const appContainer = document.getElementById('app-container'); let rootTask = loadFromLocalStorage(); @@ -663,6 +674,7 @@ } updateBreadcrumbs(task); lastSubtaskDownArrowReleased = isLastSubtask(task); + input.focus(); } function updateBreadcrumbs(selectedTask) { @@ -696,7 +708,20 @@ const selectedTask = currentTask.subtasks.find(t => t.id === currentTask.selectedSubtaskId); if (selectedTask) { selectAndFocusTask(selectedTask); + } else { + selectFirstSubtask(); } + } else { + selectFirstSubtask(); + } + } + + function selectFirstSubtask() { + if (currentTask.subtasks.length > 0) { + const firstSubtask = currentTask.subtasks[0]; + selectAndFocusTask(firstSubtask); + } else { + selectAndFocusTask(currentTask); } } @@ -727,6 +752,7 @@ } renderCurrentView(); + selectFirstSubtask(); }); </script> </head>