diff --git a/messages/de.json b/messages/de.json index 32c333c1..9d14d5af 100644 --- a/messages/de.json +++ b/messages/de.json @@ -40,7 +40,10 @@ "myAccount": "Mein Konto" }, "footer": { - "description": "Ein moderner E-Commerce-Shop, betrieben von Spree Commerce und Next.js.", + "description": "Open-Source-E-Commerce basierend auf Spree REST API, TypeScript SDK und Next.js. Selbst hosten. Eigene Daten. Keine Plattformgebühren.", + "forkOnGithub": "Diese Storefront auf GitHub forken", + "quickstartGuide": "Schnellstartanleitung", + "learnMore": "Mehr über Spree Commerce erfahren", "shop": "Shop", "allProducts": "Alle Produkte", "categories": "Kategorien", @@ -53,10 +56,11 @@ "copyright": "© {year} {storeName}. Unterstützt durch Spree Commerce." }, "home": { - "welcome": "Willkommen bei {storeName}", - "heroDescription": "Entdecken Sie großartige Produkte mit unserem modernen E-Commerce-Erlebnis, betrieben von Spree Commerce.", - "shopNow": "Jetzt einkaufen", - "browseCategories": "Kategorien durchsuchen", + "welcome": "{storeName} Storefront", + "heroDescription": "Eine produktionsreife, quelloffene Storefront mit Next.js, React und dem Spree TypeScript SDK. Selbst hosten. Eigener Stack. Kein Vendor Lock-in. Keine Plattformgebühren.", + "shopNow": "Alle Produkte", + "forkOnGithub": "Auf GitHub forken", + "quickstartGuide": "Schnellstartanleitung", "featuredProducts": "Ausgewählte Produkte", "viewAll": "Alle ansehen", "qualityProducts": "Qualitätsprodukte", @@ -204,6 +208,7 @@ "default": "Standard", "noPaymentMethods": "Für diese Bestellung sind keine Zahlungsmethoden verfügbar.", "secureTransactions": "Alle Transaktionen sind sicher und verschlüsselt.", + "testCardNote": "Testkarte: {testCard} (beliebiges Ablaufdatum, beliebiger CVC)", "creditCard": "Kreditkarte", "enterShippingAddress": "Lieferadresse eingeben", "payNow": "Jetzt bezahlen", diff --git a/messages/en.json b/messages/en.json index 99182e4c..4c7c16ad 100644 --- a/messages/en.json +++ b/messages/en.json @@ -40,7 +40,10 @@ "myAccount": "My Account" }, "footer": { - "description": "A modern e-commerce storefront powered by Spree Commerce and Next.js.", + "description": "Open-source ecommerce powered by Spree REST API, TypeScript SDK, and Next.js. Self-host it. Own your data. Zero platform fees.", + "forkOnGithub": "Fork this storefront on GitHub", + "quickstartGuide": "Quickstart guide", + "learnMore": "Learn more about Spree Commerce", "shop": "Shop", "allProducts": "All Products", "categories": "Categories", @@ -53,10 +56,11 @@ "copyright": "© {year} {storeName}. Powered by Spree Commerce." }, "home": { - "welcome": "Welcome to {storeName}", - "heroDescription": "Discover amazing products with our modern e-commerce experience powered by Spree Commerce.", - "shopNow": "Shop Now", - "browseCategories": "Browse Categories", + "welcome": "{storeName} Storefront", + "heroDescription": "A production-ready, open-source storefront built with Next.js, React, and the Spree TypeScript SDK. Self-host it. Own your stack. No vendor lock-in. Zero platform fees.", + "shopNow": "Shop All", + "forkOnGithub": "Fork on GitHub", + "quickstartGuide": "Quickstart Guide", "featuredProducts": "Featured Products", "viewAll": "View all", "qualityProducts": "Quality Products", @@ -204,6 +208,7 @@ "default": "Default", "noPaymentMethods": "No payment methods available for this order.", "secureTransactions": "All transactions are secure and encrypted.", + "testCardNote": "Test card: {testCard} (any future expiry, any CVC)", "creditCard": "Credit card", "enterShippingAddress": "Enter shipping address", "payNow": "Pay Now", diff --git a/messages/es.json b/messages/es.json index 876b61f8..1150b463 100644 --- a/messages/es.json +++ b/messages/es.json @@ -40,7 +40,10 @@ "myAccount": "Mi cuenta" }, "footer": { - "description": "Una tienda en linea moderna impulsada por Spree Commerce y Next.js.", + "description": "Comercio electrónico de código abierto basado en Spree REST API, TypeScript SDK y Next.js. Alójalo tú mismo. Tus datos. Sin comisiones de plataforma.", + "forkOnGithub": "Haz un fork de esta tienda en GitHub", + "quickstartGuide": "Guía de inicio rápido", + "learnMore": "Más información sobre Spree Commerce", "shop": "Tienda", "allProducts": "Todos los productos", "categories": "Categorias", @@ -53,10 +56,11 @@ "copyright": "\u00a9 {year} {storeName}. Impulsado por Spree Commerce." }, "home": { - "welcome": "Bienvenido a {storeName}", - "heroDescription": "Descubre productos increibles con nuestra experiencia de comercio electronico moderna impulsada por Spree Commerce.", - "shopNow": "Comprar ahora", - "browseCategories": "Explorar categorias", + "welcome": "{storeName} Storefront", + "heroDescription": "Un storefront de código abierto listo para producción, construido con Next.js, React y el SDK TypeScript de Spree. Alójalo tú mismo. Tu stack. Sin dependencia de proveedores. Sin comisiones de plataforma.", + "shopNow": "Ver todo", + "forkOnGithub": "Fork en GitHub", + "quickstartGuide": "Guía de inicio rápido", "featuredProducts": "Productos destacados", "viewAll": "Ver todo", "qualityProducts": "Productos de calidad", @@ -204,6 +208,7 @@ "default": "Predeterminado", "noPaymentMethods": "No hay metodos de pago disponibles para este pedido.", "secureTransactions": "Todas las transacciones son seguras y estan encriptadas.", + "testCardNote": "Tarjeta de prueba: {testCard} (cualquier fecha de expiración futura, cualquier CVC)", "creditCard": "Tarjeta de credito", "enterShippingAddress": "Ingresa la direccion de envio", "payNow": "Pagar ahora", diff --git a/messages/fr.json b/messages/fr.json index 3d315c95..9d3afb5a 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -40,7 +40,10 @@ "myAccount": "Mon compte" }, "footer": { - "description": "Une boutique en ligne moderne propulsee par Spree Commerce et Next.js.", + "description": "E-commerce open source basé sur Spree REST API, TypeScript SDK et Next.js. Auto-hébergé. Vos données. Zéro frais de plateforme.", + "forkOnGithub": "Forker cette boutique sur GitHub", + "quickstartGuide": "Guide de démarrage rapide", + "learnMore": "En savoir plus sur Spree Commerce", "shop": "Boutique", "allProducts": "Tous les produits", "categories": "Categories", @@ -53,10 +56,11 @@ "copyright": "\u00a9 {year} {storeName}. Propulse par Spree Commerce." }, "home": { - "welcome": "Bienvenue chez {storeName}", - "heroDescription": "Decouvrez des produits exceptionnels avec notre experience e-commerce moderne propulsee par Spree Commerce.", - "shopNow": "Acheter maintenant", - "browseCategories": "Parcourir les categories", + "welcome": "{storeName} Storefront", + "heroDescription": "Un storefront open source prêt pour la production, construit avec Next.js, React et le SDK TypeScript Spree. Auto-hébergé. Votre stack. Pas de dépendance fournisseur. Zéro frais de plateforme.", + "shopNow": "Tout parcourir", + "forkOnGithub": "Forker sur GitHub", + "quickstartGuide": "Guide de démarrage rapide", "featuredProducts": "Produits en vedette", "viewAll": "Voir tout", "qualityProducts": "Produits de qualite", @@ -204,6 +208,7 @@ "default": "Par defaut", "noPaymentMethods": "Aucun mode de paiement disponible pour cette commande.", "secureTransactions": "Toutes les transactions sont securisees et chiffrees.", + "testCardNote": "Carte de test : {testCard} (n'importe quelle date d'expiration future, n'importe quel CVC)", "creditCard": "Carte de credit", "enterShippingAddress": "Entrer l'adresse de livraison", "payNow": "Payer maintenant", diff --git a/messages/pl.json b/messages/pl.json index 4cdd449c..8c840d5e 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -40,7 +40,10 @@ "myAccount": "Moje konto" }, "footer": { - "description": "Nowoczesny sklep internetowy oparty na Spree Commerce i Next.js.", + "description": "Sklep e-commerce open source oparty na Spree REST API, TypeScript SDK i Next.js. Hostuj samodzielnie. Twoje dane. Zero opłat platformowych.", + "forkOnGithub": "Forkuj ten sklep na GitHubie", + "quickstartGuide": "Przewodnik szybkiego startu", + "learnMore": "Dowiedz się więcej o Spree Commerce", "shop": "Sklep", "allProducts": "Wszystkie produkty", "categories": "Kategorie", @@ -53,10 +56,11 @@ "copyright": "© {year} {storeName}. Zasilany przez Spree Commerce." }, "home": { - "welcome": "Witaj w {storeName}", - "heroDescription": "Odkryj niesamowite produkty dzięki nowoczesnemu sklepowi internetowemu opartemu na Spree Commerce.", - "shopNow": "Kup teraz", - "browseCategories": "Przeglądaj kategorie", + "welcome": "{storeName} Storefront", + "heroDescription": "Gotowy do produkcji, otwartoźródłowy storefront zbudowany z Next.js, React i Spree TypeScript SDK. Hostuj samodzielnie. Twój stack. Brak vendor lock-in. Zero opłat platformowych.", + "shopNow": "Wszystkie produkty", + "forkOnGithub": "Forkuj na GitHubie", + "quickstartGuide": "Przewodnik szybkiego startu", "featuredProducts": "Polecane produkty", "viewAll": "Zobacz wszystkie", "qualityProducts": "Produkty wysokiej jakości", @@ -204,6 +208,7 @@ "default": "Domyślna", "noPaymentMethods": "Brak dostępnych metod płatności dla tego zamówienia.", "secureTransactions": "Wszystkie transakcje są bezpieczne i szyfrowane.", + "testCardNote": "Karta testowa: {testCard} (dowolna przyszła data ważności, dowolny CVC)", "creditCard": "Karta kredytowa", "enterShippingAddress": "Podaj adres wysyłki", "payNow": "Zapłać teraz", diff --git a/public/social-image.png b/public/social-image.png deleted file mode 100644 index 44c7e319..00000000 Binary files a/public/social-image.png and /dev/null differ diff --git a/public/social-image.webp b/public/social-image.webp new file mode 100644 index 00000000..30aa26af Binary files /dev/null and b/public/social-image.webp differ diff --git a/src/app/[country]/[locale]/(storefront)/page.tsx b/src/app/[country]/[locale]/(storefront)/page.tsx index bf0de745..5192cbf4 100644 --- a/src/app/[country]/[locale]/(storefront)/page.tsx +++ b/src/app/[country]/[locale]/(storefront)/page.tsx @@ -29,25 +29,43 @@ export default async function HomePage({ params }: HomePageProps) { }); const storeName = getStoreName(); + /* Demo-only: Remove for production. */ + const githubUrl = "https://github.com/spree/storefront"; + const quickstartUrl = + "https://spreecommerce.org/docs/developer/getting-started/quickstart"; return (
{/* Hero Section */}
-
+

{t("welcome", { storeName })}

-

+

{t("heroDescription")}

-
+
+ {/* Demo-only: Remove for production. */} +
diff --git a/src/components/checkout/PaymentSection.tsx b/src/components/checkout/PaymentSection.tsx index ec92294a..3606ca85 100644 --- a/src/components/checkout/PaymentSection.tsx +++ b/src/components/checkout/PaymentSection.tsx @@ -337,8 +337,10 @@ export const PaymentSection = forwardRef<
{/* Section Header */}

{t("paymentMethod")}

-

- {t("secureTransactions")} +

{t("secureTransactions")}

+ {/* Demo-only: Remove for production. */} +

+ {t("testCardNote", { testCard: "4242 4242 4242 4242" })}

{/* Inline requirement errors from parent */} diff --git a/src/components/layout/Footer.tsx b/src/components/layout/Footer.tsx index ca8fe2ac..fbcd5799 100644 --- a/src/components/layout/Footer.tsx +++ b/src/components/layout/Footer.tsx @@ -7,6 +7,12 @@ import { getStoreDescription, getStoreName } from "@/lib/store"; const storeName = getStoreName(); const storeDescription = getStoreDescription(); +// Demo-only: Remove for production. +const githubUrl = "https://github.com/spree/storefront"; +const quickstartUrl = + "https://spreecommerce.org/docs/developer/getting-started/quickstart"; +const learnMoreUrl = "https://spreecommerce.org"; + interface FooterProps { rootCategories: Category[]; basePath: string; @@ -25,12 +31,40 @@ export async function Footer({