Let issue-page display an optional flash message.
authorRicardo Wurmus <rekado@elephly.net>
Sun, 5 Apr 2020 16:27:54 +0000 (18:27 +0200)
committerRicardo Wurmus <rekado@elephly.net>
Sun, 5 Apr 2020 16:28:44 +0000 (18:28 +0200)
mumi/web/controller.scm
mumi/web/view/html.scm

index e4203111f9e3ecd2757188e4e6fa1b6fd9dc2835..56b8eaf7e7a62db1318fc01a8fe03194ad08a4f8 100644 (file)
@@ -90,7 +90,7 @@
                        '(error . "There was an error submitting your comment!"))
                       (_ #f))))
        (apply render-html (or (and=> (fetch-bug id)
-                                     issue-page)
+                                     (lambda (bug) (issue-page bug message)))
                               (unknown id)))))
     (('GET "issue" (? string->number id)
           "attachment" (? string->number msg-num)
index 2f73b0143e500a48e8a98836c0bcf78e6b502198..cbc907dde4d78aee11f88e0efb65bbaa3ea467b1 100644 (file)
@@ -289,7 +289,7 @@ some examples.")
           ,message
           (p (a (@ (href "/")) "Try something else?"))))))
 
-(define (issue-page bug)
+(define* (issue-page bug #:optional flash-message)
   "Render the conversation for the given BUG."
   (define id (bug-num bug))
   (define messages (patch-messages id))
@@ -367,6 +367,16 @@ some examples.")
    `(,(header)
      (div
       (@ (class "container"))
+      ,@(match flash-message
+          (('error . text)
+           `((div (@ (class "alert alert-danger")
+                     (role "alert"))
+                  ,text)))
+          (('info . text)
+           `((div (@ (class "alert alert-info")
+                     (role "alert"))
+                  ,text)))
+          (_ '()))
       (div
        (@ (class "title col-md-12"))
        (h1 ,(bug-subject* bug))