diff --git a/src/main/frontend/date.cljs b/src/main/frontend/date.cljs index 4c796958e0..849b242ce6 100644 --- a/src/main/frontend/date.cljs +++ b/src/main/frontend/date.cljs @@ -69,6 +69,10 @@ [] (journal-name)) +(defn today-name + [] + (tf/unparse mmm-do-yyyy-formatter (t/today))) + (defn tomorrow [] (journal-name (t/plus (start-of-day (tl/local-now)) (t/days 1)))) diff --git a/src/main/frontend/handler/common/page.cljs b/src/main/frontend/handler/common/page.cljs index 2fa1f431e9..aff10413e1 100644 --- a/src/main/frontend/handler/common/page.cljs +++ b/src/main/frontend/handler/common/page.cljs @@ -38,7 +38,7 @@ (defn (update options :tags concat (:block/tags parsed-result)) - (nil? (:split-namespace? options)) - (assoc :split-namespace? true)) - [_page-name page-uuid] (ui-outliner-tx/transact! - {:outliner-op :create-page} - (outliner-op/create-page! title' options')) - page (db/get-page (or page-uuid title'))] - (when redirect? - (route-handler/redirect-to-page! page-uuid) - (when-not today-journal? - (js/setTimeout - (fn [] - (when-let [block-add-button (->> (dom/sel ".block-add-button") - (filter #(= (str (:db/id page)) (dom/attr % "parentblockid"))) - first)] - (.click block-add-button))) - 200))) - page))))))) + (p/let [existing-page (when-not class? (db/get-page title'))] + (if existing-page + existing-page + (p/let [options' (cond-> (update options :tags concat (:block/tags parsed-result)) + (nil? (:split-namespace? options)) + (assoc :split-namespace? true)) + [_page-name page-uuid] (ui-outliner-tx/transact! + {:outliner-op :create-page} + (outliner-op/create-page! title' options')) + page (db/get-page (or page-uuid title'))] + (when redirect? + (route-handler/redirect-to-page! page-uuid) + (when-not today-journal? + (js/setTimeout + (fn [] + (when-let [block-add-button (->> (dom/sel ".block-add-button") + (filter #(= (str (:db/id page)) (dom/attr % "parentblockid"))) + first)] + (.click block-add-button))) + 200))) + page))))))))) ;; favorite fns ;; ============ diff --git a/src/main/frontend/handler/page.cljs b/src/main/frontend/handler/page.cljs index 6fcb02176a..9708eccb72 100644 --- a/src/main/frontend/handler/page.cljs +++ b/src/main/frontend/handler/page.cljs @@ -17,7 +17,6 @@ [frontend.handler.notification :as notification] [frontend.handler.plugin :as plugin-handler] [frontend.handler.property :as property-handler] - [frontend.handler.ui :as ui-handler] [frontend.modules.outliner.op :as outliner-op] [frontend.modules.outliner.ui :as ui-outliner-tx] [frontend.state :as state] @@ -258,16 +257,14 @@ (not config/publishing?)) (when-let [title (date/today)] (state/set-today! title) - (let [today-page (util/page-name-sanity-lc title) - create-f (fn [] - (p/let [result (