fix(ui): Page title show null #1343

pull/1350/head
charlie 2021-02-22 16:59:57 +08:00 committed by Tienson Qin
parent d1c1bb3d1d
commit 12e23c932a
3 changed files with 27 additions and 8 deletions

View File

@ -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

View File

@ -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}

View File

@ -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]