 (secretary/defroute "/" []
   (session/put! :current-page #'home-page))
 
+(secretary/defroute "/stalky" []
+  (session/put! :current-page #'Stalky))
+
 (secretary/defroute "/about" []
-  (session/put! :current-page #'about))
+  (session/put! :current-page #'About))
 
 (secretary/defroute "/filters" []
   (session/put! :current-page #'Filters))
+
 ;; -------------------------
 ;; History
 ;; must be called after routes have been defined

(defn home-page []
  (try
    [:div
     (let [people (filter-people @people-atom)]
       (cond
         (nil? people) [:h2 "There has been an error while applying your filters!"]
         (= 0 (count people)) [:h2 "No one that fits your filters is in!"]
         :else (for [[floor people] people]
                 ^{:key floor} [Floor floor people])))]
    (catch :default e
      (prn e)
      [:h2 "There has been an error while applying your filters!"])))

              ((fn [new-expr]
                 `(fn [~my-user]
                    (let [~'substring? (fn [~'string ~'subsstr] (> (.indexOf ~'string ~'subsstr) -1))
                          ~'starts-with? (fn [~'string ~'substr] (.startsWith ~'string ~'substr))
                          ~'includes? (fn [~'coll ~'item] (some #{~'item} ~'coll))]
                      ~new-expr))) ,,,,) 
              ((fn [expr] (prn expr) expr))
              (eval-str ,,,))))

(defn nil->Out [by-floors]
  (into {}
        (for [[k v] by-floors]
          [(if (nil? k) "Out!" k) v]))  )


(defn filter-people [people]
  (try
    (if-not (empty? @filters)
      (let [my-filters (map #(create-filter-fn all-profile-keys %) @filters)]
        (filter (apply every-pred my-filters) people))
      people)
    (catch :default e
      (println "Error while filtering")
      (prn e))))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
