defmodule BerrypodWeb.BlockThumbnails do
@moduledoc """
Tiny SVG wireframe thumbnails for each block type.
Used in the block picker to give a visual hint of what each block looks like.
Each thumbnail is an 80x48 SVG with simple geometric shapes.
"""
use Phoenix.Component
attr :type, :string, required: true
def block_thumbnail(assigns) do
~H"""
"""
end
# ── Hero banner ──────────────────────────────────────────────────
defp thumb_shapes(%{type: "hero"} = assigns) do
~H"""
"""
end
# ── Featured products ────────────────────────────────────────────
defp thumb_shapes(%{type: "featured_products"} = assigns) do
~H"""
"""
end
# ── Image + text ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "image_text"} = assigns) do
~H"""
"""
end
# ── Category navigation ──────────────────────────────────────────
defp thumb_shapes(%{type: "category_nav"} = assigns) do
~H"""
"""
end
# ── Newsletter signup ────────────────────────────────────────────
defp thumb_shapes(%{type: "newsletter_card"} = assigns) do
~H"""
"""
end
# ── Social links ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "social_links_card"} = assigns) do
~H"""
"""
end
# ── Info card ────────────────────────────────────────────────────
defp thumb_shapes(%{type: "info_card"} = assigns) do
~H"""
"""
end
# ── Trust badges ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "trust_badges"} = assigns) do
~H"""
"""
end
# ── Customer reviews ─────────────────────────────────────────────
defp thumb_shapes(%{type: "reviews_section"} = assigns) do
~H"""
"""
end
# ── Spacer ───────────────────────────────────────────────────────
defp thumb_shapes(%{type: "spacer"} = assigns) do
~H"""
"""
end
# ── Divider ──────────────────────────────────────────────────────
defp thumb_shapes(%{type: "divider"} = assigns) do
~H"""
"""
end
# ── Button ───────────────────────────────────────────────────────
defp thumb_shapes(%{type: "button"} = assigns) do
~H"""
"""
end
# ── Video embed ──────────────────────────────────────────────────
defp thumb_shapes(%{type: "video_embed"} = assigns) do
~H"""
"""
end
# ── Product hero ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "product_hero"} = assigns) do
~H"""
"""
end
# ── Breadcrumb ───────────────────────────────────────────────────
defp thumb_shapes(%{type: "breadcrumb"} = assigns) do
~H"""
"""
end
# ── Product grid ─────────────────────────────────────────────────
defp thumb_shapes(%{type: t} = assigns) when t in ~w(product_grid related_products) do
~H"""
"""
end
# ── Collection header ────────────────────────────────────────────
defp thumb_shapes(%{type: "collection_header"} = assigns) do
~H"""
"""
end
# ── Filter bar ───────────────────────────────────────────────────
defp thumb_shapes(%{type: "filter_bar"} = assigns) do
~H"""
"""
end
# ── Cart items ───────────────────────────────────────────────────
defp thumb_shapes(%{type: "cart_items"} = assigns) do
~H"""
"""
end
# ── Order summary ────────────────────────────────────────────────
defp thumb_shapes(%{type: "order_summary"} = assigns) do
~H"""
"""
end
# ── Contact form ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "contact_form"} = assigns) do
~H"""
"""
end
# ── Content body ─────────────────────────────────────────────────
defp thumb_shapes(%{type: "content_body"} = assigns) do
~H"""
"""
end
# ── Fallback for any unmatched type ──────────────────────────────
defp thumb_shapes(assigns) do
~H"""
"""
end
end