diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-27 14:02:59 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-27 14:02:59 -0500 |
| commit | 64504c1cd5aba7f0ba31e4d6451bbf992a72b8f9 (patch) | |
| tree | 32d0813f399c1a9fc732e354ddffa9d0ada5f32c /Omni/Jr/Web/Style.hs | |
| parent | 6eb6e6693a27c9450be4963c0d2043c88e2c5edb (diff) | |
Display retry context on task detail page
The build and tests pass. The retry context display is already
implement
The implementation includes: - Current attempt number (e.g., "Attempt
3 of 3") at line 721 - Failure reason with `summarizeReason` at lines
696-697 - Original commit display at lines 699-703 - Conflict files
list at lines 705-710 - Warning banner when max retries exceeded at
lines 691-692 and 712-715
Task-Id: t-153.3
Diffstat (limited to 'Omni/Jr/Web/Style.hs')
| -rw-r--r-- | Omni/Jr/Web/Style.hs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Omni/Jr/Web/Style.hs b/Omni/Jr/Web/Style.hs index 19fc371..9ec03d6 100644 --- a/Omni/Jr/Web/Style.hs +++ b/Omni/Jr/Web/Style.hs @@ -32,6 +32,7 @@ stylesheet = do activityTimelineStyles commitStyles markdownStyles + retryBannerStyles responsiveStyles darkModeStyles @@ -706,6 +707,74 @@ markdownStyles = do padding (px 1) (px 4) (px 1) (px 4) borderRadius (px 2) (px 2) (px 2) (px 2) +retryBannerStyles :: Css +retryBannerStyles = do + ".retry-banner" ? do + borderRadius (px 4) (px 4) (px 4) (px 4) + padding (px 12) (px 16) (px 12) (px 16) + margin (px 0) (px 0) (px 16) (px 0) + ".retry-banner-warning" ? do + backgroundColor "#fef3c7" + border (px 1) solid "#f59e0b" + ".retry-banner-critical" ? do + backgroundColor "#fee2e2" + border (px 1) solid "#ef4444" + ".retry-banner-header" ? do + display flex + alignItems center + Stylesheet.key "gap" ("8px" :: Text) + marginBottom (px 8) + ".retry-icon" ? do + fontSize (px 18) + fontWeight bold + ".retry-attempt" ? do + fontSize (px 14) + fontWeight (weight 600) + color "#374151" + ".retry-warning-badge" ? do + backgroundColor "#dc2626" + color white + fontSize (px 11) + fontWeight (weight 600) + padding (px 2) (px 8) (px 2) (px 8) + borderRadius (px 2) (px 2) (px 2) (px 2) + marginLeft auto + ".retry-banner-details" ? do + fontSize (px 13) + color "#374151" + ".retry-detail-row" ? do + display flex + alignItems flexStart + Stylesheet.key "gap" ("8px" :: Text) + margin (px 4) (px 0) (px 4) (px 0) + ".retry-label" ? do + fontWeight (weight 500) + minWidth (px 110) + flexShrink 0 + ".retry-value" ? do + color "#4b5563" + ".retry-commit" ? do + fontFamily ["SF Mono", "Monaco", "Consolas", "monospace"] [monospace] + fontSize (em 0.9) + backgroundColor "#f3f4f6" + padding (px 1) (px 4) (px 1) (px 4) + borderRadius (px 2) (px 2) (px 2) (px 2) + ".retry-conflict-list" ? do + margin (px 0) (px 0) (px 0) (px 0) + padding (px 0) (px 0) (px 0) (px 16) + (".retry-conflict-list" ** li) ? do + fontFamily ["SF Mono", "Monaco", "Consolas", "monospace"] [monospace] + fontSize (px 12) + margin (px 2) (px 0) (px 2) (px 0) + ".retry-warning-message" ? do + marginTop (px 12) + padding (px 10) (px 12) (px 10) (px 12) + backgroundColor "#fecaca" + borderRadius (px 2) (px 2) (px 2) (px 2) + fontSize (px 12) + color "#991b1b" + fontWeight (weight 500) + responsiveStyles :: Css responsiveStyles = do query Media.screen [Media.maxWidth (px 600)] <| do |
