Set up a list of common projects or task types you work on. Assigning a color can help in visual identification in future reports (though not heavily used in this version's display).
2. Logging Time (Timer & Daily Log Tab)
Using the Live Timer:
Select a project from the dropdown or choose "Log Ad-hoc Task" and enter a name.
Click "Start Timer". The timer will run, showing elapsed time for the active task.
Use "Pause" and "Resume" as needed.
When finished, click "Stop & Log". You'll be prompted to add notes before the entry is saved.
"Discard" will stop the timer without saving an entry.
Manual Entry:
Select the date for which you want to log time.
Click "Add Manual Entry".
Fill in the task description, select a project (or enter ad-hoc), set Start Time, End Time (or Duration), and add optional notes.
3. Recovering Interrupted Timers
If you close your browser or navigate away while a timer is running, the tool will attempt to detect this when you next open it. You'll be prompted to log, adjust, or discard the time that seems to have elapsed.
4. Viewing Reports (Reports Tab)
Select a period (Today, This Week, This Month, or a Custom Range) and click "Generate Report". You'll see:
Total time logged for the period.
A summary of time spent per project/task.
A detailed list of all individual time entries.
5. Exporting
Use the "Download Report as PDF" button (available after a report is generated) to save your time analysis.
Tips for Effective Time Logging:
Be Consistent: Log time as you work or immediately after to ensure accuracy.
Be Granular (Enough): Log distinct tasks separately if you need to analyze them. Broad categories are fine if you don't need deep detail.
Use Notes: Add brief notes to entries to remember specific details about the work done.
Review Regularly: Use the reports to understand where your time goes. This can help identify inefficiencies or areas where you're spending more or less time than intended.
×
Log Time Entry
Select a date to view log entries.
';
stlCurrentDateDisplayEl.textContent = 'N/A';
return;
}
stlCurrentDateDisplayEl.textContent = new Date(selectedDateKey + "T00:00:00").toLocaleDateString();
const entriesForDay = stlTimeEntries.filter(entry =>
stlFormatDateKey(new Date(entry.startTimeISO)) === selectedDateKey
).sort((a,b) => new Date(a.startTimeISO) - new Date(b.startTimeISO)); // Sort by start time
stlDailyLogEntriesListEl.innerHTML = '';
if (entriesForDay.length === 0) {
stlDailyLogEntriesListEl.innerHTML = '