;; Market grid and layout components

(defcomp ~market-markets-grid (&key cards)
  (div :class "max-w-full px-3 py-3 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4" cards))

(defcomp ~market-product-grid (&key cards)
  (<> (div :class "grid grid-cols-1 sm:grid-cols-3 md:grid-cols-6 gap-3" cards) (div :class "pb-8")))

(defcomp ~market-like-toggle-button (&key colour action hx-headers label icon-cls)
  (button :class (str "flex items-center gap-1 " colour " hover:text-red-600 transition-colors w-[1em] h-[1em]")
          :sx-post action :sx-target "this" :sx-swap "outerHTML" :sx-push-url "false"
          :sx-headers hx-headers
          :sx-swap-settle "0ms" :aria-label label
    (i :aria-hidden "true" :class icon-cls)))
