From 8dd2c9030ff53bf3002ab2526c39cdbf712399bf Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Jul 2026 20:21:55 -0400 Subject: [PATCH] feat: always show current-timeline crumb as a reparent drop target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Render the breadcrumb bar even at root so the current context's crumb is always visible — it already acts as a drop target while dragging, so you can drag an annotation out onto the current timeline to un-nest it. Back button stays gated to nested contexts. Also drop the child-card left spine (indentation is enough). Co-Authored-By: Claude Opus 4.8 --- tl/resources/public/css/app.css | 3 +-- tl/src/tl/views.cljs | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tl/resources/public/css/app.css b/tl/resources/public/css/app.css index 47e3f41..93cedcd 100644 --- a/tl/resources/public/css/app.css +++ b/tl/resources/public/css/app.css @@ -322,8 +322,7 @@ body { overflow: hidden; background: var(--desktop); background-size: 4px 4px; color: var(--ink); background: var(--shade); cursor: pointer; border: 1px solid var(--ink); border-radius: 0; } .show-children:hover { background: var(--ink); color: var(--paper); } -.ann-children { margin: 8px 0 0 10px; padding-left: 8px; - border-left: 2px solid var(--ann-color, var(--ink)); } +.ann-children { margin: 8px 0 0 18px; } .ann-children .ann { margin-bottom: 6px; } .ann-children .ann:last-child { margin-bottom: 0; } /* out-of-range warning: annotation references frames its parent timeline trims */ diff --git a/tl/src/tl/views.cljs b/tl/src/tl/views.cljs index 93d5604..4408f74 100644 --- a/tl/src/tl/views.cljs +++ b/tl/src/tl/views.cljs @@ -1370,11 +1370,11 @@ (defn breadcrumbs [] (let [crumbs @(rf/subscribe [::subs/breadcrumbs])] - (when (> (count crumbs) 1) - [:div.crumbs - [:button.back-btn {:on-click #(rf/dispatch [::events/collapse])} "← back"] - (for [[i c] (map-indexed vector crumbs)] - ^{:key (:id c)} [crumb i c (= i (dec (count crumbs)))])]))) + [:div.crumbs + (when (> (count crumbs) 1) + [:button.back-btn {:on-click #(rf/dispatch [::events/collapse])} "← back"]) + (for [[i c] (map-indexed vector crumbs)] + ^{:key (:id c)} [crumb i c (= i (dec (count crumbs)))])])) ;; Timeline tag filter: a button opening a dropdown that lists the project's tags ;; (plus a fake "Untagged" entry) with an eye per row. Click a row (or Enter) to