;; Blog index components

(defcomp ~blog-no-pages ()
  (div :class "col-span-full mt-8 text-center text-stone-500" "No pages found."))

(defcomp ~blog-content-type-tabs (&key posts-href pages-href hx-select posts-cls pages-cls)
  (div :class "flex justify-center gap-1 px-3 pt-3"
    (a :href posts-href :sx-get posts-href :sx-target "#main-panel"
      :sx-select hx-select :sx-swap "outerHTML" :sx-push-url "true"
      :class (str "px-4 py-1.5 rounded-t text-sm font-medium transition-colors " posts-cls) "Posts")
    (a :href pages-href :sx-get pages-href :sx-target "#main-panel"
      :sx-select hx-select :sx-swap "outerHTML" :sx-push-url "true"
      :class (str "px-4 py-1.5 rounded-t text-sm font-medium transition-colors " pages-cls) "Pages")))

(defcomp ~blog-main-panel-pages (&key tabs cards)
  (<> tabs
      (div :class "max-w-full px-3 py-3 space-y-3" cards)
      (div :class "pb-8")))

(defcomp ~blog-main-panel-posts (&key tabs toggle grid-cls cards)
  (<> tabs
      toggle
      (div :class grid-cls cards)
      (div :class "pb-8")))

(defcomp ~blog-aside (&key search action-buttons tag-groups-filter authors-filter)
  (<> search
      action-buttons
    (div :id "category-summary-desktop" :hxx-swap-oob "outerHTML"
      tag-groups-filter
      authors-filter)
    (div :id "filter-summary-desktop" :hxx-swap-oob "outerHTML")))
