- <.contact_form email="hello@example.com" response_time="We typically respond within 24 hours" />
+ <.contact_form email="hello@example.com" />
<.order_tracking_card />
diff --git a/lib/simpleshop_theme_web/components/shop_components.ex b/lib/simpleshop_theme_web/components/shop_components.ex
index 8940008..a733f9c 100644
--- a/lib/simpleshop_theme_web/components/shop_components.ex
+++ b/lib/simpleshop_theme_web/components/shop_components.ex
@@ -1740,41 +1740,46 @@ defmodule SimpleshopThemeWeb.ShopComponents do
end
@doc """
- Renders social media links as full-width cards with icons and text labels.
+ Renders social media links in a single card with a compact grid layout.
## Attributes
+ * `title` - Optional. Card heading. Defaults to "Follow us".
* `links` - Optional. List of maps with `platform`, `url`, and `label` keys.
- Supported platforms: :instagram, :pinterest, :facebook, :twitter, :tiktok
+ Supported platforms: :instagram, :pinterest, :facebook, :twitter, :tiktok, :patreon, :youtube
## Examples
<.social_links_card />
- <.social_links_card links={[%{platform: :instagram, url: "https://instagram.com/example", label: "Follow on Instagram"}]} />
+ <.social_links_card title="Connect with us" links={[%{platform: :instagram, url: "https://instagram.com/example", label: "Instagram"}]} />
"""
+ attr :title, :string, default: "Follow us"
attr :links, :list, default: [
- %{platform: :instagram, url: "#", label: "Follow on Instagram"},
- %{platform: :pinterest, url: "#", label: "Follow on Pinterest"}
+ %{platform: :instagram, url: "#", label: "Instagram"},
+ %{platform: :pinterest, url: "#", label: "Pinterest"}
]
def social_links_card(assigns) do
~H"""
-
"""
end
@@ -1814,32 +1819,256 @@ defmodule SimpleshopThemeWeb.ShopComponents do
"""
end
+ @doc """
+ Renders a social media icon for the given platform.
+
+ All icons are from Simple Icons (simpleicons.org), MIT licensed.
+
+ ## Supported platforms
+
+ **Commercial/Creative:**
+ :instagram, :pinterest, :tiktok, :facebook, :twitter, :youtube, :patreon, :kofi, :etsy, :gumroad, :bandcamp
+
+ **Open Web/Federated:**
+ :mastodon, :pixelfed, :bluesky, :peertube, :lemmy, :matrix
+
+ **Developer/Hacker:**
+ :github, :gitlab, :codeberg, :sourcehut
+
+ **Communication:**
+ :discord, :telegram, :signal
+
+ **Other:**
+ :substack, :rss, :website
+ """
attr :platform, :atom, required: true
+ # Commercial/Creative platforms
defp social_icon(%{platform: :instagram} = assigns) do
~H"""
-