summaryrefslogtreecommitdiff
path: root/pages/index.fnl
blob: a7761a212fce566031c9d7a896e2c2c9bf70ec9b (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
70
71
(import-macros {:compile-html HTML} :macros)
(local lib (require :lib))
(local templates (require :templates))

(local texts {
  :address
    (lib.improve-typography
      "г. Омск, ул. Пушкина, д. 133/9, этаж 2. Вход с крыльца Магнита, дверь
       слева, домофон 4. Дверь в офисе узнаете по нашему логотипу.")

  :individual-ceremony
    (lib.improve-typography
      "Индивидуальная чайная церемония: мастер готовит для вас чай на ваш выбор.
       О времени встречи договариваемся. Стоимость 1000 рублей с человека,
       до 5 человек.")

  :weekly-meetings
    (lib.improve-typography
      "Еженедельное мероприятие: каждую субботу в 15:00 мы собираемся и пьем
       чай из нашей коллекции. Для посещения необходима запись в комментариях
       под соответствующим постом в нашей группе. Стоимость 500 рублей
       с человека.")})

(fn pick-gallery-photo [list]
  (let [chosen (. list (math.random (# list)))]
    (HTML
     [:div {}
      [:a {:href (.. "static/" chosen.name ".webp") :target "_blank"} ""]
      [:img {:src (.. "static/" chosen.name "-p.webp") :alt chosen.alt}]])))

(fn content [authenticated?]
  [(HTML
    [:div {:class "side mb-2"}
     (templates.header "" authenticated?)
     [:section {:class "mb-2"}
      [:h2 {} "Адрес"]
      [:p {} [:NO-ESCAPE texts.address]]]
     [:section {}
      [:h2 {} "Форматы участия"]
      [:div {:class "mb-2"}
        [:div {:class "mb-1"} [:NO-ESCAPE texts.individual-ceremony]]
        [:div {}
         [:a {:href "https://t.me/whitetoadvlad"} "Записаться ⟶"]]]
      [:div {}
       [:div {:class "mb-1"} [:NO-ESCAPE texts.weekly-meetings]]
       [:div {}
        [:a {:href "https://t.me/whitetoadtea"} "Подписаться ⟶"]]]]])
   (HTML
    [:div {:class "content"}
     [:div {:class "gallery"}
      (pick-gallery-photo [{:name "people" :alt "Люди в чайной"}
                           {:name "gaiwan2" :alt "Близко сфотографированный чайный столик с пиалами и гайванью"}
                           {:name "teapot2" :alt "Пиала и чайник на фоне гирлянды"}])
      (pick-gallery-photo [{:name "table" :alt "Сфотографированные сверху пиалы на японском столике"}])
      [:div {}
       [:video {:autoplay true :loop true :muted true}
        [:source {:src "static/boiling-p.webm" :type "video/webm"}]]]
      (pick-gallery-photo [{:name "gaiwan" :alt "Гайвань и ширма с гирляндами на фоне"}
                           {:name "wall" :alt "Белая стена с веером и тенью окна"}
                           {:name "teapot" :alt "Чайник в темноте на светлом фоне гирлянд"}
                           {:name "teapot3" :alt "Чайник в руке на фоне растений"}])
      (pick-gallery-photo [{:name "rack" :alt "Стеллаж с чайной посудой"}
                           {:name "flowers" :alt "Ваза с цветами рядом с чайным столиком"}])
      [:div {}
       [:video {:autoplay true :loop true :muted true}
        [:source {:src "static/gaiwan-p.webm" :type "video/webm"}]]]]])])

(fn render [request _ authenticated?]
 (values 200 {} (templates.base (content authenticated?))))

{: render}