20 lines
766 B
Clojure
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))
|