mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
fix: optimize untitled whiteboard page name display
This commit is contained in:
@@ -564,12 +564,14 @@
|
||||
All page-names are sanitized except page-name-in-block"
|
||||
[config page-name-in-block page-name redirect-page-name page-entity contents-page? children html-export? label whiteboard-page?]
|
||||
(let [tag? (:tag? config)
|
||||
config (assoc config :whiteboard-page? whiteboard-page?)]
|
||||
config (assoc config :whiteboard-page? whiteboard-page?)
|
||||
untitled? (model/untitled-page? page-name)]
|
||||
[:a
|
||||
{:tabIndex "0"
|
||||
:class (cond-> (if tag? "tag" "page-ref")
|
||||
(:property? config)
|
||||
(str " page-property-key block-property"))
|
||||
(str " page-property-key block-property")
|
||||
untitled? (str " opacity-50"))
|
||||
:data-ref page-name
|
||||
:on-mouse-down (fn [e] (open-page-ref e page-name redirect-page-name page-name-in-block contents-page? whiteboard-page?))
|
||||
:on-key-up (fn [e] (when (and e (= (.-key e) "Enter"))
|
||||
@@ -593,9 +595,14 @@
|
||||
|
||||
:else
|
||||
(let [original-name (util/get-page-original-name page-entity)
|
||||
s (if (not= (util/safe-page-name-sanity-lc original-name) page-name-in-block)
|
||||
page-name-in-block ;; page-name-in-block might be overrided (legacy)
|
||||
(pdf-assets/human-page-name original-name))
|
||||
s (cond untitled?
|
||||
(t :untitled)
|
||||
|
||||
(not= (util/safe-page-name-sanity-lc original-name) page-name-in-block)
|
||||
page-name-in-block ;; page-name-in-block might be overrided (legacy))
|
||||
|
||||
:else
|
||||
(pdf-assets/human-page-name original-name))
|
||||
_ (when-not page-entity (js/console.warn "page-inner's page-entity is nil, given page-name: " page-name
|
||||
" page-name-in-block: " page-name-in-block))]
|
||||
(if tag? (str "#" s) s))))]))
|
||||
|
||||
@@ -71,7 +71,8 @@
|
||||
(rum/defc page-name
|
||||
[name icon recent?]
|
||||
(let [original-name (db-model/get-page-original-name name)
|
||||
whiteboard-page? (db-model/whiteboard-page? name)]
|
||||
whiteboard-page? (db-model/whiteboard-page? name)
|
||||
untitiled? (db-model/untitled-page? name)]
|
||||
[:a.flex.items-center
|
||||
{:on-click
|
||||
(fn [e]
|
||||
@@ -88,7 +89,9 @@
|
||||
(route-handler/redirect-to-whiteboard! name)
|
||||
(route-handler/redirect-to-page! name {:click-from-recent? recent?})))))}
|
||||
[:span.page-icon (if whiteboard-page? (ui/icon "whiteboard" {:extension? true}) icon)]
|
||||
[:span.page-title (pdf-utils/fix-local-asset-pagename original-name)]]))
|
||||
[:span.page-title {:class (when untitiled? "opacity-50")}
|
||||
(if untitiled? (t :untitled)
|
||||
(pdf-utils/fix-local-asset-pagename original-name))]]))
|
||||
|
||||
(defn get-page-icon [page-entity]
|
||||
(let [default-icon (ui/icon "page" {:extension? true})
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
[:div.dashboard-card-title
|
||||
[:div.flex.w-full.items-center
|
||||
[:div.dashboard-card-title-name.font-bold
|
||||
(if (parse-uuid page-name)
|
||||
(if (model/untitled-page? page-name)
|
||||
[:span.opacity-50 (t :untitled)]
|
||||
(get-page-display-name page-name))]
|
||||
[:div.flex-1]
|
||||
|
||||
@@ -1680,6 +1680,11 @@
|
||||
|
||||
:else false))
|
||||
|
||||
(defn untitled-page?
|
||||
[page-name]
|
||||
(when-let [entity (db-utils/entity [:block/name (util/page-name-sanity-lc page-name)])]
|
||||
(some? (parse-uuid page-name))))
|
||||
|
||||
(defn get-all-whiteboards
|
||||
[repo]
|
||||
(->> (d/q
|
||||
|
||||
@@ -232,6 +232,7 @@ export default function App() {
|
||||
isWhiteboardPage: () => false,
|
||||
saveAsset: fileToBase64,
|
||||
makeAssetUrl: a => a,
|
||||
getBlockPageName: a => a + '_page'
|
||||
}}
|
||||
model={model}
|
||||
onPersist={app => {
|
||||
|
||||
@@ -64,13 +64,16 @@ export class BoundsUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whether the bounds of A contain the bounds of B. A perfect match will return true.
|
||||
* Get whether the bounds of A contain the bounds/point of B. A perfect match will return true.
|
||||
*
|
||||
* @param a Bounds
|
||||
* @param b Bounds
|
||||
* @param b Bounds|point
|
||||
* @returns
|
||||
*/
|
||||
static boundsContain(a: TLBounds, b: TLBounds): boolean {
|
||||
static boundsContain(a: TLBounds, b: TLBounds | number[]): boolean {
|
||||
if (Array.isArray(b)) {
|
||||
return a.minX < b[0] && a.minY < b[1] && a.maxY > b[1] && a.maxX > b[0]
|
||||
}
|
||||
return a.minX < b.minX && a.minY < b.minY && a.maxY > b.maxY && a.maxX > b.maxX
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user