summaryrefslogtreecommitdiffstats
path: root/src/view/main.phel
blob: 947659157a4af2c19f57592601657f2d11aa335a (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
(ns lezer.view.main
  (:require phel.router :as r)
  (:require phel.html :refer [html doctype])
  (:require phel.string :as str))

(def- head
  [:head
   [:meta {:charset "utf-8"}]
   [:meta {:name "viewport" :content "width=device-width, initial-scale=1"}]
   [:link {:rel "stylesheet" :href "./css/style.css"}]
   [:link {:rel "icon" :type "image/png" :href "./images/favicon-32.png"}]
   [:title "Lezer"]])

(def- logo
  [:div {:class "logo"}
   [:img {:src "./images/logo.svg" :width "360"}]])

(def- links
  [:div {:class "links"}
   [:a {:href "https://phel-lang.org/"} "Homepage"]
   [:a {:href "https://phel-lang.org/documentation/getting-started/"} "Getting started"]
   [:a {:href "https://github.com/phel-lang/phel-lang"} "GitHub"]
   [:a {:href "https://gitter.im/phel-lang/community"} "Community"]])

(defn content [books router]
  (html
   (doctype :html5)
   [:html
    head
    [:body
     [:ul
      (for [b :in books]
        [:li (:title (:book b))
         " by "
         (for [a :in (:authors b)]
           [:a {:href (r/generate router :author {:id (:id a)})} (:name a)])])]
     [:div {:class "flex-center position-ref full-height"}
      [:form {:action "/book" :method "POST"}
       [:label {:for "title"} "Title: "]
       [:input {:type "text" :name "title"}]
       [:br]
       [:label {:for "author"} "Author: "]
       [:input {:type "text" :name "author"}]
       [:input {:type "submit"}]]]]]))

(defn index-html [books router]
  (content books router))