diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-29 23:18:57 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-29 23:18:57 -0500 |
| commit | b5f3b9027aa0e96cd792f036a61d6b4418b39487 (patch) | |
| tree | 2a29248e3a421ce989d75d6f8813ce2dd9d616f5 /Omni/Jr/Web | |
| parent | 82a2d55775eee2e34a26972774aaa6c5c0946743 (diff) | |
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
Diffstat (limited to 'Omni/Jr/Web')
| -rw-r--r-- | Omni/Jr/Web/Style.hs | 10 |
1 files changed, 10 insertions, 0 deletions
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) |
