create-brainerce-store 1.87.0 → 1.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +9 -2
- package/messages/en.json +10 -1
- package/messages/he.json +10 -1
- package/package.json +1 -1
- package/templates/nextjs/base/src/app/api/store/[...path]/route.ts +296 -296
- package/templates/nextjs/base/src/app/checkout/page.tsx +89 -6
- package/templates/nextjs/base/src/app/products/layout.tsx.ejs +18 -0
- package/templates/nextjs/base/src/components/auth/register-form.tsx +381 -375
- package/templates/nextjs/base/src/components/checkout/checkout-form.tsx +14 -8
- package/templates/nextjs/base/src/core/hooks/use-page-exists.ts +37 -0
- package/templates/nextjs/base/src/core/lib/add-to-cart-error.ts +27 -2
- package/templates/nextjs/base/src/core/lib/brainerce.server.ts +121 -121
- package/templates/nextjs/base/src/core/lib/coupon-error.ts +29 -0
- package/templates/nextjs/base/src/ui/cart/cart-bundle-offer.tsx +6 -2
- package/templates/nextjs/base/src/ui/cart/cart-upgrade-banner.tsx +6 -4
- package/templates/nextjs/base/src/ui/cart/coupon-input.tsx +138 -134
- package/templates/nextjs/base/src/ui/cart/tax-estimate-line.tsx +10 -3
- package/templates/nextjs/base/src/ui/layout/newsletter-signup.tsx +5 -1
- package/templates/nextjs/base/src/ui/layout/site-footer.tsx.ejs +2 -2
- package/templates/nextjs/base/src/ui/product/frequently-bought-together.tsx +6 -2
- package/templates/nextjs/base/src/ui/product/product-card.tsx +6 -2
- package/templates/nextjs/base/src/ui/product/product-client-section.tsx +4 -36
- package/templates/nextjs/designs/atelier/ui/cart/cart-bundle-offer.tsx +6 -2
- package/templates/nextjs/designs/atelier/ui/cart/cart-upgrade-banner.tsx +6 -4
- package/templates/nextjs/designs/atelier/ui/cart/coupon-input.tsx +146 -142
- package/templates/nextjs/designs/atelier/ui/cart/tax-estimate-line.tsx +10 -3
- package/templates/nextjs/designs/atelier/ui/product/frequently-bought-together.tsx +6 -2
- package/templates/nextjs/designs/atelier/ui/product/product-card.tsx +6 -2
- package/templates/nextjs/designs/atelier/ui/product/product-client-section.tsx +3 -28
- package/templates/nextjs/ui-canvas/cart/cart-bundle-offer.tsx +6 -2
- package/templates/nextjs/ui-canvas/cart/cart-upgrade-banner.tsx +6 -4
- package/templates/nextjs/ui-canvas/cart/coupon-input.tsx +123 -119
- package/templates/nextjs/ui-canvas/cart/tax-estimate-line.tsx +4 -3
- package/templates/nextjs/ui-canvas/layout/newsletter-signup.tsx +5 -1
- package/templates/nextjs/ui-canvas/layout/site-footer.tsx.ejs +2 -2
- package/templates/nextjs/ui-canvas/product/frequently-bought-together.tsx +6 -2
- package/templates/nextjs/ui-canvas/product/product-card.tsx +6 -2
- package/templates/nextjs/ui-canvas/product/product-client-section.tsx +3 -28
- package/templates/nextjs/base/src/app/products/layout.tsx +0 -18
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var require_package = __commonJS({
|
|
|
31
31
|
"package.json"(exports2, module2) {
|
|
32
32
|
module2.exports = {
|
|
33
33
|
name: "create-brainerce-store",
|
|
34
|
-
version: "1.
|
|
34
|
+
version: "1.88.0",
|
|
35
35
|
description: "Scaffold a production-ready e-commerce storefront connected to Brainerce",
|
|
36
36
|
homepage: "https://brainerce.com",
|
|
37
37
|
repository: {
|
|
@@ -359,7 +359,14 @@ var BRAINERCE_RUNTIME_DEPS = Object.freeze({
|
|
|
359
359
|
// clear it could not. An exact pin ages once and then stays eligible.
|
|
360
360
|
// Keep it exact when you raise it: a range here is not a convenience, it is
|
|
361
361
|
// an open invitation for tomorrow's release to break yesterday's template.
|
|
362
|
-
|
|
362
|
+
// 3.5.0 (published 2026-09-25, past the one-week cooldown): the floor the template
|
|
363
|
+
// actually needs. Files in `templates/` read `Order.invoiceUrl` /
|
|
364
|
+
// `invoiceNumber` and `TrackingEventItem.productId`, which 2.7.0 does not
|
|
365
|
+
// declare, so a CLEAN scaffold pinned to 2.7.0 failed `next build` with 7 type
|
|
366
|
+
// errors (2026-10-04 QA). The dead `product.downloads` read the 3.x types
|
|
367
|
+
// rejected was removed from the template in the same change. Raise this only
|
|
368
|
+
// after scaffolding a clean store and running `tsc` + `next build` against it.
|
|
369
|
+
brainerce: "3.5.0",
|
|
363
370
|
"isomorphic-dompurify": "^3.8.0"
|
|
364
371
|
});
|
|
365
372
|
|
package/messages/en.json
CHANGED
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
"addedToCart": "Added to Cart!",
|
|
109
109
|
"cartFull": "Your cart is full. Remove an item before adding this one.",
|
|
110
110
|
"addToCartFailed": "We could not add this to your cart. Please try again.",
|
|
111
|
+
"addNotEnoughStock": "There is not enough stock left for that quantity.",
|
|
112
|
+
"addItemUnavailable": "This item is no longer available.",
|
|
111
113
|
"outOfStock": "Out of Stock",
|
|
112
114
|
"inStock": "In Stock",
|
|
113
115
|
"unavailable": "Unavailable",
|
|
@@ -546,7 +548,14 @@
|
|
|
546
548
|
},
|
|
547
549
|
"coupon": {
|
|
548
550
|
"placeholder": "Coupon code",
|
|
549
|
-
"invalidCode": "Invalid coupon code"
|
|
551
|
+
"invalidCode": "Invalid coupon code",
|
|
552
|
+
"notActive": "This coupon is not active yet.",
|
|
553
|
+
"expired": "This coupon has expired.",
|
|
554
|
+
"usageLimitReached": "This coupon is no longer available.",
|
|
555
|
+
"perCustomerLimitReached": "You have already used this coupon the maximum number of times.",
|
|
556
|
+
"minimumNotMet": "Your order does not reach the minimum amount for this coupon.",
|
|
557
|
+
"regionRestricted": "This coupon is not available in your region.",
|
|
558
|
+
"noEligibleItems": "This coupon does not apply to any items in your cart."
|
|
550
559
|
},
|
|
551
560
|
"contact": {
|
|
552
561
|
"title": "Contact Us",
|
package/messages/he.json
CHANGED
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
"addedToCart": "נוסף לעגלה!",
|
|
109
109
|
"cartFull": "העגלה מלאה. הסירו מוצר אחד לפני הוספת המוצר הזה.",
|
|
110
110
|
"addToCartFailed": "לא הצלחנו להוסיף את המוצר לעגלה. נסו שוב.",
|
|
111
|
+
"addNotEnoughStock": "אין מספיק מלאי לכמות הזו.",
|
|
112
|
+
"addItemUnavailable": "המוצר הזה אינו זמין עוד.",
|
|
111
113
|
"outOfStock": "אזל מהמלאי",
|
|
112
114
|
"inStock": "במלאי",
|
|
113
115
|
"unavailable": "לא זמין",
|
|
@@ -546,7 +548,14 @@
|
|
|
546
548
|
},
|
|
547
549
|
"coupon": {
|
|
548
550
|
"placeholder": "קוד קופון",
|
|
549
|
-
"invalidCode": "קוד קופון לא תקין"
|
|
551
|
+
"invalidCode": "קוד קופון לא תקין",
|
|
552
|
+
"notActive": "הקופון הזה עדיין לא פעיל.",
|
|
553
|
+
"expired": "תוקף הקופון הזה פג.",
|
|
554
|
+
"usageLimitReached": "הקופון הזה כבר לא זמין.",
|
|
555
|
+
"perCustomerLimitReached": "כבר השתמשת בקופון הזה את מספר הפעמים המרבי.",
|
|
556
|
+
"minimumNotMet": "סכום ההזמנה לא מגיע למינימום הנדרש לקופון הזה.",
|
|
557
|
+
"regionRestricted": "הקופון הזה לא זמין באזור שלך.",
|
|
558
|
+
"noEligibleItems": "הקופון הזה לא חל על אף מוצר בעגלה שלך."
|
|
550
559
|
},
|
|
551
560
|
"contact": {
|
|
552
561
|
"title": "צור קשר",
|