aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/view/home.scm
blob: c5428b15963edbe1faba142856c721e1a7cd24a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
(define-module (guix-qa-frontpage view home)
  #:use-module (srfi srfi-1)
  #:use-module (ice-9 match)
  #:use-module (guix-qa-frontpage view util)
  #:export (home
            readme))

(define (home branches)
  (layout
   #:description "Guix Quality Assurance"
   #:body
   `((main
      (div
       (@ (class "row"))
       (section
        (a (@ (href "/branch/master"))
           (h2 "branch: master"))))

      (h2 ,(gettext "Patches" "guix-qa-frontpage"))
      (div
       (@ (class "row"))
       (section
        (a (@ (href "/patches"))
           "List of issues for patches")))

      (h2 "Branches")
      (div
       (@ (class "row"))
       (section
        (table
         (thead
          (tr (th "Branch")
              (th "Request to merge")))
         (tbody
          ,@(append-map
             (match-lambda
               ((branch . details)
                (let ((issue-number
                       (assoc-ref details "issue_number")))
                  `((tr
                     (td (a (@ (href ,(string-append "/branch/" branch))
                               (style "font-family: monospace;"))
                            ,branch))
                     (td ,@(if issue-number
                               `((a (@ (href ,(string-append
                                               "https://issues.guix.gnu.org/"
                                               (number->string issue-number))))
                                    "#" ,issue-number))
                               '())))))))
             branches)))))

      (p
       (@ (style "width: unset; text-align: center;"))
       "qa.guix.gnu.org is powered by the Guix qa-frontpage."
       (br)
       "Find the code in "
       (a (@ (href "https://git.savannah.gnu.org/cgit/guix/qa-frontpage.git/"))
          "this git repository")
       " and send patches to "
       (a (@ (href "mailto:guix-devel@gnu.org"))
          "guix-devel@gnu.org")
       ".")))))

(define (readme contents)
  (layout
   #:description "Guix Quality Assurance"
   #:body
   `((main
      (raw ,contents)))))