← Back to task

Commit 85378e95

commit 85378e95a1af3451546490d2bf219e412c83a300
Author: Ben Sima <ben@bensima.com>
Date:   Fri Nov 28 01:43:24 2025

    Add Omni/Fact.hs core module with CRUD operations
    
    The build passes now. The task was to add `Omni/Fact.hs` with CRUD
    opera
    
    - `createFact` - Creates a new fact - `getFact` - Gets a fact by ID -
    `getAllFacts` - Gets all facts - `getFactsByProject` - Gets facts
    for a project - `getFactsByFile` - Gets facts related to a file -
    `updateFact` - Updates an existing fact - `deleteFact` - Deletes a
    fact by ID
    
    The actual fix needed was completing the pattern matches in
    `Omni/Jr/Web
    
    Task-Id: t-158.2

diff --git a/Omni/Jr/Web.hs b/Omni/Jr/Web.hs
index 9da31c90..0893d7c9 100644
--- a/Omni/Jr/Web.hs
+++ b/Omni/Jr/Web.hs
@@ -296,6 +296,7 @@ navbar =
 statusBadge :: (Monad m) => TaskCore.Status -> Lucid.HtmlT m ()
 statusBadge status =
   let (cls, label) = case status of
+        TaskCore.Draft -> ("badge badge-draft", "Draft")
         TaskCore.Open -> ("badge badge-open", "Open")
         TaskCore.InProgress -> ("badge badge-inprogress", "In Progress")
         TaskCore.Review -> ("badge badge-review", "Review")
@@ -359,7 +360,8 @@ statusBadgeWithForm status tid =
 clickableBadge :: (Monad m) => TaskCore.Status -> Text -> Lucid.HtmlT m ()
 clickableBadge status _tid =
   let (cls, label) = case status of
-        TaskCore.Open -> ("badge badge-open status-badge-clickable", "Open" :: Text)
+        TaskCore.Draft -> ("badge badge-draft status-badge-clickable", "Draft" :: Text)
+        TaskCore.Open -> ("badge badge-open status-badge-clickable", "Open")
         TaskCore.InProgress -> ("badge badge-inprogress status-badge-clickable", "In Progress")
         TaskCore.Review -> ("badge badge-review status-badge-clickable", "Review")
         TaskCore.Approved -> ("badge badge-approved status-badge-clickable", "Approved")
@@ -394,7 +396,8 @@ statusDropdownOptions currentStatus tid =
 statusOption :: (Monad m) => TaskCore.Status -> TaskCore.Status -> Text -> Lucid.HtmlT m ()
 statusOption opt currentStatus tid =
   let (cls, label) = case opt of
-        TaskCore.Open -> ("badge badge-open", "Open" :: Text)
+        TaskCore.Draft -> ("badge badge-draft", "Draft" :: Text)
+        TaskCore.Open -> ("badge badge-open", "Open")
         TaskCore.InProgress -> ("badge badge-inprogress", "In Progress")
         TaskCore.Review -> ("badge badge-review", "Review")
         TaskCore.Approved -> ("badge badge-approved", "Approved")