enhance: icon and tags position

This commit is contained in:
Tienson Qin
2025-12-29 13:21:06 +08:00
parent 5ed49d7377
commit b1050da84e
2 changed files with 21 additions and 9 deletions

View File

@@ -432,12 +432,6 @@ a:hover {
transform: rotate(-90deg);
}
.block-toggle:focus {
outline: 2px solid var(--action);
outline-offset: 2px;
border-radius: 4px;
}
.block-children {
margin-left: 16px;
}

View File

@@ -311,9 +311,18 @@
(defn- positioned-value-nodes
[value prop-key ctx entities]
(->> (property-value->nodes value prop-key ctx entities)
normalize-nodes
(map strip-positioned-value)))
(cond
(= prop-key :logseq.property/icon)
(let [icon-node (icon-span value)]
(if icon-node [icon-node] []))
(= prop-key :block/tags)
(normalize-nodes (property-value->nodes value prop-key ctx entities))
:else
(->> (property-value->nodes value prop-key ctx entities)
normalize-nodes
(map strip-positioned-value))))
(defn- render-positioned-properties
[props ctx entities position]
@@ -695,8 +704,17 @@
nested (render-block-tree children-by-parent child-id ctx)
has-children? (boolean nested)
raw-props (entity-properties block ctx (:entities ctx))
icon-prop (get raw-props :logseq.property/icon)
tags-prop (get raw-props :block/tags)
raw-props (dissoc raw-props :logseq.property/icon :block/tags)
{:keys [properties block-left block-right block-below]}
(split-properties-by-position raw-props ctx)
block-left (cond-> block-left
(and icon-prop (not (property-value-empty? icon-prop)))
(assoc :logseq.property/icon icon-prop))
block-right (cond-> block-right
(and tags-prop (not (property-value-empty? tags-prop)))
(assoc :block/tags tags-prop))
positioned-left (render-positioned-properties block-left ctx (:entities ctx) :block-left)
positioned-right (render-positioned-properties block-right ctx (:entities ctx) :block-right)
positioned-below (render-positioned-properties block-below ctx (:entities ctx) :block-below)