diff --git a/web/src/main/frontend/components/page.cljs b/web/src/main/frontend/components/page.cljs index b7eabbc3a7..9e63e6c5e8 100644 --- a/web/src/main/frontend/components/page.cljs +++ b/web/src/main/frontend/components/page.cljs @@ -361,12 +361,15 @@ [:p.opacity-70.font-medium "Empty"]]))) (rum/defc all-pages < rum/reactive + {:did-mount (fn [state] + (let [current-repo (state/sub :git/current-repo)] + (db/remove-orphaned-pages! current-repo)) + state)} [] (let [current-repo (state/sub :git/current-repo)] [:div.flex-1 [:h1.title "All Pages"] (when current-repo - (db/remove-orphaned-pages! current-repo) (let [pages (db/get-pages-with-modified-at current-repo)] [:table.table-auto [:thead diff --git a/web/src/main/frontend/db.cljs b/web/src/main/frontend/db.cljs index 633c42ce8c..82d93f1e2a 100644 --- a/web/src/main/frontend/db.cljs +++ b/web/src/main/frontend/db.cljs @@ -1993,12 +1993,12 @@ (defn remove-orphaned-pages! [repo] - (let [empty-pages (get-pages repo) + (let [all-pages (get-pages repo) orphaned-pages (remove nil? (map (fn [page] (let [name (string/lower-case page)] (if (and (empty? (get-pages-that-mentioned-page repo name)) (not (journal-page? name)) - (empty? (get-page-headings name))) name nil))) empty-pages)) + (empty? (get-page-headings name))) name nil))) all-pages)) transaction (mapv (fn [name] [:db/retractEntity (:db/id (get-page (str name)))]) orphaned-pages)] (transact! transaction)))