Release v1.1.5: Bug Fixes & Report Enhancements
This release addresses multiple critical bugs and enhances the reporting experience. ## Bug Fixes - Fixed: Actual time tracking now persists correctly across Pomodoro breaks - Fixed: Timer actual time no longer resets to 0 when resuming work after breaks - Fixed: Stopwatch mode timer bar now displays correctly - Fixed: Daily stats counter no longer increments when canceling/stopping tasks - Fixed: Report quick select buttons now update date fields automatically - Fixed: Today's focus time calculation corrected (previous day restart issue resolved) ## Enhancements - Added visual glow animation to active quick filter buttons in Reports - Quick filter buttons now show active state with pulsing effect - Date inputs update automatically when clicking quick filter options - Improved UX with visual feedback for selected time ranges 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
28
main.js
28
main.js
@@ -982,6 +982,10 @@ var ReportView = class extends import_obsidian3.ItemView {
|
||||
constructor(leaf, plugin) {
|
||||
super(leaf);
|
||||
this.selectedListIds = [];
|
||||
this.activeQuickFilter = "Last 7 days";
|
||||
// Track active filter
|
||||
this.startDateInput = null;
|
||||
this.endDateInput = null;
|
||||
this.plugin = plugin;
|
||||
const today = new Date();
|
||||
this.endDate = today.toISOString().split("T")[0];
|
||||
@@ -1023,12 +1027,20 @@ var ReportView = class extends import_obsidian3.ItemView {
|
||||
const filtersSection = container.createEl("div", { cls: "immerse-report-filters" });
|
||||
const dateRow = filtersSection.createEl("div", { cls: "immerse-report-filter-row" });
|
||||
new import_obsidian3.Setting(dateRow).setName("Start Date").addText((text) => {
|
||||
text.setValue(this.startDate).onChange((value) => this.startDate = value);
|
||||
text.setValue(this.startDate).onChange((value) => {
|
||||
this.startDate = value;
|
||||
this.activeQuickFilter = null;
|
||||
});
|
||||
text.inputEl.type = "date";
|
||||
this.startDateInput = text.inputEl;
|
||||
});
|
||||
new import_obsidian3.Setting(dateRow).setName("End Date").addText((text) => {
|
||||
text.setValue(this.endDate).onChange((value) => this.endDate = value);
|
||||
text.setValue(this.endDate).onChange((value) => {
|
||||
this.endDate = value;
|
||||
this.activeQuickFilter = null;
|
||||
});
|
||||
text.inputEl.type = "date";
|
||||
this.endDateInput = text.inputEl;
|
||||
});
|
||||
const quickFilters = filtersSection.createEl("div", { cls: "immerse-report-quick-filters" });
|
||||
quickFilters.createEl("span", { text: "Quick select: ", cls: "immerse-filter-label" });
|
||||
@@ -1043,12 +1055,24 @@ var ReportView = class extends import_obsidian3.ItemView {
|
||||
text: filter.label,
|
||||
cls: "immerse-quick-filter-btn"
|
||||
});
|
||||
if (filter.label === this.activeQuickFilter) {
|
||||
btn.addClass("active");
|
||||
}
|
||||
btn.addEventListener("click", () => {
|
||||
const today = new Date();
|
||||
this.endDate = today.toISOString().split("T")[0];
|
||||
const startDate = new Date(today);
|
||||
startDate.setDate(startDate.getDate() - filter.days);
|
||||
this.startDate = startDate.toISOString().split("T")[0];
|
||||
if (this.startDateInput)
|
||||
this.startDateInput.value = this.startDate;
|
||||
if (this.endDateInput)
|
||||
this.endDateInput.value = this.endDate;
|
||||
this.activeQuickFilter = filter.label;
|
||||
quickFilters.querySelectorAll(".immerse-quick-filter-btn").forEach((b) => {
|
||||
b.removeClass("active");
|
||||
});
|
||||
btn.addClass("active");
|
||||
this.renderReport(container);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user