Files
integreat/src/cljs/auto_ap/history.cljs

20 lines
766 B
Clojure

(ns auto-ap.history
(:require [bidi.bidi :as bidi]
[pushy.core :as pushy]
[auto-ap.routes :as routes]
[cemerick.url :refer [url]]
[re-frame.core :as re-frame]))
(defn- parse-url [url]
(println url)
(bidi/match-route routes/routes url))
(defn- dispatch-route [matched-route]
(println "Matched route" matched-route)
(re-frame/dispatch [:auto-ap.events/set-active-page (:handler matched-route) (->> (:query (url (.-location js/window)))
(map (fn [[k v]] [(keyword k) v]))
(into {}))]))
(def history (pushy/pushy dispatch-route parse-url))