diff --git a/lib/simpleshop_theme/cart.ex b/lib/simpleshop_theme/cart.ex
index b6feb8e..19b5f86 100644
--- a/lib/simpleshop_theme/cart.ex
+++ b/lib/simpleshop_theme/cart.ex
@@ -126,6 +126,7 @@ defmodule SimpleshopTheme.Cart do
variant ->
%{
variant_id: variant.id,
+ product_id: variant.product.id,
name: variant.product.title,
variant: format_variant_options(variant.options),
price: variant.price,
diff --git a/lib/simpleshop_theme/theme/preview_data.ex b/lib/simpleshop_theme/theme/preview_data.ex
index fdcf455..e6e211b 100644
--- a/lib/simpleshop_theme/theme/preview_data.ex
+++ b/lib/simpleshop_theme/theme/preview_data.ex
@@ -39,19 +39,21 @@ defmodule SimpleshopTheme.Theme.PreviewData do
[
%{
variant_id: "preview-1",
+ product_id: "preview-product-1",
name: "Mountain Sunrise Art Print",
variant: "12″ x 18″ / Matte",
price: 2400,
quantity: 1,
- image: "/mockups/mountain-sunrise-print-1.jpg"
+ image: "/mockups/mountain-sunrise-print-1-400.webp"
},
%{
variant_id: "preview-2",
+ product_id: "preview-product-2",
name: "Fern Leaf Mug",
variant: "11oz / White",
price: 1499,
quantity: 2,
- image: "/mockups/fern-leaf-mug-1.jpg"
+ image: "/mockups/fern-leaf-mug-1-400.webp"
}
]
end
@@ -74,19 +76,19 @@ defmodule SimpleshopTheme.Theme.PreviewData do
[
%{
rating: 5,
- title: "Absolutely beautiful",
+ title: "Sample review – five stars",
body:
- "The quality exceeded my expectations. The colours are vibrant and the paper feels premium. It's now pride of place in my living room.",
- author: "Sarah M.",
+ "This is an example review for the demo store. Real reviews from your customers will appear here once you start getting orders.",
+ author: "Demo Customer",
date: "2 weeks ago",
verified: true
},
%{
rating: 4,
- title: "Great gift",
+ title: "Sample review – four stars",
body:
- "Bought this as a gift and it arrived beautifully packaged. Fast shipping too. Would definitely order again.",
- author: "James T.",
+ "Another example review to show how the layout handles multiple entries. You can customise the review section in the theme settings.",
+ author: "Demo Shopper",
date: "1 month ago",
verified: true
}
@@ -103,31 +105,31 @@ defmodule SimpleshopTheme.Theme.PreviewData do
%{
type: :lead,
text:
- "I'm Emma, a nature photographer based in the UK. What started as weekend walks with my camera has grown into something I never expected – a little shop where I can share my favourite captures with others."
+ "This is a sample about page for your SimpleShop store. You're reading it as Robin, a fictional nature photographer – but this is where your own story goes."
},
%{
type: :paragraph,
text:
- "Every design in this shop comes from my own photography. Whether it's early morning mist over the hills, autumn leaves in the local woods, or the quiet beauty of wildflower meadows, I'm drawn to the peaceful moments that nature offers."
+ "Tell your customers who you are and what inspires your work. Maybe it started as a hobby that grew into something bigger, or maybe you've been creating for years. Either way, this is the place to share it."
},
%{
type: :paragraph,
text:
- "I work with quality print partners to bring these images to life on products you can actually use and enjoy – from art prints for your walls to mugs for your morning tea."
+ "In Robin's version, every design comes from their own photography – early morning mist over the hills, autumn leaves in the local woods, the quiet beauty of wildflower meadows. Your story will be different, and that's the point."
},
%{type: :heading, text: "Quality you can trust"},
%{
type: :paragraph,
text:
- "I've carefully chosen print partners who share my commitment to quality. Every product is made to order using premium materials and printing techniques that ensure vibrant colours and lasting quality."
+ "This section is a good place to talk about your products and what makes them worth buying. Print on demand means every item is made to order using quality materials and printing techniques – tell your customers about that."
},
%{type: :heading, text: "Printed sustainably"},
%{
type: :paragraph,
text:
- "Because each item is printed on demand, there's no waste from unsold stock. My print partners use eco-friendly inks where possible, and products are shipped directly to you to minimise unnecessary handling."
+ "And here's where you can mention anything else that matters to you – sustainability, packaging, your creative process, whatever sets your shop apart. No unsold stock means no waste, and your customers will appreciate knowing that."
},
- %{type: :closing, text: "Thank you for visiting. It means a lot that you're here."}
+ %{type: :closing, text: "Thanks for checking out the demo. Make this page your own."}
]
end
@@ -790,49 +792,49 @@ defmodule SimpleshopTheme.Theme.PreviewData do
[
%{
id: "1",
- author: "Sarah M.",
+ author: "Sample Customer A",
content:
- "The print quality is absolutely stunning - colours are exactly as shown online. My living room looks so much better now!",
+ "This is sample testimonial text for the demo store. Your real customer quotes will appear here – try to include specific details about what they loved.",
rating: 5,
date: "2025-01-15"
},
%{
id: "2",
- author: "James L.",
+ author: "Sample Customer B",
content:
- "Bought the forest hoodie as a gift. The packaging was lovely and the quality exceeded expectations. Will order again!",
+ "Another example testimonial. A mix of short and longer quotes works well for the layout. This one's a bit longer to show how the card handles more text.",
rating: 5,
date: "2025-01-10"
},
%{
id: "3",
- author: "Emily R.",
+ author: "Sample Customer C",
content:
- "My new favourite mug! I love sipping my morning tea while looking at that beautiful fern design.",
+ "Short and sweet works too. Customers love seeing real feedback from other buyers.",
rating: 5,
date: "2025-01-05"
},
%{
id: "4",
- author: "Michael T.",
+ author: "Sample Customer D",
content:
- "The tote bag is so sturdy - I use it for everything now. Great print quality that hasn't faded at all.",
+ "Sample feedback showing how the grid handles four or more testimonials. Replace these with real quotes once you have them.",
rating: 5,
date: "2024-12-28"
},
%{
id: "5",
- author: "Lisa K.",
+ author: "Sample Customer E",
content:
- "The night sky blanket is gorgeous and so cosy. Perfect for film nights on the sofa. Highly recommend!",
+ "One more example to fill out the testimonials section. You can add as many as you like – the layout adapts to fit.",
rating: 5,
date: "2024-12-20"
},
%{
id: "6",
- author: "David P.",
+ author: "Sample Customer F",
content:
- "Ordered several prints for my new flat. They arrived well packaged and look amazing on the wall.",
+ "Final sample testimonial. When you connect your store, real reviews and feedback from customers will replace these placeholder entries.",
rating: 5,
date: "2024-12-15"
}
diff --git a/lib/simpleshop_theme_web/components/page_templates/about.html.heex b/lib/simpleshop_theme_web/components/page_templates/about.html.heex
index 7f525fb..11da3f8 100644
--- a/lib/simpleshop_theme_web/components/page_templates/about.html.heex
+++ b/lib/simpleshop_theme_web/components/page_templates/about.html.heex
@@ -22,11 +22,14 @@
@@ -1515,7 +1540,7 @@ defmodule SimpleshopThemeWeb.ShopComponents do <% end %> <%= if @show_delivery_text do %>
- Free delivery over £40 + Made to order
<% end %>Content here...
""" - attr :image_url, :string, default: nil + attr :image_src, :string, default: nil + attr :image_alt, :string, default: "Page image" slot :inner_block, required: true @@ -2350,11 +2377,18 @@ defmodule SimpleshopThemeWeb.ShopComponents do class="content-body" style="padding: var(--space-xl) var(--space-lg); max-width: 800px; margin: 0 auto;" > - <%= if @image_url do %> + <%= if @image_src do %>