diff --git a/src/main/frontend/components/block.cljs b/src/main/frontend/components/block.cljs index 09fad8b99c..01efea0d7a 100644 --- a/src/main/frontend/components/block.cljs +++ b/src/main/frontend/components/block.cljs @@ -483,6 +483,7 @@ [{:keys [children sidebar? tippy-position tippy-distance fixed-position? open? manual?] :as config} page-name] (let [*tippy-ref (rum/create-ref) page-name (util/page-name-sanity-lc page-name) + whiteboard-page? (model/whiteboard-page? page-name) redirect-page-name (or (model/get-redirect-page-name page-name (:block/alias? config)) page-name) page-original-name (model/get-page-original-name redirect-page-name) @@ -527,8 +528,11 @@ page-original-name])]) (let [page (db/entity [:block/name (util/page-name-sanity-lc redirect-page-name)])] (editor-handler/insert-first-page-block-if-not-exists! redirect-page-name {:redirect? false}) - (when-let [f (state/get-page-blocks-cp)] - (f (state/get-current-repo) page {:sidebar? sidebar? :preview? true})))])))] + (let [page-blocks-cp (state/get-page-blocks-cp) + tldraw-preview (state/get-component :whiteboard/tldraw-preview)] + (if whiteboard-page? + (tldraw-preview page-name) + (page-blocks-cp (state/get-current-repo) page {:sidebar? sidebar? :preview? true}))))])))] (if (or (not manual?) open?) (ui/tippy {:ref *tippy-ref diff --git a/src/main/frontend/components/page.cljs b/src/main/frontend/components/page.cljs index c8395e5d0b..30029a4e88 100644 --- a/src/main/frontend/components/page.cljs +++ b/src/main/frontend/components/page.cljs @@ -313,11 +313,8 @@ "control-show cursor-pointer" "control-hide")} (ui/rotating-arrow @*all-collapsed?)]]) -(defn resolve-tldraw-preview [] - (resolve 'frontend.components.whiteboard/tldraw-preview)) - (defn get-tldraw-preview [page-name] - ((resolve-tldraw-preview) page-name)) + ((state/get-component :whiteboard/tldraw-preview) page-name)) ;; A page is just a logical block (rum/defcs page < rum/reactive diff --git a/src/main/frontend/handler.cljs b/src/main/frontend/handler.cljs index 6d72990811..d1238ac410 100644 --- a/src/main/frontend/handler.cljs +++ b/src/main/frontend/handler.cljs @@ -1,15 +1,18 @@ (ns frontend.handler - (:require [electron.ipc :as ipc] + (:require [cljs.reader :refer [read-string]] + [electron.ipc :as ipc] [electron.listener :as el] [frontend.components.page :as page] [frontend.components.reference :as reference] + [frontend.components.whiteboard :as whiteboard] [frontend.config :as config] [frontend.context.i18n :as i18n] [frontend.db :as db] - [logseq.db.schema :as db-schema] [frontend.db.conn :as conn] + [frontend.db.persist :as db-persist] [frontend.db.react :as react] [frontend.error :as error] + [frontend.extensions.srs :as srs] [frontend.handler.command-palette :as command-palette] [frontend.handler.events :as events] [frontend.handler.file :as file-handler] @@ -18,21 +21,19 @@ [frontend.handler.repo :as repo-handler] [frontend.handler.ui :as ui-handler] [frontend.handler.user :as user-handler] - [frontend.extensions.srs :as srs] - [frontend.mobile.util :as mobile-util] [frontend.idb :as idb] + [frontend.mobile.util :as mobile-util] [frontend.modules.instrumentation.core :as instrument] + [frontend.modules.outliner.datascript :as outliner-db] [frontend.modules.shortcut.core :as shortcut] [frontend.state :as state] [frontend.storage :as storage] [frontend.util :as util] [frontend.util.persist-var :as persist-var] - [cljs.reader :refer [read-string]] [goog.object :as gobj] [lambdaisland.glogi :as log] - [promesa.core :as p] - [frontend.db.persist :as db-persist] - [frontend.modules.outliner.datascript :as outliner-db])) + [logseq.db.schema :as db-schema] + [promesa.core :as p])) (defn set-global-error-notification! [] @@ -172,6 +173,7 @@ [] (state/set-page-blocks-cp! page/page-blocks-cp) (state/set-component! :block/linked-references reference/block-linked-references) + (state/set-component! :whiteboard/tldraw-preview whiteboard/tldraw-preview) (command-palette/register-global-shortcut-commands)) (reset! db/*db-listener outliner-db/after-transact-pipelines)