aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/web/view/html.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/web/view/html.scm')
-rw-r--r--guix-data-service/web/view/html.scm63
1 files changed, 63 insertions, 0 deletions
diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm
index 2b0b484..84c35b8 100644
--- a/guix-data-service/web/view/html.scm
+++ b/guix-data-service/web/view/html.scm
@@ -48,6 +48,7 @@
view-builds
view-derivation
view-formatted-derivation
+ view-narinfos
view-store-item
view-derivation-source-file
error-page))
@@ -804,6 +805,68 @@
(style "font-family: monospace; font-size: 1.5em;"))
")")))))))))
+(define (view-narinfos narinfos)
+ (layout
+ #:body
+ `(,(header)
+ (div
+ (@ (class "container"))
+ ,@(map
+ (match-lambda
+ ((hash-algorithm hash size urls signatures)
+ `((div
+ (@ (class "row"))
+ (div
+ (@ (class "col-sm-6"))
+ (h4 (@ (style "font-family: monospace;"))
+ ,hash)
+ (table
+ (@ (class "table")
+ (style "table-layout: fixed;"))
+ (thead
+ (tr
+ (th (@ (class "col-sm-1")) "Size")
+ (th (@ (class "col-sm-4")) "Urls")))
+ (tbody
+ (td ,size)
+ (td
+ (ul
+ ,@(map
+ (lambda (url-details)
+ `(li
+ "Size: " ,(assoc-ref url-details "size")
+ " Compression: " ,(assoc-ref url-details "compression")
+ " "
+ (a (@ (href ,(assoc-ref url-details "url")))
+ ,(assoc-ref url-details "url"))))
+ urls)))))))
+ ,@(map
+ (lambda (signature)
+ `(div
+ (@ (class "row"))
+ (div
+ (@ (class "col-sm-6"))
+ (dl
+ (@ (class "dl-horizontal"))
+ (dt "Version")
+ (dd ,(assoc-ref signature "version"))
+ (dt "Host name")
+ (dd ,(assoc-ref signature "host_name")))
+
+ "data"
+ ,(sexp-div (assoc-ref signature "data"))
+ "sig_val"
+ ,(sexp-div (assoc-ref signature "sig_val"))
+ "public_key"
+ ,(sexp-div
+ (assoc-ref signature "narinfo_signature_public_key")))
+ (div
+ (@ (class "col-sm-6"))
+ (pre ,(assoc-ref signature "body"))
+ (pre ,(assoc-ref signature "signature_line")))))
+ signatures))))
+ narinfos)))))
+
(define (general-not-found header-text body)
(layout
#:body