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