Made 'map' the default page, moved documentation to 'about'.
This commit is contained in:
parent
2d2ad00f5d
commit
eb354fdcda
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -24,3 +24,5 @@ resources/docs/orig.md
|
||||||
resources/public/img/map-pins/colours/*.svg
|
resources/public/img/map-pins/colours/*.svg
|
||||||
resources/public/img/map-pins/colours/*.png
|
resources/public/img/map-pins/colours/*.png
|
||||||
|
|
||||||
|
|
||||||
|
.rebel_readline_history
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 361 B After Width: | Height: | Size: 2 KiB |
|
@ -34,42 +34,38 @@
|
||||||
[:div#nav-menu.navbar-menu
|
[:div#nav-menu.navbar-menu
|
||||||
{:class (when @expanded? :is-active)}
|
{:class (when @expanded? :is-active)}
|
||||||
[:div.navbar-start
|
[:div.navbar-start
|
||||||
[nav-link "#/" "Home" :home]
|
[nav-link "#/" "Map" :map]
|
||||||
[nav-link "#/map" "Map" :map]
|
|
||||||
[nav-link "#/about" "About" :about]]]]))
|
[nav-link "#/about" "About" :about]]]]))
|
||||||
|
|
||||||
(defn about-page []
|
(defn about-page []
|
||||||
[:section.section>div.container>div.content
|
[:section.section>div.container>div.content
|
||||||
[:img {:src "/img/warning_clojure.png"}]
|
[:div
|
||||||
(when-let [images @(rf/subscribe [:available-pin-images])]
|
(when-let [docs @(rf/subscribe [:docs])]
|
||||||
[:div
|
[:div {:dangerouslySetInnerHTML {:__html (md->html docs)}}])
|
||||||
[:h2 "The following pin images are available on this server"]
|
(when-let [images @(rf/subscribe [:available-pin-images])]
|
||||||
(apply
|
[:div
|
||||||
vector
|
[:h2 "The following pin images are available on this server"]
|
||||||
(cons
|
(apply
|
||||||
:ol
|
vector
|
||||||
(map
|
(cons
|
||||||
#(vector
|
:ol
|
||||||
:ol
|
(map
|
||||||
[:img
|
#(vector
|
||||||
{:src
|
:ol
|
||||||
(str
|
[:img
|
||||||
"img/map-pins/"
|
{:src
|
||||||
(s/capitalize
|
(str
|
||||||
(s/replace
|
"img/map-pins/"
|
||||||
(s/lower-case
|
(s/capitalize
|
||||||
(str %))
|
(s/replace
|
||||||
#"[^a-z0-9]" "-"))
|
(s/lower-case
|
||||||
"-pin.png")
|
(str %))
|
||||||
:alt %}]
|
#"[^a-z0-9]" "-"))
|
||||||
" "
|
"-pin.png")
|
||||||
%)
|
:alt %}]
|
||||||
(sort images))))])])
|
" "
|
||||||
|
%)
|
||||||
(defn home-page []
|
(sort images))))])]])
|
||||||
[:section.section>div.container>div.content
|
|
||||||
(when-let [docs @(rf/subscribe [:docs])]
|
|
||||||
[:div {:dangerouslySetInnerHTML {:__html (md->html docs)}}])])
|
|
||||||
|
|
||||||
(defn map-page []
|
(defn map-page []
|
||||||
"Return the content for the main map page. Map showing current location."
|
"Return the content for the main map page. Map showing current location."
|
||||||
|
@ -77,8 +73,7 @@
|
||||||
(mv/panel))
|
(mv/panel))
|
||||||
|
|
||||||
(def pages
|
(def pages
|
||||||
{:home #'home-page
|
{:map #'map-page
|
||||||
:map #'map-page
|
|
||||||
:about #'about-page})
|
:about #'about-page})
|
||||||
|
|
||||||
(defn page []
|
(defn page []
|
||||||
|
@ -92,14 +87,12 @@
|
||||||
|
|
||||||
(def router
|
(def router
|
||||||
(reitit/router
|
(reitit/router
|
||||||
[["/" {:name :home
|
[["/" {:name :map
|
||||||
:view #'home-page
|
|
||||||
:controllers [{:start (fn [_] (rf/dispatch [:init-home]))}]}]
|
|
||||||
["/map" {:name :map
|
|
||||||
:view #'map-page
|
:view #'map-page
|
||||||
:controllers [{:start (fn [_] (rf/dispatch [:init-map]))}]}]
|
:controllers [{:start (fn [_] (rf/dispatch [:init-map]))}]}]
|
||||||
["/about" {:name :about
|
["/about" {:name :about
|
||||||
:view #'about-page}]]))
|
:view #'about-page
|
||||||
|
:controllers [{:start (fn [_] (rf/dispatch [:init-about]))}]}]]))
|
||||||
|
|
||||||
(defn start-router! []
|
(defn start-router! []
|
||||||
(rfe/start!
|
(rfe/start!
|
||||||
|
|
|
@ -38,5 +38,5 @@
|
||||||
"Power-supplier"} ;; need to be fetched from server side
|
"Power-supplier"} ;; need to be fetched from server side
|
||||||
:latitude 56
|
:latitude 56
|
||||||
:longitude -4
|
:longitude -4
|
||||||
:page :home
|
:page :about
|
||||||
:zoom 1})
|
:zoom 1})
|
||||||
|
|
|
@ -50,6 +50,12 @@
|
||||||
(js/console.log (str "Failed to fetch data data" response))
|
(js/console.log (str "Failed to fetch data data" response))
|
||||||
db))
|
db))
|
||||||
|
|
||||||
|
(rf/reg-event-db
|
||||||
|
:bad-docs
|
||||||
|
(fn [db [_ _]]
|
||||||
|
(js/console.log "Failed to fetch docs")
|
||||||
|
(assoc db :docs "**WARNING:** failed to fetch documentation from server.")))
|
||||||
|
|
||||||
(rf/reg-event-db
|
(rf/reg-event-db
|
||||||
:common/set-error
|
:common/set-error
|
||||||
(fn [db [_ error]]
|
(fn [db [_ error]]
|
||||||
|
@ -96,10 +102,11 @@
|
||||||
{:http-xhrio {:method :get
|
{:http-xhrio {:method :get
|
||||||
:uri "/docs"
|
:uri "/docs"
|
||||||
:response-format (ajax/raw-response-format)
|
:response-format (ajax/raw-response-format)
|
||||||
:on-success [:set-docs]}}))
|
:on-success [:set-docs]
|
||||||
|
:on-failure [:bad-docs]}}))
|
||||||
|
|
||||||
(rf/reg-event-fx
|
(rf/reg-event-fx
|
||||||
:init-home
|
:init-about
|
||||||
(fn [_ _]
|
(fn [_ _]
|
||||||
{:dispatch [:fetch-docs]}))
|
{:dispatch [:fetch-docs]}))
|
||||||
|
|
||||||
|
@ -152,7 +159,7 @@
|
||||||
(fn
|
(fn
|
||||||
[{db :db} [_ response]]
|
[{db :db} [_ response]]
|
||||||
(let [db' (assoc db :available-pin-images (set response))]
|
(let [db' (assoc db :available-pin-images (set response))]
|
||||||
(js/console.log (str "processing pin images"))
|
(js/console.log "processing pin images")
|
||||||
{:db (if
|
{:db (if
|
||||||
(:view db')
|
(:view db')
|
||||||
(refresh-map-pins db')
|
(refresh-map-pins db')
|
||||||
|
@ -161,6 +168,7 @@
|
||||||
(rf/reg-event-db
|
(rf/reg-event-db
|
||||||
:set-docs
|
:set-docs
|
||||||
(fn [db [_ docs]]
|
(fn [db [_ docs]]
|
||||||
|
(js/console.log "Successfully fetched docs")
|
||||||
(assoc db :docs docs)))
|
(assoc db :docs docs)))
|
||||||
|
|
||||||
(rf/reg-event-db
|
(rf/reg-event-db
|
||||||
|
|
Loading…
Reference in a new issue