|
|
@@ -1,21 +1,19 @@
|
|
|
(ns frontend.handler.recent
|
|
|
"Fns related to recent pages feature"
|
|
|
- (:require [frontend.db :as db]))
|
|
|
+ (:require [frontend.handler.db-based.recent :as db-based]
|
|
|
+ [frontend.handler.file-based.recent :as file-based]
|
|
|
+ [frontend.config :as config]
|
|
|
+ [frontend.state :as state]))
|
|
|
|
|
|
(defn add-page-to-recent!
|
|
|
[repo page click-from-recent?]
|
|
|
- (let [pages (or (db/get-key-value repo :recent/pages)
|
|
|
- '())]
|
|
|
- (when (or (and click-from-recent? (not ((set pages) page)))
|
|
|
- (not click-from-recent?))
|
|
|
- (let [new-pages (take 15 (distinct (cons page pages)))]
|
|
|
- (db/set-key-value repo :recent/pages new-pages)))))
|
|
|
+ (if (config/db-based-graph? repo)
|
|
|
+ (db-based/add-page-to-recent! repo page click-from-recent?)
|
|
|
+ (file-based/add-page-to-recent! repo page click-from-recent?)))
|
|
|
|
|
|
-(defn update-or-add-renamed-page [repo old-page-name new-page-name]
|
|
|
- (let [pages (or (db/get-key-value repo :recent/pages)
|
|
|
- '())
|
|
|
- updated-pages (replace {old-page-name new-page-name} pages)
|
|
|
- updated-pages* (if (contains? (set updated-pages) new-page-name)
|
|
|
- updated-pages
|
|
|
- (cons new-page-name updated-pages))]
|
|
|
- (db/set-key-value repo :recent/pages updated-pages*)))
|
|
|
+(defn get-recent-pages
|
|
|
+ []
|
|
|
+ (let [repo (state/get-current-repo)]
|
|
|
+ (if (config/db-based-graph? repo)
|
|
|
+ (db-based/get-recent-pages)
|
|
|
+ (file-based/get-recent-pages))))
|