From adda2b6bf2ce06a9a6866eb9bd1fb822e52de54d Mon Sep 17 00:00:00 2001 From: charlie Date: Mon, 5 Aug 2024 10:25:42 +0800 Subject: [PATCH] fix(plugin): unnecessary re-render for the page header slots --- src/main/frontend/components/page.cljs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/frontend/components/page.cljs b/src/main/frontend/components/page.cljs index 9aaa4e057..cfb53b58d 100644 --- a/src/main/frontend/components/page.cljs +++ b/src/main/frontend/components/page.cljs @@ -474,6 +474,15 @@ (when-let [path-page-name (get-path-page-name state page-name)] (util/page-name-sanity-lc path-page-name))) +(rum/defc lsp-pagebar-slot < + rum/static + [] + (when (not config/publishing?) + (when config/lsp-enabled? + [:div.flex.flex-row + (plugins/hook-ui-slot :page-head-actions-slotted nil) + (plugins/hook-ui-items :pagebar)]))) + ;; A page is just a logical block (rum/defcs ^:large-vars/cleanup-todo page-inner < rum/reactive db-mixins/query (rum/local false ::all-collapsed?) @@ -543,11 +552,7 @@ :preview? preview? :*hover? (::hover-title? state) :*show-page-info? (::show-page-info? state)})) - (when (not config/publishing?) - (when config/lsp-enabled? - [:div.flex.flex-row - (plugins/hook-ui-slot :page-head-actions-slotted nil) - (plugins/hook-ui-items :pagebar)]))]) + (lsp-pagebar-slot)]) (cond (and db-based? (not block?))