From b5f3b9027aa0e96cd792f036a61d6b4418b39487 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sat, 29 Nov 2025 23:18:57 -0500 Subject: Sort /blocked page by blocking impact (transitive dependents) All tests pass. The implementation is complete: **Summary of changes:** 1. **Omni/Task/Core.hs** - Added helper functions: - `getBlockingImpact`: Counts how many tasks are transitively blocked - `getTransitiveDependents`: Gets all tasks that depend on a task (di - `dependsOnTask`: Helper to check if a task depends on a given ID wi 2. **Omni/Jr/Web.hs** - Updated blocked page: - Changed `BlockedPage` type to include blocking impact: `[(TaskCore. - Updated `blockedHandler` to compute blocking impact and sort by it - Added `renderBlockedTaskCard` to display tasks with their blocking - Updated the info message to explain the sorting 3. **Omni/Jr/Web/Style.hs** - Added CSS: - `.blocking-impact` badge style (light mode) - `.blocking-impact` dark mode style Task-Id: t-189 --- Omni/Jr/Web/Style.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Omni/Jr/Web') diff --git a/Omni/Jr/Web/Style.hs b/Omni/Jr/Web/Style.hs index 11475d9..5090e2e 100644 --- a/Omni/Jr/Web/Style.hs +++ b/Omni/Jr/Web/Style.hs @@ -367,6 +367,13 @@ cardStyles = do ".priority" ? do fontSize (px 11) color "#6b7280" + ".blocking-impact" ? do + fontSize (px 10) + color "#6b7280" + backgroundColor "#e5e7eb" + padding (px 1) (px 6) (px 1) (px 6) + borderRadius (px 8) (px 8) (px 8) (px 8) + marginLeft auto ".task-title" ? do fontSize (px 14) margin (px 0) (px 0) (px 0) (px 0) @@ -1556,6 +1563,9 @@ darkModeStyles = ".badge-p4" ? do backgroundColor "#1f2937" color "#9ca3af" + ".blocking-impact" ? do + backgroundColor "#374151" + color "#9ca3af" ".priority-dropdown-menu" ? do backgroundColor "#1f2937" Stylesheet.key "box-shadow" ("0 2px 8px rgba(0,0,0,0.3)" :: Text) -- cgit v1.2.3