mirror of
https://github.com/logseq/logseq.git
synced 2026-05-23 12:14:06 +00:00
- Hover-preview state now carries `:property` (`:logseq.property/icon` or `:logseq.property.class/default-icon`) so two pickers editing different fields of the same entity don't leak previews into each other. Threaded through icon-picker → icon-search → asset-picker; readers in icon-picker-trigger-icon, get-node-icon-cp, and the asset-picker band tile gate on it. `get-node-icon-cp` defaults to `:logseq.property/icon` so existing sidebar/cmdk/breadcrumb callers don't change behavior. - icon-search's reactive entity-icon override now reads `(get property)` instead of hardcoded `:logseq.property/icon`. Without this, committing via the Default Icon picker wrote `:logseq.property.class/default-icon` but the override kept returning the unchanged `:logseq.property/icon`, freezing the asset-picker tile + Fallback chip at the pre-edit state while the page-icon still updated. - Property-value icon-row + default-icon-row now thread their entity db-id and property scope into the picker, fixing the `preview-target- db-id=nil` case that previously gated all live-preview broadcasts off for property-field pickers. - Fallback dropdown is controlled-open via a `::fallback-menu-open?` rum/local; commit fns close the entire chain (parent dropdown + Radix-cascaded sub-content) so a tile pick auto-dismisses the menu. - Keyboard nav re-renders icon-search via `(rum/react *highlighted- index)` so its phantom `icon-hover-effects` component receives a fresh `current-id` and broadcasts on arrow-key navigation, matching mouse hover behavior. - Dropdown menu items use the canonical shui pattern from `deps/shui/src/logseq/shui/demo.cljs`: tabler icon as the first child with `scale-90 pr-1 opacity-80` utility classes. Letter-case for the Letters item, circle-dashed for Icon…, circle / square-rounded for the Shape options. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>