Skip to content

Commit bc7a3e2

Browse files
More work on tap window design
1 parent 7e46979 commit bc7a3e2

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

src/nextjournal/clerk/tap.clj

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@
4545
{:pred (v/get-safe ::val)
4646
:render-fn '(fn [{::keys [val tapped-at]} opts]
4747
[:div.w-full
48-
[:div.font-sans.bg-slate-50.px-2
49-
{:class "py-[2px] text-[9px]"} (:nextjournal/value tapped-at)]
50-
[:div.overflow-x-auto [nextjournal.clerk.render/inspect-presented val]]])
48+
[:div.font-sans.bg-slate-100.py-1
49+
{:class "px-[8px] text-[11px]"} (:nextjournal/value tapped-at)]
50+
[:div.overflow-x-auto.py-2
51+
{:class "px-[8px]"}
52+
[nextjournal.clerk.render/inspect-presented val]]])
5153
:transform-fn (fn [{:as wrapped-value :nextjournal/keys [value]}]
5254
(-> wrapped-value
5355
v/mark-preserve-keys

src/nextjournal/clerk/window.clj

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,34 @@
99

1010
(def taps-viewer
1111
{:render-fn '(fn [taps {:as opts :keys [taps-view]}]
12-
[:div
13-
[:div.flex.justify-between.items-center
14-
(into [:div.flex.items-center.font-sans.text-xs.mb-3 [:span.text-slate-500.mr-2 "View-as:"]]
12+
[:div.flex.flex-col
13+
[:div.flex.justify-between.items-center.font-sans.border-b.border-t.shadow.z-1
14+
{:class "text-[11px] height-[24px] px-[8px]"}
15+
(into [:div.flex.items-center]
1516
(map (fn [choice]
16-
[:button.px-3.py-1.font-medium.hover:bg-indigo-50.rounded-full.hover:text-indigo-600.transition
17-
{:class (if (= taps-view choice) "bg-indigo-100 text-indigo-600" "text-slate-500")
17+
[:button.transition-all.mr-2.relative
18+
{:class (str "h-[24px] border-b-2 "
19+
(if (= taps-view choice)
20+
"text-indigo-600 border-indigo-600 font-bold "
21+
"text-slate-500 border-transparent hover:text-indigo-600 "))
1822
:on-click #(nextjournal.clerk.render/clerk-eval `(set-view! ~choice))}
19-
choice]) [:stream :latest]))
20-
[:button.text-xs.rounded-full.px-3.py-1.border-2.font-sans.hover:bg-slate-100.cursor-pointer
21-
{:on-click #(nextjournal.clerk.render/clerk-eval `(tap/reset-taps!))} "Clear"]]
22-
(into [:div]
23+
[:span.relative {:class "-bottom-[2px]"} (clojure.string/capitalize (name choice))]])
24+
[:stream :latest]))
25+
[:button.text-slate-500.hover:text-indigo-600
26+
{:on-click #(nextjournal.clerk.render/clerk-eval `(tap/reset-taps!))}
27+
"Clear"]]
28+
(into [:div.overflow-auto
29+
{:style {:height "calc(100% - 40px)"}}]
2330
(nextjournal.clerk.viewer/inspect-children opts)
2431
(cond->> taps (= :latest taps-view) (take 1)))])})
2532

2633
(defn open!
2734
([id]
2835
(case id
29-
::taps (open! id {:title "🚰 Taps" :css-class "p-0"}
36+
::taps (open! id {:title "🚰 Taps" :css-class "p-0 relative overflow-auto"}
3037
(v/with-viewers (v/add-viewers [tap/tap-viewer])
31-
(v/with-viewer taps-viewer {:nextjournal/opts {:taps-view @!taps-view}}
32-
@tap/!taps)))))
38+
(v/with-viewer taps-viewer {:nextjournal/opts {:taps-view @!taps-view}}
39+
@tap/!taps)))))
3340
([id content] (open! id {} content))
3441
([id opts content]
3542
;; TODO: consider calling v/transform-result

0 commit comments

Comments
 (0)