aboutsummaryrefslogtreecommitdiff
path: root/src/dionysus/web/admin/home/server_settings.clj
blob: e4a8d3f3b7517bcf740338920aaad6ec1fd070cf (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
(ns dionysus.web.admin.home.server-settings
  (:require [ring.util.response :as ruresp]
            [dionysus.web.utils :as dwutils]
            [dionysus.web.enduser :as dwenduser]))

(defn render-server-settings []
  [:div {:id "server-settings"}
   [:input {:type       :checkbox
            :name       "enduser-ui"
            :style      {:display :inline-block}
            :checked    (dwenduser/server-runs?)
            :hx-trigger "input"
            :hx-post    "/server-settings"
            :hx-swap    "outerHTML"
            :hx-target  "#server-settings"}]
   [:p {:style {:display      :inline-block
                :margin-right "1ch"}} "Gäste UI"]])

(defn handle [req]
  (if (= (get-in req [:form-params "enduser-ui"]) "on")
    (dwenduser/start-server!)
    (dwenduser/stop-server!))
  (-> (render-server-settings)
      dwutils/render-html
      ruresp/response))