From 7bb2b4b017b766c3b1ea1675d3a1129d75b375bf Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 5 Dec 2019 16:31:38 +0100 Subject: Add a utility to generate a span for the status of a build --- guix-data-service/web/html-utils.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/guix-data-service/web/html-utils.scm b/guix-data-service/web/html-utils.scm index a0619d4..4ba6b40 100644 --- a/guix-data-service/web/html-utils.scm +++ b/guix-data-service/web/html-utils.scm @@ -20,7 +20,8 @@ #:export (sexp-div build-status-value->display-string - build-status-span)) + build-status-span + build-status-alist->build-icon)) (define (sexp-div sexp) (peek "SEXP" sexp) @@ -65,3 +66,20 @@ status))) (style "display: inline-block; font-size: 1.2em; margin-top: 0.4em;")) ,(build-status-value->display-string status))) + +(define (build-status-alist->build-icon status) + `(span (@ (class ,(string-append + "label label-" + (assoc-ref + '(("scheduled" . "info") + ("started" . "primary") + ("succeeded" . "success") + ("failed" . "danger") + ("failed-dependency" . "warning") + ("failed-other" . "danger") + ("canceled" . "default") + ("" . "default")) + (assoc-ref status "status")))) + (style "display: inline-block; font-size: 1.2em; margin-top: 0.4em;")) + ,(build-status-value->display-string + (assoc-ref status "status")))) -- cgit v1.2.3