diff --git a/src/main/frontend/components/sidebar.cljs b/src/main/frontend/components/sidebar.cljs index 6fae317fa..5e125f90f 100644 --- a/src/main/frontend/components/sidebar.cljs +++ b/src/main/frontend/components/sidebar.cljs @@ -297,6 +297,7 @@ (state/set-left-sidebar-open! false)) me (state/sub :me) current-repo (state/sub :git/current-repo) + granted? (state/sub [:nfs/user-granted? (state/get-current-repo)]) theme (state/sub :ui/theme) white? (= "white" (state/sub :ui/theme)) sidebar-open? (state/sub :ui/sidebar-open?) @@ -310,8 +311,11 @@ default-home (get-default-home-if-valid)] (rum/with-context [[t] i18n/*tongue-context*] (theme/container - {:theme theme - :on-click editor-handler/unhighlight-block!} + {:theme theme + :route route-match + :nfs-granted? granted? + :db-restoring? db-restoring? + :on-click editor-handler/unhighlight-block!} [:div.theme-inner (sidebar-mobile-sidebar diff --git a/src/main/frontend/components/theme.cljs b/src/main/frontend/components/theme.cljs index ff70113f7..07ccd9408 100644 --- a/src/main/frontend/components/theme.cljs +++ b/src/main/frontend/components/theme.cljs @@ -1,11 +1,12 @@ (ns frontend.components.theme (:require [rum.core :as rum] [frontend.util :as util] + [frontend.handler.route :as route-handler] [frontend.version :refer [version]] [frontend.components.svg :as svg])) (rum/defc container - [{:keys [theme on-click] :as props} child] + [{:keys [route theme on-click nfs-granted? db-restoring?] :as props} child] (rum/use-effect! #(let [doc js/document.documentElement cls (.-classList doc)] @@ -14,6 +15,15 @@ (.add cls "dark") (.remove cls "dark"))) [theme]) + + (rum/use-effect! + #(let [db-restored? (false? db-restoring?)] + (if db-restoring? + (util/set-title! "Loading") + (when (or nfs-granted? db-restored?) + (route-handler/update-page-title! route)))) + [nfs-granted? db-restoring? route]) + [:div {:class (str theme "-theme") :on-click on-click} diff --git a/src/main/frontend/handler/route.cljs b/src/main/frontend/handler/route.cljs index 1f0770f9a..148fdacb9 100644 --- a/src/main/frontend/handler/route.cljs +++ b/src/main/frontend/handler/route.cljs @@ -58,7 +58,8 @@ (let [page (util/url-decode name) page (db/pull [:page/name (string/lower-case page)])] (or (:page/original-name page) - (:page/name page))))) + (:page/name page) + "Logseq")))) :tag (str "#" (util/url-decode (:name path-params))) :diff @@ -71,14 +72,18 @@ "Import data into Logseq" "Logseq")) +(defn update-page-title! + [route] + (let [{:keys [data path-params]} route + title (get-title (:name data) path-params)] + (util/set-title! title))) + (defn set-route-match! [route] (let [route route] (swap! state/state assoc :route-match route) - (let [{:keys [data path-params]} route - title (get-title (:name data) path-params)] - (util/set-title! title) - (util/scroll-to-top)))) + (update-page-title! route) + (util/scroll-to-top))) (defn jump-to-anchor! [anchor-text]