Skip to content

Commit 2e80d72

Browse files
committed
fix: show tasks-completed indicator and advanced filters only when tasks exist
1 parent 557ad2b commit 2e80d72

3 files changed

Lines changed: 20 additions & 17 deletions

File tree

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ <h2 class="lobster text-center mb-3 reveal-on-scroll">
390390
</div>
391391

392392
<!-- Advanced filters toggle -->
393-
<div class="text-center mt-2">
393+
<div class="text-center mt-2 d-none advanced-filters-toggle-container">
394394
<button
395395
type="button"
396396
id="toggle-advanced-filters"
@@ -453,7 +453,7 @@ <h2 class="lobster text-center mb-3 reveal-on-scroll">
453453
<!-- Weekly completed indicator -->
454454
<div
455455
id="task-weekly-summary"
456-
class="task-weekly-summary text-center my-3 small text-muted"
456+
class="task-weekly-summary text-center my-3 small text-muted d-none"
457457
>
458458
Tasks completed this week: 0
459459
</div>

js/app.js

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,18 @@ const sortModeSelect = document.getElementById("sort-mode");
3434
const themeToggleBtn = document.getElementById("theme-toggle");
3535
const installBtn = document.getElementById("install-btn");
3636
const weeklySummaryEl = document.getElementById("task-weekly-summary");
37-
const advancedFieldsToggleBtn = document.getElementById(
38-
"toggle-advanced-fields",
39-
);
40-
const advancedFieldsContainer = document.getElementById(
41-
"advanced-task-options",
42-
);
43-
const advancedFiltersToggleBtn = document.getElementById(
44-
"toggle-advanced-filters",
45-
);
46-
const advancedFiltersContainer = document.getElementById(
47-
"advanced-filters-container",
48-
);
37+
const advancedFieldsToggleBtn = document.getElementById("toggle-advanced-fields");
38+
const advancedFieldsContainer = document.getElementById("advanced-task-options");
39+
const advancedFiltersToggleBtn = document.getElementById("toggle-advanced-filters");
40+
const advancedFiltersContainer = document.getElementById("advanced-filters-container");
41+
const advancedFiltersToggleContainer = document.querySelector(".advanced-filters-toggle-container");
4942

5043
// Global Variables
5144
let activeTab = "schedule"; // or: no-time
5245
const taskTimers = {}; // store timeout IDs per task id
5346
let hasShownNotificationsPrompt = false; // to show notifications popup only once
5447
let deferredPrompt = null; // for PWA install
48+
let cachedTasks = []; // store tasks in memory for faster access
5549

5650
// ============== Event Listeners ================
5751
// when click on tab buttons
@@ -420,6 +414,7 @@ async function updateUI() {
420414
showLoadingState();
421415

422416
const allTasks = await getAllTasksFromDB();
417+
cachedTasks = allTasks;
423418

424419
// Ensure any tasks whose endTime has passed are marked as overdue in DB
425420
const now = new Date();
@@ -447,6 +442,11 @@ async function updateUI() {
447442
renderTasksInPage(tasksToRender);
448443
updateFilterBadges();
449444
updateWeeklySummary();
445+
446+
// show advanced filters toggle button if there are tasks
447+
if (cachedTasks.length > 0 && advancedFiltersToggleContainer) {
448+
advancedFiltersToggleContainer.classList.remove('d-none');
449+
}
450450
} catch (error) {
451451
showToast(
452452
"✗ Failed to fetch tasks. Please refresh the page.",
@@ -755,7 +755,12 @@ function updateFilterBadges() {
755755
function updateWeeklySummary() {
756756
if (!weeklySummaryEl) return;
757757
const count = getCompletedThisWeekCount();
758-
weeklySummaryEl.textContent = `Tasks completed this week: ${count}`;
758+
if (cachedTasks.length > 0) {
759+
weeklySummaryEl.textContent = `Tasks completed this week: ${count}`;
760+
weeklySummaryEl.classList.remove("d-none");
761+
} else {
762+
weeklySummaryEl.classList.add("d-none");
763+
}
759764
}
760765

761766
/* =================== Theme Handling =================== */

js/pushNotificationsHandler.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ document.addEventListener("DOMContentLoaded", () => {
3232

3333
// Save preference to localStorage
3434
localStorage.setItem("notificationsEnabled", isEnabled ? "true" : "false");
35-
document.querySelector("form-switch").innerText += isEnabled ? "Notifications Enabled" : "Notifications Disabled";
36-
3735
// When user turns notifications ON, request permission
3836
if (isEnabled) {
3937
const permission = await requestNotificationPermission();

0 commit comments

Comments
 (0)