Learning Progress Dashboard

πŸ”₯ Currently Active Learning

TABLE WITHOUT ID
  subject as "Subject",
  file.link as "Module",
  length(filter(file.tasks, (t) => t.completed)) + "/" + length(file.tasks) as "Tasks",
  round(length(filter(file.tasks, (t) => t.completed)) / length(file.tasks) * 100) + "%" as "Progress"
WHERE type = "learning-module-auto" 
  AND length(filter(file.tasks, (t) => t.completed)) > 0 
  AND length(filter(file.tasks, (t) => t.completed)) < length(file.tasks)
SORT subject ASC, module_order ASC

If empty: No active learning modules - start working on a learning plan!

🎯 All Learning Plans Overview

TABLE WITHOUT ID
  subject as "Subject",
  file.link as "Learning Plan", 
  difficulty as "Level",
  estimated_duration as "Duration"
WHERE type = "learning-plan-auto"
SORT file.mtime DESC

πŸ“ˆ Quick Stats

TABLE WITHOUT ID
  "πŸ“Š Total Learning Plans" as " ",
  length(rows) as "Count"
WHERE type = "learning-plan-auto"
GROUP BY "Plans"
TABLE WITHOUT ID
  "πŸ“š Total Modules" as " ",
  length(rows) as "Count"
WHERE type = "learning-module-auto"
GROUP BY "Modules"
TABLE WITHOUT ID
  "βœ… Completed Modules" as " ",
  length(rows) as "Count"
WHERE type = "learning-module-auto" AND length(filter(file.tasks, (t) => t.completed)) = length(file.tasks)
GROUP BY "Completed"

🎯 Next Actions

LIST
  "πŸ“– **" + subject + "**: " + file.link + " (" + length(filter(file.tasks, (t) => t.completed)) + "/" + length(file.tasks) + " tasks)"
WHERE type = "learning-module-auto" 
  AND length(filter(file.tasks, (t) => t.completed)) > 0 
  AND length(filter(file.tasks, (t) => t.completed)) < length(file.tasks)
SORT subject ASC, module_order ASC
LIMIT 5

If empty: No active learning tasks - start a new learning plan!


πŸ“ Quick Tips

  • Status indicators: βœ… Complete | πŸ”„ In Progress | ⏸️ Not Started
  • Progress: Automatically calculated from completed tasks
  • Next Actions: Shows your current focus areas to continue

Dashboard updates automatically as you check off tasks in your learning modules!