diff --git a/.gitignore b/.gitignore index 23793cd..164b6fb 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ resources/docs/orig.md resources/public/img/map-pins/colours/*.svg resources/public/img/map-pins/colours/*.png + +.rebel_readline_history diff --git a/resources/public/img/map-pins/Developer-pin.png b/resources/public/img/map-pins/Developer-pin.png index 62c76a9..9cad063 100644 Binary files a/resources/public/img/map-pins/Developer-pin.png and b/resources/public/img/map-pins/Developer-pin.png differ diff --git a/src/cljs/geocsv/client/core.cljs b/src/cljs/geocsv/client/core.cljs index b67025d..5cdfd0d 100644 --- a/src/cljs/geocsv/client/core.cljs +++ b/src/cljs/geocsv/client/core.cljs @@ -34,42 +34,38 @@ [:div#nav-menu.navbar-menu {:class (when @expanded? :is-active)} [:div.navbar-start - [nav-link "#/" "Home" :home] - [nav-link "#/map" "Map" :map] + [nav-link "#/" "Map" :map] [nav-link "#/about" "About" :about]]]])) (defn about-page [] [:section.section>div.container>div.content - [:img {:src "/img/warning_clojure.png"}] - (when-let [images @(rf/subscribe [:available-pin-images])] - [:div - [:h2 "The following pin images are available on this server"] - (apply - vector - (cons - :ol - (map - #(vector - :ol - [:img - {:src - (str - "img/map-pins/" - (s/capitalize - (s/replace - (s/lower-case - (str %)) - #"[^a-z0-9]" "-")) - "-pin.png") - :alt %}] - " " - %) - (sort images))))])]) - -(defn home-page [] - [:section.section>div.container>div.content - (when-let [docs @(rf/subscribe [:docs])] - [:div {:dangerouslySetInnerHTML {:__html (md->html docs)}}])]) + [:div + (when-let [docs @(rf/subscribe [:docs])] + [:div {:dangerouslySetInnerHTML {:__html (md->html docs)}}]) + (when-let [images @(rf/subscribe [:available-pin-images])] + [:div + [:h2 "The following pin images are available on this server"] + (apply + vector + (cons + :ol + (map + #(vector + :ol + [:img + {:src + (str + "img/map-pins/" + (s/capitalize + (s/replace + (s/lower-case + (str %)) + #"[^a-z0-9]" "-")) + "-pin.png") + :alt %}] + " " + %) + (sort images))))])]]) (defn map-page [] "Return the content for the main map page. Map showing current location." @@ -77,8 +73,7 @@ (mv/panel)) (def pages - {:home #'home-page - :map #'map-page + {:map #'map-page :about #'about-page}) (defn page [] @@ -92,14 +87,12 @@ (def router (reitit/router - [["/" {:name :home - :view #'home-page - :controllers [{:start (fn [_] (rf/dispatch [:init-home]))}]}] - ["/map" {:name :map + [["/" {:name :map :view #'map-page :controllers [{:start (fn [_] (rf/dispatch [:init-map]))}]}] ["/about" {:name :about - :view #'about-page}]])) + :view #'about-page + :controllers [{:start (fn [_] (rf/dispatch [:init-about]))}]}]])) (defn start-router! [] (rfe/start! diff --git a/src/cljs/geocsv/client/db.cljs b/src/cljs/geocsv/client/db.cljs index 557dec3..19a0afd 100644 --- a/src/cljs/geocsv/client/db.cljs +++ b/src/cljs/geocsv/client/db.cljs @@ -38,5 +38,5 @@ "Power-supplier"} ;; need to be fetched from server side :latitude 56 :longitude -4 - :page :home + :page :about :zoom 1}) diff --git a/src/cljs/geocsv/client/events.cljs b/src/cljs/geocsv/client/events.cljs index 5b6da4a..e49325e 100644 --- a/src/cljs/geocsv/client/events.cljs +++ b/src/cljs/geocsv/client/events.cljs @@ -50,6 +50,12 @@ (js/console.log (str "Failed to fetch data data" response)) 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 :common/set-error (fn [db [_ error]] @@ -96,10 +102,11 @@ {:http-xhrio {:method :get :uri "/docs" :response-format (ajax/raw-response-format) - :on-success [:set-docs]}})) + :on-success [:set-docs] + :on-failure [:bad-docs]}})) (rf/reg-event-fx - :init-home + :init-about (fn [_ _] {:dispatch [:fetch-docs]})) @@ -152,7 +159,7 @@ (fn [{db :db} [_ 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 (:view db') (refresh-map-pins db') @@ -161,6 +168,7 @@ (rf/reg-event-db :set-docs (fn [db [_ docs]] + (js/console.log "Successfully fetched docs") (assoc db :docs docs))) (rf/reg-event-db