invoices page works, needs dialog.
This commit is contained in:
30
src/clj/auto_ap/ssr/components/link_dropdown.clj
Normal file
30
src/clj/auto_ap/ssr/components/link_dropdown.clj
Normal file
@@ -0,0 +1,30 @@
|
||||
(ns auto-ap.ssr.components.link-dropdown
|
||||
(:require [auto-ap.ssr.components :as com]
|
||||
[auto-ap.ssr.hx :as hx]
|
||||
[auto-ap.ssr.svg :as svg]))
|
||||
|
||||
(defn link-dropdown [links]
|
||||
(if (<= (count links) 2)
|
||||
[:div.flex.flex-col.gap-y-2
|
||||
(for [l links]
|
||||
[:div.flex-initial
|
||||
[:a {:href (:link l)}
|
||||
(com/pill {:color (or (:color l) :primary) :class "truncate"}
|
||||
(:content l))]])]
|
||||
[:div {:x-data (hx/json {:popper nil
|
||||
:show false})
|
||||
"@click.outside" "show=false"
|
||||
|
||||
:x-init "popper = Popper.createPopper($refs.link, $refs.tooltip, {placement: 'bottom', strategy: 'fixed'})"}
|
||||
|
||||
(com/a-icon-button {:x-ref "link" "@click.prevent" "show=!show; $nextTick(() => popper.update());" :class "relative"}
|
||||
svg/three-dots
|
||||
(com/badge {} (count links)))
|
||||
[:div.divide-y.divide-gray-200.bg-white.rounded-lg.shadow (hx/alpine-appear {:x-ref "tooltip" :x-show "show" :data-key "show"})
|
||||
[:div {:class "p-3 overflow-y-auto text-sm text-gray-700 dark:text-gray-200"}
|
||||
[:div.flex.flex-col.gap-y-2
|
||||
(for [l links]
|
||||
[:div.flex-initial
|
||||
[:a {:href (:link l)}
|
||||
(com/pill {:color (or (:color l) :primary) :class "truncate w-24 block shrink grow-0"}
|
||||
(:content l))]])]]]]))
|
||||
Reference in New Issue
Block a user