@salla.sa/twilight-theme-engine 1.0.62 → 1.0.63
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/{AddToCartForm-HC24EPIH.js → AddToCartForm-365O6IQY.js} +3 -3
- package/dist/{AddToCartForm-HC24EPIH.js.map → AddToCartForm-365O6IQY.js.map} +1 -1
- package/dist/{BlogAuthorPage-BYPC2H3B.js → BlogAuthorPage-QIII3YRK.js} +11 -11
- package/dist/{BlogAuthorPage-BYPC2H3B.js.map → BlogAuthorPage-QIII3YRK.js.map} +1 -1
- package/dist/{BlogCategoryPage-SDOHIF4O.js → BlogCategoryPage-HNGWYTN6.js} +11 -11
- package/dist/{BlogCategoryPage-SDOHIF4O.js.map → BlogCategoryPage-HNGWYTN6.js.map} +1 -1
- package/dist/{BlogPage-WMFITGI7.js → BlogPage-7NGO5VLL.js} +9 -9
- package/dist/{BlogPage-WMFITGI7.js.map → BlogPage-7NGO5VLL.js.map} +1 -1
- package/dist/{BlogSinglePage-32GR3ARO.js → BlogSinglePage-Y42LPA2L.js} +9 -9
- package/dist/{BlogSinglePage-32GR3ARO.js.map → BlogSinglePage-Y42LPA2L.js.map} +1 -1
- package/dist/{BlogTagPage-FMH7YMYW.js → BlogTagPage-ZCFYLXH6.js} +11 -11
- package/dist/{BlogTagPage-FMH7YMYW.js.map → BlogTagPage-ZCFYLXH6.js.map} +1 -1
- package/dist/{BrandsPage-QLO4XO5V.js → BrandsPage-PPJVASUW.js} +10 -10
- package/dist/{BrandsPage-QLO4XO5V.js.map → BrandsPage-PPJVASUW.js.map} +1 -1
- package/dist/{Breadcrumb-6I4ZXJP6.js → Breadcrumb-4DUAJK3V.js} +9 -9
- package/dist/{Breadcrumb-6I4ZXJP6.js.map → Breadcrumb-4DUAJK3V.js.map} +1 -1
- package/dist/{CartItem-FLPJREOC.js → CartItem-T4N3HMXU.js} +9 -9
- package/dist/{CartItem-FLPJREOC.js.map → CartItem-T4N3HMXU.js.map} +1 -1
- package/dist/{CartSummary-4LVQXTO2.js → CartSummary-Z25JDFWN.js} +9 -9
- package/dist/{CartSummary-4LVQXTO2.js.map → CartSummary-Z25JDFWN.js.map} +1 -1
- package/dist/{Copyright-DHXKJXS3.js → Copyright-WNJIDKSR.js} +3 -3
- package/dist/{Copyright-DHXKJXS3.js.map → Copyright-WNJIDKSR.js.map} +1 -1
- package/dist/{CustomerLayout-RIJ2KLKV.js → CustomerLayout-A6DVYYC3.js} +9 -9
- package/dist/{CustomerLayout-RIJ2KLKV.js.map → CustomerLayout-A6DVYYC3.js.map} +1 -1
- package/dist/{Footer-OAUEPXMT.js → Footer-3YBOSAO5.js} +9 -9
- package/dist/{Footer-OAUEPXMT.js.map → Footer-3YBOSAO5.js.map} +1 -1
- package/dist/{Header-SLIN3ZSS.js → Header-6M7TVMSW.js} +6 -6
- package/dist/{Header-SLIN3ZSS.js.map → Header-6M7TVMSW.js.map} +1 -1
- package/dist/LoyaltyPage-XQJ6RDT6.js +61 -0
- package/dist/LoyaltyPage-XQJ6RDT6.js.map +1 -0
- package/dist/LoyaltyPointsPage-K75LJNNP.js +16 -0
- package/dist/LoyaltyPointsPage-K75LJNNP.js.map +1 -0
- package/dist/{MainMenu-EHFPPGYJ.js → MainMenu-V7GPKDTU.js} +3 -3
- package/dist/{MainMenu-EHFPPGYJ.js.map → MainMenu-V7GPKDTU.js.map} +1 -1
- package/dist/{MasterLayout-K737DLVH.js → MasterLayout-MBQ4JM3D.js} +9 -9
- package/dist/{MasterLayout-K737DLVH.js.map → MasterLayout-MBQ4JM3D.js.map} +1 -1
- package/dist/{MobileMenu-S5CBPTOC.js → MobileMenu-UFX4ZHW7.js} +9 -9
- package/dist/{MobileMenu-S5CBPTOC.js.map → MobileMenu-UFX4ZHW7.js.map} +1 -1
- package/dist/{NotificationsPage-W2N5QD5U.js → NotificationsPage-M3YK2HRM.js} +9 -9
- package/dist/{NotificationsPage-W2N5QD5U.js.map → NotificationsPage-M3YK2HRM.js.map} +1 -1
- package/dist/{OrderSinglePage-GOGNRVPM.js → OrderSinglePage-7LIUMNRB.js} +10 -10
- package/dist/{OrderSinglePage-GOGNRVPM.js.map → OrderSinglePage-7LIUMNRB.js.map} +1 -1
- package/dist/{OrdersPage-YB7WU5QV.js → OrdersPage-WI4OSGBF.js} +10 -10
- package/dist/{OrdersPage-YB7WU5QV.js.map → OrdersPage-WI4OSGBF.js.map} +1 -1
- package/dist/{PageSingle-6HBQPKK5.js → PageSingle-HRMSVNHN.js} +4 -4
- package/dist/{PageSingle-6HBQPKK5.js.map → PageSingle-HRMSVNHN.js.map} +1 -1
- package/dist/{ProductDetails-HLSACRJJ.js → ProductDetails-GAC3NYQM.js} +10 -3
- package/dist/ProductDetails-GAC3NYQM.js.map +1 -0
- package/dist/{ProfilePage-Z3CXGXWV.js → ProfilePage-33I2XTJ6.js} +9 -9
- package/dist/{ProfilePage-Z3CXGXWV.js.map → ProfilePage-33I2XTJ6.js.map} +1 -1
- package/dist/{SeoCartWidget-SUXBLTDW.js → SeoCartWidget-AEG2YLEF.js} +12 -12
- package/dist/SeoCartWidget-AEG2YLEF.js.map +1 -0
- package/dist/{SettingsPage-BNELVWPX.js → SettingsPage-N3M677LP.js} +9 -9
- package/dist/{SettingsPage-BNELVWPX.js.map → SettingsPage-N3M677LP.js.map} +1 -1
- package/dist/{StoreClosedNotification-PLPV6EJS.js → StoreClosedNotification-5MTDRRC3.js} +10 -10
- package/dist/{StoreClosedNotification-PLPV6EJS.js.map → StoreClosedNotification-5MTDRRC3.js.map} +1 -1
- package/dist/{TestimonialsPage-LRITI3DU.js → TestimonialsPage-Z64P6MZX.js} +4 -4
- package/dist/{TestimonialsPage-LRITI3DU.js.map → TestimonialsPage-Z64P6MZX.js.map} +1 -1
- package/dist/{ThankYouPage-IR2ZJJ47.js → ThankYouPage-ZXQZMWCX.js} +13 -12
- package/dist/ThankYouPage-ZXQZMWCX.js.map +1 -0
- package/dist/{WalletPage-RDG4DJ75.js → WalletPage-557AU5GH.js} +9 -9
- package/dist/{WalletPage-RDG4DJ75.js.map → WalletPage-557AU5GH.js.map} +1 -1
- package/dist/{WishlistPage-TCI3MFCX.js → WishlistPage-HTDQW2N2.js} +149 -26
- package/dist/WishlistPage-HTDQW2N2.js.map +1 -0
- package/dist/api/brands.js +3 -3
- package/dist/api/cart.d.ts +7 -6
- package/dist/api/cart.d.ts.map +1 -1
- package/dist/api/cart.js +3 -3
- package/dist/api/category.js +3 -3
- package/dist/api/loyalty.js +3 -3
- package/dist/api/order.js +3 -3
- package/dist/api/page.js +3 -3
- package/dist/api/product.js +3 -3
- package/dist/api/store.d.ts +12 -0
- package/dist/api/store.d.ts.map +1 -1
- package/dist/api/store.js +1 -1
- package/dist/api/wishlist.js +4 -4
- package/dist/{chunk-6HJLG7KF.js → chunk-4KTY2FT6.js} +6 -6
- package/dist/{chunk-6HJLG7KF.js.map → chunk-4KTY2FT6.js.map} +1 -1
- package/dist/{chunk-OET4G4XC.js → chunk-BE3JDKE2.js} +19 -3
- package/dist/chunk-BE3JDKE2.js.map +1 -0
- package/dist/{chunk-OIH4XW47.js → chunk-EIJXSBL6.js} +34 -17
- package/dist/chunk-EIJXSBL6.js.map +1 -0
- package/dist/{chunk-7OIP65ER.js → chunk-EQ32CL4D.js} +7 -4
- package/dist/chunk-EQ32CL4D.js.map +1 -0
- package/dist/{chunk-MSMFH6BM.js → chunk-EXKTSWBC.js} +5 -5
- package/dist/{chunk-MSMFH6BM.js.map → chunk-EXKTSWBC.js.map} +1 -1
- package/dist/{chunk-PK7EU5TM.js → chunk-GD26FI4J.js} +2 -2
- package/dist/chunk-GD26FI4J.js.map +1 -0
- package/dist/{chunk-YMVLYYLU.js → chunk-GOPUP26T.js} +4 -4
- package/dist/chunk-GOPUP26T.js.map +1 -0
- package/dist/{chunk-DPWX5WRB.js → chunk-HSVGQ2DV.js} +12 -10
- package/dist/chunk-HSVGQ2DV.js.map +1 -0
- package/dist/{chunk-WH225GEC.js → chunk-I62RENKM.js} +3 -3
- package/dist/{chunk-WH225GEC.js.map → chunk-I62RENKM.js.map} +1 -1
- package/dist/{chunk-TDZSHACC.js → chunk-IC7YN4OQ.js} +3 -3
- package/dist/{chunk-TDZSHACC.js.map → chunk-IC7YN4OQ.js.map} +1 -1
- package/dist/{chunk-4DHLIY6V.js → chunk-IIYK56TI.js} +4 -3
- package/dist/chunk-IIYK56TI.js.map +1 -0
- package/dist/chunk-JKT44Y2M.js +14 -0
- package/dist/{chunk-JSV64SPM.js.map → chunk-JKT44Y2M.js.map} +1 -1
- package/dist/{chunk-W2B5P54C.js → chunk-KHRIGLYL.js} +3 -3
- package/dist/{chunk-W2B5P54C.js.map → chunk-KHRIGLYL.js.map} +1 -1
- package/dist/{chunk-2SDIXR52.js → chunk-KILNHLWE.js} +4 -4
- package/dist/{chunk-2SDIXR52.js.map → chunk-KILNHLWE.js.map} +1 -1
- package/dist/{chunk-ZQGMVUPE.js → chunk-KWHCKGLL.js} +3 -3
- package/dist/{chunk-ZQGMVUPE.js.map → chunk-KWHCKGLL.js.map} +1 -1
- package/dist/{chunk-H5CFMW4M.js → chunk-LUTMPFRW.js} +4 -4
- package/dist/{chunk-H5CFMW4M.js.map → chunk-LUTMPFRW.js.map} +1 -1
- package/dist/{chunk-YH4O3H4R.js → chunk-NPEI4SAZ.js} +3 -3
- package/dist/{chunk-YH4O3H4R.js.map → chunk-NPEI4SAZ.js.map} +1 -1
- package/dist/{chunk-JVGZDLFP.js → chunk-PE3LLBNR.js} +3 -3
- package/dist/{chunk-JVGZDLFP.js.map → chunk-PE3LLBNR.js.map} +1 -1
- package/dist/{chunk-3U26OMNO.js → chunk-PWBMSGMU.js} +24 -17
- package/dist/chunk-PWBMSGMU.js.map +1 -0
- package/dist/{chunk-VSJLPWFI.js → chunk-Q5UYV2EN.js} +3 -3
- package/dist/{chunk-VSJLPWFI.js.map → chunk-Q5UYV2EN.js.map} +1 -1
- package/dist/{chunk-GUGZ4CEG.js → chunk-S3CC2YGF.js} +3 -3
- package/dist/{chunk-GUGZ4CEG.js.map → chunk-S3CC2YGF.js.map} +1 -1
- package/dist/{chunk-J3WIGP64.js → chunk-UFPZXWGM.js} +4 -4
- package/dist/{chunk-J3WIGP64.js.map → chunk-UFPZXWGM.js.map} +1 -1
- package/dist/{chunk-Y7EOX2OE.js → chunk-UH5ZXDEO.js} +3 -3
- package/dist/{chunk-Y7EOX2OE.js.map → chunk-UH5ZXDEO.js.map} +1 -1
- package/dist/{chunk-3ITQB3PY.js → chunk-VLBQPVHM.js} +3 -3
- package/dist/{chunk-3ITQB3PY.js.map → chunk-VLBQPVHM.js.map} +1 -1
- package/dist/{chunk-TLO2M5TJ.js → chunk-W66OHTSM.js} +3 -3
- package/dist/{chunk-TLO2M5TJ.js.map → chunk-W66OHTSM.js.map} +1 -1
- package/dist/{chunk-QVLEF2GR.js → chunk-XFCJM6RN.js} +7 -7
- package/dist/{chunk-QVLEF2GR.js.map → chunk-XFCJM6RN.js.map} +1 -1
- package/dist/chunk-Y7HKVYDG.js +21 -0
- package/dist/chunk-Y7HKVYDG.js.map +1 -0
- package/dist/{chunk-VJHDE6UT.js → chunk-YEY3SO23.js} +3 -3
- package/dist/{chunk-VJHDE6UT.js.map → chunk-YEY3SO23.js.map} +1 -1
- package/dist/{chunk-E2JXP2PP.js → chunk-YLPI4HDD.js} +6 -6
- package/dist/{chunk-E2JXP2PP.js.map → chunk-YLPI4HDD.js.map} +1 -1
- package/dist/{chunk-TFB3QXYH.js → chunk-ZGHRSRDO.js} +3 -2
- package/dist/chunk-ZGHRSRDO.js.map +1 -0
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +7 -7
- package/dist/components/home/index.js +10 -10
- package/dist/components/layout/index.js +1 -18
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/product/ProductDetails.d.ts.map +1 -1
- package/dist/components/product/index.js +8 -8
- package/dist/components/store/index.js +9 -9
- package/dist/{document-class-5KOR5KVY.js → document-class-SKCL6IJF.js} +9 -9
- package/dist/{document-class-5KOR5KVY.js.map → document-class-SKCL6IJF.js.map} +1 -1
- package/dist/hooks/index.js +7 -7
- package/dist/hooks/useComments.js +1 -1
- package/dist/hooks/useGtm.js +7 -7
- package/dist/hooks/useMoney.js +7 -7
- package/dist/hooks/useProduct.d.ts.map +1 -1
- package/dist/hooks/useProduct.js +1 -1
- package/dist/hooks/useStore.js +7 -7
- package/dist/index.js +7 -7
- package/dist/{navigation-QMBOIYJI.js → navigation-ESPAHRXM.js} +5 -5
- package/dist/{navigation-QMBOIYJI.js.map → navigation-ESPAHRXM.js.map} +1 -1
- package/dist/{navigation-XZJCQXY3.js → navigation-YKRXGGSL.js} +4 -4
- package/dist/{navigation-XZJCQXY3.js.map → navigation-YKRXGGSL.js.map} +1 -1
- package/dist/{not-found-ZJXJJYD3.js → not-found-KBOXJ3AG.js} +10 -10
- package/dist/{not-found-ZJXJJYD3.js.map → not-found-KBOXJ3AG.js.map} +1 -1
- package/dist/providers/TwilightProvider.d.ts.map +1 -1
- package/dist/providers/index.js +7 -7
- package/dist/providers/twilight-init.d.ts.map +1 -1
- package/dist/router/route-ids.d.ts +1 -0
- package/dist/router/route-ids.d.ts.map +1 -1
- package/dist/routes/account/orders.js +4 -4
- package/dist/routes/account/wishlist/WishlistPage.d.ts +1 -1
- package/dist/routes/account/wishlist/WishlistPage.d.ts.map +1 -1
- package/dist/routes/account/wishlist/WishlistShare.d.ts +1 -0
- package/dist/routes/account/wishlist/WishlistShare.d.ts.map +1 -1
- package/dist/routes/account.js +11 -11
- package/dist/routes/blog.js +8 -8
- package/dist/routes/brands.js +4 -4
- package/dist/routes/cart/CartPage.d.ts.map +1 -1
- package/dist/routes/cart.js +16 -16
- package/dist/routes/cart.js.map +1 -1
- package/dist/routes/home.js +11 -11
- package/dist/routes/index.d.ts +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +3 -3
- package/dist/routes/loyalty/LoyaltyPage.d.ts +1 -1
- package/dist/routes/loyalty/LoyaltyPage.d.ts.map +1 -1
- package/dist/routes/loyalty/LoyaltyPointsPage.d.ts +3 -0
- package/dist/routes/loyalty/LoyaltyPointsPage.d.ts.map +1 -0
- package/dist/routes/loyalty/index.d.ts +15 -3
- package/dist/routes/loyalty/index.d.ts.map +1 -1
- package/dist/routes/loyalty/loader.d.ts +2 -1
- package/dist/routes/loyalty/loader.d.ts.map +1 -1
- package/dist/routes/loyalty/types.d.ts +3 -0
- package/dist/routes/loyalty/types.d.ts.map +1 -1
- package/dist/routes/loyalty.js +62 -11
- package/dist/routes/loyalty.js.map +1 -1
- package/dist/routes/page.js +4 -4
- package/dist/routes/product/index.d.ts.map +1 -1
- package/dist/routes/product-listing/index.d.ts.map +1 -1
- package/dist/routes/product-listing.js +22 -19
- package/dist/routes/product-listing.js.map +1 -1
- package/dist/routes/product.js +15 -13
- package/dist/routes/product.js.map +1 -1
- package/dist/routes/seo-redirects.js +3 -3
- package/dist/routes/testimonials.js +2 -2
- package/dist/routes/thank-you/ThankYouPage.d.ts.map +1 -1
- package/dist/routes/thank-you.js +4 -4
- package/dist/skeleton.js +11 -11
- package/dist/tanstack/document-class.d.ts.map +1 -1
- package/dist/tanstack/head.d.ts +1 -4
- package/dist/tanstack/head.d.ts.map +1 -1
- package/dist/tanstack/router.d.ts.map +1 -1
- package/dist/tanstack/templates/locale-wrapper.d.ts.map +1 -1
- package/dist/tanstack.js +10 -10
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/head.d.ts +3 -0
- package/dist/utils/head.d.ts.map +1 -1
- package/dist/utils/head.js +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
- package/dist/vite/index.js +88 -11
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/best-practices/hooks-registry.d.ts.map +1 -1
- package/dist/vite/plugins/component-deps.d.ts +5 -0
- package/dist/vite/plugins/component-deps.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/LoyaltyPage-BQB7BDUO.js +0 -195
- package/dist/LoyaltyPage-BQB7BDUO.js.map +0 -1
- package/dist/ProductDetails-HLSACRJJ.js.map +0 -1
- package/dist/SeoCartWidget-SUXBLTDW.js.map +0 -1
- package/dist/ThankYouPage-IR2ZJJ47.js.map +0 -1
- package/dist/WishlistPage-TCI3MFCX.js.map +0 -1
- package/dist/chunk-3U26OMNO.js.map +0 -1
- package/dist/chunk-4DHLIY6V.js.map +0 -1
- package/dist/chunk-7OIP65ER.js.map +0 -1
- package/dist/chunk-DPWX5WRB.js.map +0 -1
- package/dist/chunk-JSV64SPM.js +0 -14
- package/dist/chunk-OET4G4XC.js.map +0 -1
- package/dist/chunk-OIH4XW47.js.map +0 -1
- package/dist/chunk-PK7EU5TM.js.map +0 -1
- package/dist/chunk-TFB3QXYH.js.map +0 -1
- package/dist/chunk-YMVLYYLU.js.map +0 -1
package/dist/routes/cart.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { cart } from '../chunk-
|
|
2
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { cart } from '../chunk-IIYK56TI.js';
|
|
2
|
+
import { loyalty } from '../chunk-NPEI4SAZ.js';
|
|
3
3
|
import { CartSkeleton } from '../chunk-N7CCSGZF.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-LUTMPFRW.js';
|
|
5
5
|
import '../chunk-NQVJ7NJ6.js';
|
|
6
6
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-
|
|
10
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-EXKTSWBC.js';
|
|
8
|
+
import '../chunk-W66OHTSM.js';
|
|
9
|
+
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-JKT44Y2M.js';
|
|
10
|
+
import '../chunk-YLPI4HDD.js';
|
|
11
11
|
import '../chunk-342EPVXN.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-EIJXSBL6.js';
|
|
13
|
+
import '../chunk-4KTY2FT6.js';
|
|
14
14
|
import '../chunk-JKIRRMBU.js';
|
|
15
15
|
import '../chunk-2JV6WZ6O.js';
|
|
16
16
|
import '../chunk-UIOLSYKV.js';
|
|
17
17
|
import '../chunk-VVZNW5CB.js';
|
|
18
18
|
import '../chunk-2XGQSJKH.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import { RouteId } from '../chunk-
|
|
21
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-I62RENKM.js';
|
|
20
|
+
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
21
|
+
import '../chunk-GOPUP26T.js';
|
|
22
22
|
import '../chunk-C5X6CVXC.js';
|
|
23
23
|
import '../chunk-UZKTK6YV.js';
|
|
24
24
|
import '../chunk-5X2UFNKY.js';
|
|
@@ -30,7 +30,7 @@ import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
|
30
30
|
import '../chunk-TP3LCGE7.js';
|
|
31
31
|
import '../chunk-Z653O7MX.js';
|
|
32
32
|
import '../chunk-ZCH7W7DZ.js';
|
|
33
|
-
import '../chunk-
|
|
33
|
+
import '../chunk-PWBMSGMU.js';
|
|
34
34
|
import '../chunk-JWXJPJBO.js';
|
|
35
35
|
import '../chunk-CW625T2E.js';
|
|
36
36
|
import '../chunk-7V36I5GT.js';
|
|
@@ -42,7 +42,7 @@ import '../chunk-T72DAX7R.js';
|
|
|
42
42
|
import '../chunk-RJPPO3ET.js';
|
|
43
43
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
44
44
|
import '../chunk-GU2KUQVD.js';
|
|
45
|
-
import { LazyBreadcrumb, LazyNoContent } from '../chunk-
|
|
45
|
+
import { LazyBreadcrumb, LazyNoContent } from '../chunk-UH5ZXDEO.js';
|
|
46
46
|
import '../chunk-AXW67SY7.js';
|
|
47
47
|
import '../chunk-BYMOPN2S.js';
|
|
48
48
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -72,11 +72,11 @@ function CartPageContent({ page }) {
|
|
|
72
72
|
...cart.queries.detail(cartId),
|
|
73
73
|
enabled: !!cartId
|
|
74
74
|
});
|
|
75
|
-
const isLoading = cartId === null ||
|
|
75
|
+
const isLoading = cartId === null || cartData === void 0;
|
|
76
76
|
if (isLoading) {
|
|
77
77
|
return /* @__PURE__ */ jsx(CartSkeleton, {});
|
|
78
78
|
}
|
|
79
|
-
if (cartData.items.length === 0) {
|
|
79
|
+
if (!cartData || cartData.items.length === 0) {
|
|
80
80
|
return /* @__PURE__ */ jsxs("div", { className: "container", children: [
|
|
81
81
|
/* @__PURE__ */ jsx(LazyBreadcrumb, { page }),
|
|
82
82
|
/* @__PURE__ */ jsx(
|
package/dist/routes/cart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/cart/CartPage.tsx","../../src/routes/cart/loader.ts","../../src/routes/cart/index.tsx"],"names":[],"mappings":"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","file":"cart.js","sourcesContent":["import { useState, useEffect } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { SallaConditionalOffer } from '@salla.sa/twilight-components-react/conditional-offer';\nimport { SallaOffer } from '@salla.sa/twilight-components-react/offer';\nimport { SallaProductOptions } from '@salla.sa/twilight-components-react/product-options';\nimport { HookSlot } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { CartPageProps } from './types';\nimport { Breadcrumb, NoContent } from '../../components/common';\nimport { CartItem, CartSummary, SeoCartWidget } from '../../components/cart';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { CartSkeleton } from '../../skeleton';\nimport { loyalty } from '../../api/loyalty';\nimport { cart } from '../../api/cart';\n\nfunction CartPageContent({ page }: CartPageProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { data: loyaltyPoints } = useQuery(loyalty.queries.points());\n\n const [cartId, setCartId] = useState<number | null>(null);\n\n useEffect(() => {\n window.salla?.cart.api.getCurrentCartId().then(setCartId);\n }, []);\n\n const { data: cartData } = useQuery({\n ...cart.queries.detail(cartId!),\n enabled: !!cartId,\n });\n\n const isLoading = cartId === null || !cartData;\n\n if (isLoading) {\n return <CartSkeleton />;\n }\n\n if (cartData.items.length === 0) {\n return (\n <div className=\"container\">\n <Breadcrumb page={page} />\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.cart.empty_cart', 'Your cart is empty')}\n actionLabel={t('common.elements.back_home', 'Back to Home')}\n actionUrl=\"/\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"container\">\n {/* Analytics — no visible UI, fires GTM checkout events */}\n <SeoCartWidget cart={cartData} />\n\n <Breadcrumb page={page} />\n <h1 className=\"sr-only\">{t('common.titles.cart', 'Cart')}</h1>\n <SallaConditionalOffer />\n\n <HookSlot name=\"cart:start\" />\n\n <div className=\"pt-5 flex flex-col items-start lg:flex-row pb-6 lg:pb-20\">\n <div className=\"main-content w-full lg:w-[calc(100%-384px)]\">\n <HookSlot name=\"cart:items.start\" context={{ cartItems: cartData.items }} />\n\n {cartData.items.map((item, index) => (\n <CartItem key={item.id} item={item} isFirst={index === 0} />\n ))}\n\n {cartData.options?.length > 0 && (\n <div className=\"cart-options\">\n {cartData.options.map((option) => (\n <form\n key={option.id}\n className=\"first:pt-5 relative\"\n onChange={(e) => window.salla?.form.onChange('cart.updateItem', e)}\n id={`item-${option.id}`}\n >\n <input type=\"hidden\" name=\"id\" value={option.id} />\n <input type=\"hidden\" name=\"quantity\" value={option.quantity} />\n {/* Twig: {% include 'pages.partials.product.options' with {product:product_option} %} */}\n {option.options && option.options.length > 0 && (\n <SallaProductOptions\n options={JSON.stringify(option.options)}\n productId={option.id}\n />\n )}\n </form>\n ))}\n </div>\n )}\n\n <SallaOffer />\n <HookSlot name=\"cart:items.end\" />\n </div>\n\n <CartSummary\n cart={cartData}\n applyCouponEnabled={store.settings?.cart?.apply_coupon_enabled}\n taxAmount={cartData.tax_amount}\n key={cartData.id}\n loyalty={cartData.loyalty}\n gift={cartData.gift}\n loyaltyPoints={loyaltyPoints ?? undefined}\n />\n </div>\n\n <HookSlot name=\"cart:end\" />\n </div>\n );\n}\n\nexport function CartPage(props: CartPageProps) {\n return <CartPageContent {...props} />;\n}\n","import type { CartPageProps } from './types';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n/**\n * SSR-safe loader that returns only page metadata.\n * Cart data is fetched client-side via React Query since the cart ID\n * lives in localStorage (unavailable during SSR).\n */\nexport function cartLoader(): CartPageProps {\n const i18n = getTwilightContext().i18n;\n return {\n page: { slug: RouteId.CART, title: i18n.t('common.titles.cart') || 'Cart' },\n } as CartPageProps;\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { CartPage } from './CartPage';\nimport { cartLoader } from './loader';\nimport type { CartPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport { CartPage } from './CartPage';\nexport { cartLoader } from './loader';\nexport type { CartPageProps } from './types';\n\nasync function loader(\n _ctx?: { locale?: string },\n extend?: (\n data: CartPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<CartPageProps> {\n const data = cartLoader();\n\n if (extend) {\n const extra = extend(data, { params: {} });\n return { ...data, ...(extra instanceof Promise ? {} : extra) } as CartPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: CartPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Cart = { id: RouteId.CART, loader, head, Component: CartPage } as const;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/routes/cart/CartPage.tsx","../../src/routes/cart/loader.ts","../../src/routes/cart/index.tsx"],"names":[],"mappings":"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","file":"cart.js","sourcesContent":["import { useState, useEffect } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { SallaConditionalOffer } from '@salla.sa/twilight-components-react/conditional-offer';\nimport { SallaOffer } from '@salla.sa/twilight-components-react/offer';\nimport { SallaProductOptions } from '@salla.sa/twilight-components-react/product-options';\nimport { HookSlot } from '../../hooks';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { CartPageProps } from './types';\nimport { Breadcrumb, NoContent } from '../../components/common';\nimport { CartItem, CartSummary, SeoCartWidget } from '../../components/cart';\nimport { useTwilight } from '../../providers/twilight-context';\nimport { CartSkeleton } from '../../skeleton';\nimport { loyalty } from '../../api/loyalty';\nimport { cart } from '../../api/cart';\n\nfunction CartPageContent({ page }: CartPageProps) {\n const { store } = useTwilight();\n const { t } = useTranslation();\n const { data: loyaltyPoints } = useQuery(loyalty.queries.points());\n\n const [cartId, setCartId] = useState<number | null>(null);\n\n useEffect(() => {\n window.salla?.cart.api.getCurrentCartId().then(setCartId);\n }, []);\n\n const { data: cartData } = useQuery({\n ...cart.queries.detail(cartId!),\n enabled: !!cartId,\n });\n\n const isLoading = cartId === null || cartData === undefined;\n\n if (isLoading) {\n return <CartSkeleton />;\n }\n\n // No cart: it was already turned into an order, shown empty like Twig.\n if (!cartData || cartData.items.length === 0) {\n return (\n <div className=\"container\">\n <Breadcrumb page={page} />\n <NoContent\n icon=\"sicon-shopping-bag\"\n message={t('pages.cart.empty_cart', 'Your cart is empty')}\n actionLabel={t('common.elements.back_home', 'Back to Home')}\n actionUrl=\"/\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"container\">\n {/* Analytics — no visible UI, fires GTM checkout events */}\n <SeoCartWidget cart={cartData} />\n\n <Breadcrumb page={page} />\n <h1 className=\"sr-only\">{t('common.titles.cart', 'Cart')}</h1>\n <SallaConditionalOffer />\n\n <HookSlot name=\"cart:start\" />\n\n <div className=\"pt-5 flex flex-col items-start lg:flex-row pb-6 lg:pb-20\">\n <div className=\"main-content w-full lg:w-[calc(100%-384px)]\">\n <HookSlot name=\"cart:items.start\" context={{ cartItems: cartData.items }} />\n\n {cartData.items.map((item, index) => (\n <CartItem key={item.id} item={item} isFirst={index === 0} />\n ))}\n\n {cartData.options?.length > 0 && (\n <div className=\"cart-options\">\n {cartData.options.map((option) => (\n <form\n key={option.id}\n className=\"first:pt-5 relative\"\n onChange={(e) => window.salla?.form.onChange('cart.updateItem', e)}\n id={`item-${option.id}`}\n >\n <input type=\"hidden\" name=\"id\" value={option.id} />\n <input type=\"hidden\" name=\"quantity\" value={option.quantity} />\n {/* Twig: {% include 'pages.partials.product.options' with {product:product_option} %} */}\n {option.options && option.options.length > 0 && (\n <SallaProductOptions\n options={JSON.stringify(option.options)}\n productId={option.id}\n />\n )}\n </form>\n ))}\n </div>\n )}\n\n <SallaOffer />\n <HookSlot name=\"cart:items.end\" />\n </div>\n\n <CartSummary\n cart={cartData}\n applyCouponEnabled={store.settings?.cart?.apply_coupon_enabled}\n taxAmount={cartData.tax_amount}\n key={cartData.id}\n loyalty={cartData.loyalty}\n gift={cartData.gift}\n loyaltyPoints={loyaltyPoints ?? undefined}\n />\n </div>\n\n <HookSlot name=\"cart:end\" />\n </div>\n );\n}\n\nexport function CartPage(props: CartPageProps) {\n return <CartPageContent {...props} />;\n}\n","import type { CartPageProps } from './types';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n/**\n * SSR-safe loader that returns only page metadata.\n * Cart data is fetched client-side via React Query since the cart ID\n * lives in localStorage (unavailable during SSR).\n */\nexport function cartLoader(): CartPageProps {\n const i18n = getTwilightContext().i18n;\n return {\n page: { slug: RouteId.CART, title: i18n.t('common.titles.cart') || 'Cart' },\n } as CartPageProps;\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { CartPage } from './CartPage';\nimport { cartLoader } from './loader';\nimport type { CartPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport { CartPage } from './CartPage';\nexport { cartLoader } from './loader';\nexport type { CartPageProps } from './types';\n\nasync function loader(\n _ctx?: { locale?: string },\n extend?: (\n data: CartPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<CartPageProps> {\n const data = cartLoader();\n\n if (extend) {\n const extra = extend(data, { params: {} });\n return { ...data, ...(extra instanceof Promise ? {} : extra) } as CartPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: CartPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Cart = { id: RouteId.CART, loader, head, Component: CartPage } as const;\n"]}
|
package/dist/routes/home.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export { Home, HomeSkeleton, homeLoader } from '../chunk-
|
|
1
|
+
export { Home, HomeSkeleton, homeLoader } from '../chunk-LUTMPFRW.js';
|
|
2
2
|
import '../chunk-NQVJ7NJ6.js';
|
|
3
3
|
import '../chunk-TZ3E5BN4.js';
|
|
4
|
-
export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
export { DefaultHomeComponents, registerHomeComponentConfig, registerHomeComponents } from '../chunk-EXKTSWBC.js';
|
|
5
|
+
import '../chunk-W66OHTSM.js';
|
|
6
|
+
import '../chunk-YLPI4HDD.js';
|
|
7
7
|
import '../chunk-342EPVXN.js';
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-EIJXSBL6.js';
|
|
9
|
+
import '../chunk-4KTY2FT6.js';
|
|
10
10
|
import '../chunk-JKIRRMBU.js';
|
|
11
11
|
import '../chunk-2JV6WZ6O.js';
|
|
12
12
|
import '../chunk-UIOLSYKV.js';
|
|
13
13
|
import '../chunk-VVZNW5CB.js';
|
|
14
14
|
import '../chunk-2XGQSJKH.js';
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-I62RENKM.js';
|
|
16
|
+
import '../chunk-ZGHRSRDO.js';
|
|
17
|
+
import '../chunk-GOPUP26T.js';
|
|
18
18
|
import '../chunk-C5X6CVXC.js';
|
|
19
19
|
import '../chunk-UZKTK6YV.js';
|
|
20
20
|
import '../chunk-5X2UFNKY.js';
|
|
@@ -26,7 +26,7 @@ import '../chunk-N2S25NXP.js';
|
|
|
26
26
|
import '../chunk-TP3LCGE7.js';
|
|
27
27
|
import '../chunk-Z653O7MX.js';
|
|
28
28
|
import '../chunk-ZCH7W7DZ.js';
|
|
29
|
-
import '../chunk-
|
|
29
|
+
import '../chunk-PWBMSGMU.js';
|
|
30
30
|
import '../chunk-JWXJPJBO.js';
|
|
31
31
|
import '../chunk-CW625T2E.js';
|
|
32
32
|
import '../chunk-7V36I5GT.js';
|
|
@@ -38,7 +38,7 @@ import '../chunk-T72DAX7R.js';
|
|
|
38
38
|
import '../chunk-RJPPO3ET.js';
|
|
39
39
|
import '../chunk-Q7VWURUR.js';
|
|
40
40
|
import '../chunk-GU2KUQVD.js';
|
|
41
|
-
import '../chunk-
|
|
41
|
+
import '../chunk-UH5ZXDEO.js';
|
|
42
42
|
import '../chunk-AXW67SY7.js';
|
|
43
43
|
import '../chunk-BYMOPN2S.js';
|
|
44
44
|
import '../chunk-SKLEJJ6M.js';
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type { CategoryPageProps, ProductListLoaderData, ProductListLoaderParams,
|
|
|
12
12
|
export type { BlogAuthorLoaderData, BlogCategoryLoaderData, BlogTagLoaderData, BlogPageProps, BlogSinglePageProps, ArticleSummary, ArticleDetail, ArticleStats, ArticleMeta, BlogAuthorType, BlogTagType, BlogCategoryType, CategoryMeta, } from './blog';
|
|
13
13
|
export type { BrandsPageProps, Brand, BrandsGroup } from './brands';
|
|
14
14
|
export type { ProfilePageProps, WishlistPageProps, WalletPageProps, NotificationsPageProps, Order, OrderItem, OrderListItem, OrdersPageProps, OrderSinglePageProps, } from './account';
|
|
15
|
-
export type { LoyaltyPageProps, LoyaltyPoint, LoyaltyPrize, LoyaltyPrizeItem } from './loyalty';
|
|
15
|
+
export type { LoyaltyPageProps, LoyaltyPointsPageProps, LoyaltyPoint, LoyaltyPrize, LoyaltyPrizeItem, } from './loyalty';
|
|
16
16
|
export type { PageSingleProps, StaticPage } from './page';
|
|
17
17
|
export type { TestimonialsPageProps } from './testimonials';
|
|
18
18
|
export type { ThankYouLoaderParams, ThankYouPageProps } from './thank-you';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,eAAe,EACf,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EACV,iBAAiB,EAEjB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,KAAK,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,eAAe,EACf,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,YAAY,EACV,iBAAiB,EAEjB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,KAAK,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/routes/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { slugBrandRedirectLoader } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { slugBrandRedirectLoader } from '../chunk-Q5UYV2EN.js';
|
|
2
|
+
import '../chunk-I62RENKM.js';
|
|
3
|
+
import '../chunk-ZGHRSRDO.js';
|
|
4
4
|
import '../chunk-SR4OTLTJ.js';
|
|
5
5
|
import '../chunk-N2S25NXP.js';
|
|
6
6
|
import '../chunk-TYNZ5B2B.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LoyaltyPageProps } from './types';
|
|
2
|
-
export declare function LoyaltyPage({
|
|
2
|
+
export declare function LoyaltyPage({ page }: LoyaltyPageProps): import("react").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=LoyaltyPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoyaltyPage.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoyaltyPage.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,+BAWrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoyaltyPointsPage.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/LoyaltyPointsPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGtD,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,+BAMjE"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { HeadDescriptor } from '../../utils/head';
|
|
2
|
-
import type { LoyaltyPageProps } from './types';
|
|
2
|
+
import type { LoyaltyPageProps, LoyaltyPointsPageProps } from './types';
|
|
3
3
|
import type { TwilightContext } from '../../twilight/context';
|
|
4
4
|
export declare const LoyaltyPage: import("react").LazyExoticComponent<typeof import("./LoyaltyPage").LoyaltyPage>;
|
|
5
|
-
export
|
|
6
|
-
export
|
|
5
|
+
export declare const LoyaltyPointsPage: import("react").LazyExoticComponent<typeof import("./LoyaltyPointsPage").LoyaltyPointsPage>;
|
|
6
|
+
export { loyaltyLoader, loyaltyPointsLoader } from './loader';
|
|
7
|
+
export type { LoyaltyPageProps, LoyaltyPointsPageProps, LoyaltyPoint, LoyaltyPrize, LoyaltyPrizeItem, } from './types';
|
|
7
8
|
declare function loader(ctx?: {
|
|
8
9
|
locale?: string;
|
|
9
10
|
}, extend?: (data: LoyaltyPageProps, ctx: {
|
|
@@ -16,4 +17,15 @@ export declare const Loyalty: {
|
|
|
16
17
|
readonly head: typeof head;
|
|
17
18
|
readonly Component: import("react").LazyExoticComponent<typeof import("./LoyaltyPage").LoyaltyPage>;
|
|
18
19
|
};
|
|
20
|
+
declare function pointsLoader(ctx?: {
|
|
21
|
+
locale?: string;
|
|
22
|
+
}, extend?: (data: LoyaltyPointsPageProps, ctx: {
|
|
23
|
+
params: Record<string, never>;
|
|
24
|
+
}) => Promise<Record<string, unknown>> | Record<string, unknown>): Promise<LoyaltyPointsPageProps>;
|
|
25
|
+
export declare const LoyaltyPoints: {
|
|
26
|
+
readonly id: "customer.loyalty_points";
|
|
27
|
+
readonly loader: typeof pointsLoader;
|
|
28
|
+
readonly head: (ctx: TwilightContext, data: LoyaltyPointsPageProps) => HeadDescriptor;
|
|
29
|
+
readonly Component: import("react").LazyExoticComponent<typeof import("./LoyaltyPointsPage").LoyaltyPointsPage>;
|
|
30
|
+
};
|
|
19
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,eAAO,MAAM,WAAW,iFAAkB,CAAC;AAC3C,eAAO,MAAM,iBAAiB,6FAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,iBAAe,MAAM,CACnB,GAAG,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAQ1E;AAED,eAAO,MAAM,OAAO;;;;;CAA6E,CAAC;AAElG,iBAAe,YAAY,CACzB,GAAG,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,KACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,sBAAsB,CAAC,CAQjC;AAED,eAAO,MAAM,aAAa;;;yBAGZ,eAAe,QAAQ,sBAAsB,KAAG,cAAc;;CAKlE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { LoyaltyPageProps } from './types';
|
|
1
|
+
import type { LoyaltyPageProps, LoyaltyPointsPageProps } from './types';
|
|
2
2
|
export declare function loyaltyLoader(locale?: string): Promise<LoyaltyPageProps>;
|
|
3
|
+
export declare function loyaltyPointsLoader(locale?: string): Promise<LoyaltyPointsPageProps>;
|
|
3
4
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAmBjF,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAc9E;AAED,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgB1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/loyalty/types.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/loyalty.js
CHANGED
|
@@ -1,36 +1,70 @@
|
|
|
1
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { loyalty } from '../chunk-NPEI4SAZ.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import { redirect } from '../chunk-
|
|
4
|
-
import { RouteId } from '../chunk-
|
|
5
|
-
import '../chunk-P3OPJL6I.js';
|
|
3
|
+
import { unauthorized, orUnauthorized, redirect } from '../chunk-I62RENKM.js';
|
|
4
|
+
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
5
|
+
import { getAuthToken } from '../chunk-P3OPJL6I.js';
|
|
6
6
|
import '../chunk-WY4IYO3G.js';
|
|
7
7
|
import '../chunk-TYLKNVQA.js';
|
|
8
8
|
import '../chunk-SR4OTLTJ.js';
|
|
9
|
-
import '../chunk-N2S25NXP.js';
|
|
9
|
+
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
10
10
|
import { FALLBACK_LOCALE } from '../chunk-T72DAX7R.js';
|
|
11
11
|
import '../chunk-DF6FBKDN.js';
|
|
12
12
|
import '../chunk-DGUM43GV.js';
|
|
13
13
|
import { lazy } from 'react';
|
|
14
14
|
|
|
15
15
|
// src/routes/loyalty/loader.ts
|
|
16
|
-
async function
|
|
17
|
-
let data;
|
|
16
|
+
async function getProgramOrGoHome(locale) {
|
|
18
17
|
try {
|
|
19
|
-
|
|
18
|
+
return await loyalty.get();
|
|
20
19
|
} catch (error) {
|
|
21
20
|
if (error?.response?.status === 400) {
|
|
22
21
|
throw redirect(`/${locale || FALLBACK_LOCALE}`);
|
|
23
22
|
}
|
|
24
23
|
throw error;
|
|
25
24
|
}
|
|
26
|
-
|
|
25
|
+
}
|
|
26
|
+
async function loyaltyLoader(locale) {
|
|
27
|
+
const data = await getProgramOrGoHome(locale);
|
|
28
|
+
const { i18n } = getTwilightContext();
|
|
29
|
+
return {
|
|
30
|
+
page: {
|
|
31
|
+
slug: RouteId.LOYALTY,
|
|
32
|
+
title: data.name,
|
|
33
|
+
breadcrumbs: [
|
|
34
|
+
{ name: i18n.t("common.titles.home"), url: "/" },
|
|
35
|
+
{ name: i18n.t("common.titles.loyalty_program"), url: "/loyalty" }
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
loyalty: data
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
async function loyaltyPointsLoader(locale) {
|
|
42
|
+
if (!getAuthToken()) throw unauthorized();
|
|
43
|
+
await orUnauthorized(getProgramOrGoHome(locale));
|
|
44
|
+
const { i18n } = getTwilightContext();
|
|
45
|
+
const title = i18n.t("pages.loyalty_program.loyalty_points");
|
|
46
|
+
return {
|
|
47
|
+
page: {
|
|
48
|
+
slug: RouteId.CUSTOMER_LOYALTY_POINTS,
|
|
49
|
+
title,
|
|
50
|
+
breadcrumbs: [
|
|
51
|
+
{ name: i18n.t("common.titles.home"), url: "/" },
|
|
52
|
+
{ name: i18n.t("common.titles.profile"), url: "/account/profile" },
|
|
53
|
+
{ name: title, url: "/loyalty_points" }
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
};
|
|
27
57
|
}
|
|
28
58
|
|
|
29
59
|
// src/routes/loyalty/index.tsx
|
|
30
60
|
var LazyLoyaltyPage = lazy(
|
|
31
|
-
() => import('../LoyaltyPage-
|
|
61
|
+
() => import('../LoyaltyPage-XQJ6RDT6.js').then((m) => ({ default: m.LoyaltyPage }))
|
|
62
|
+
);
|
|
63
|
+
var LazyLoyaltyPointsPage = lazy(
|
|
64
|
+
() => import('../LoyaltyPointsPage-K75LJNNP.js').then((m) => ({ default: m.LoyaltyPointsPage }))
|
|
32
65
|
);
|
|
33
66
|
var LoyaltyPage = LazyLoyaltyPage;
|
|
67
|
+
var LoyaltyPointsPage = LazyLoyaltyPointsPage;
|
|
34
68
|
async function loader(ctx, extend) {
|
|
35
69
|
const data = await loyaltyLoader(ctx?.locale);
|
|
36
70
|
if (extend) {
|
|
@@ -48,7 +82,24 @@ function head(ctx, data) {
|
|
|
48
82
|
return base;
|
|
49
83
|
}
|
|
50
84
|
var Loyalty = { id: RouteId.LOYALTY, loader, head, Component: LazyLoyaltyPage };
|
|
85
|
+
async function pointsLoader(ctx, extend) {
|
|
86
|
+
const data = await loyaltyPointsLoader(ctx?.locale);
|
|
87
|
+
if (extend) {
|
|
88
|
+
const extra = await extend(data, { params: {} });
|
|
89
|
+
return { ...data, ...extra };
|
|
90
|
+
}
|
|
91
|
+
return data;
|
|
92
|
+
}
|
|
93
|
+
var LoyaltyPoints = {
|
|
94
|
+
id: RouteId.CUSTOMER_LOYALTY_POINTS,
|
|
95
|
+
loader: pointsLoader,
|
|
96
|
+
head: (ctx, data) => ({
|
|
97
|
+
title: data.page.title,
|
|
98
|
+
alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname)
|
|
99
|
+
}),
|
|
100
|
+
Component: LazyLoyaltyPointsPage
|
|
101
|
+
};
|
|
51
102
|
|
|
52
|
-
export { Loyalty, LoyaltyPage, loyaltyLoader };
|
|
103
|
+
export { Loyalty, LoyaltyPage, LoyaltyPoints, LoyaltyPointsPage, loyaltyLoader, loyaltyPointsLoader };
|
|
53
104
|
//# sourceMappingURL=loyalty.js.map
|
|
54
105
|
//# sourceMappingURL=loyalty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/loyalty/loader.ts","../../src/routes/loyalty/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/routes/loyalty/loader.ts","../../src/routes/loyalty/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,eAAe,mBAAmB,MAAA,EAAmC;AACnE,EAAA,IAAI;AACF,IAAA,OAAO,MAAM,QAAQ,GAAA,EAAI;AAAA,EAC3B,SAAS,KAAA,EAAO;AAEd,IAAA,IAAK,KAAA,EAA8C,QAAA,EAAU,MAAA,KAAW,GAAA,EAAK;AAC3E,MAAA,MAAM,QAAA,CAAS,CAAA,CAAA,EAAI,MAAA,IAAU,eAAe,CAAA,CAAE,CAAA;AAAA,IAChD;AACA,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAEA,eAAsB,cAAc,MAAA,EAA4C;AAC9E,EAAA,MAAM,IAAA,GAAO,MAAM,kBAAA,CAAmB,MAAM,CAAA;AAC5C,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,kBAAA,EAAmB;AACpC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,MAAM,OAAA,CAAQ,OAAA;AAAA,MACd,OAAO,IAAA,CAAK,IAAA;AAAA,MACZ,WAAA,EAAa;AAAA,QACX,EAAE,IAAA,EAAM,IAAA,CAAK,EAAE,oBAAoB,CAAA,EAAG,KAAK,GAAA,EAAI;AAAA,QAC/C,EAAE,IAAA,EAAM,IAAA,CAAK,EAAE,+BAA+B,CAAA,EAAG,KAAK,UAAA;AAAW;AACnE,KACF;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AAEA,eAAsB,oBAAoB,MAAA,EAAkD;AAC1F,EAAA,IAAI,CAAC,YAAA,EAAa,EAAG,MAAM,YAAA,EAAa;AACxC,EAAA,MAAM,cAAA,CAAe,kBAAA,CAAmB,MAAM,CAAC,CAAA;AAC/C,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,kBAAA,EAAmB;AACpC,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,CAAA,CAAE,sCAAsC,CAAA;AAC3D,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,MAAM,OAAA,CAAQ,uBAAA;AAAA,MACd,KAAA;AAAA,MACA,WAAA,EAAa;AAAA,QACX,EAAE,IAAA,EAAM,IAAA,CAAK,EAAE,oBAAoB,CAAA,EAAG,KAAK,GAAA,EAAI;AAAA,QAC/C,EAAE,IAAA,EAAM,IAAA,CAAK,EAAE,uBAAuB,CAAA,EAAG,KAAK,kBAAA,EAAmB;AAAA,QACjE,EAAE,IAAA,EAAM,KAAA,EAAO,GAAA,EAAK,iBAAA;AAAkB;AACxC;AACF,GACF;AACF;;;AC3CA,IAAM,eAAA,GAAkB,IAAA;AAAA,EAAK,MAC3B,OAAO,4BAAe,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,WAAA,EAAY,CAAE;AAClE,CAAA;AAEA,IAAM,qBAAA,GAAwB,IAAA;AAAA,EAAK,MACjC,OAAO,kCAAqB,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,iBAAA,EAAkB,CAAE;AAC9E,CAAA;AAEO,IAAM,WAAA,GAAc;AACpB,IAAM,iBAAA,GAAoB;AAUjC,eAAe,MAAA,CACb,KACA,MAAA,EAI2B;AAC3B,EAAA,MAAM,IAAA,GAAO,MAAM,aAAA,CAAc,GAAA,EAAK,MAAM,CAAA;AAE5C,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,IAAI,CAAA;AAC/C,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,IAAA,CAAK,KAAsB,IAAA,EAAwC;AAC1E,EAAA,MAAM,IAAA,GAAuB;AAAA,IAC3B,KAAA,EAAO,KAAK,IAAA,CAAK,KAAA;AAAA,IACjB,WAAA,EAAa,KAAK,IAAA,CAAK,WAAA;AAAA,IACvB,oBAAoB,uBAAA,CAAwB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,SAAS,QAAQ;AAAA,GACjF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,OAAA,GAAU,EAAE,EAAA,EAAI,OAAA,CAAQ,SAAS,MAAA,EAAQ,IAAA,EAAM,WAAW,eAAA;AAEvE,eAAe,YAAA,CACb,KACA,MAAA,EAIiC;AACjC,EAAA,MAAM,IAAA,GAAO,MAAM,mBAAA,CAAoB,GAAA,EAAK,MAAM,CAAA;AAElD,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,IAAI,CAAA;AAC/C,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAI,OAAA,CAAQ,uBAAA;AAAA,EACZ,MAAA,EAAQ,YAAA;AAAA,EACR,IAAA,EAAM,CAAC,GAAA,EAAsB,IAAA,MAAkD;AAAA,IAC7E,KAAA,EAAO,KAAK,IAAA,CAAK,KAAA;AAAA,IACjB,oBAAoB,uBAAA,CAAwB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,SAAS,QAAQ;AAAA,GACjF,CAAA;AAAA,EACA,SAAA,EAAW;AACb","file":"loyalty.js","sourcesContent":["import { loyalty } from '../../api/loyalty';\nimport type { Loyalty, LoyaltyPageProps, LoyaltyPointsPageProps } from './types';\nimport { RouteId } from '../../router/route-ids';\nimport { orUnauthorized, redirect, unauthorized } from '../../providers/NavigationProvider';\nimport { FALLBACK_LOCALE } from '../../providers/locale-constants';\nimport { getTwilightContext } from '../../twilight/context';\nimport { getAuthToken } from '../../api/client';\n\nasync function getProgramOrGoHome(locale?: string): Promise<Loyalty> {\n try {\n return await loyalty.get();\n } catch (error) {\n // The API answers 400 when the store's loyalty program is off; like the Twig storefront, go home.\n if ((error as { response?: { status?: number } })?.response?.status === 400) {\n throw redirect(`/${locale || FALLBACK_LOCALE}`);\n }\n throw error;\n }\n}\n\nexport async function loyaltyLoader(locale?: string): Promise<LoyaltyPageProps> {\n const data = await getProgramOrGoHome(locale);\n const { i18n } = getTwilightContext();\n return {\n page: {\n slug: RouteId.LOYALTY,\n title: data.name,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('common.titles.loyalty_program'), url: '/loyalty' },\n ],\n },\n loyalty: data,\n };\n}\n\nexport async function loyaltyPointsLoader(locale?: string): Promise<LoyaltyPointsPageProps> {\n if (!getAuthToken()) throw unauthorized();\n await orUnauthorized(getProgramOrGoHome(locale));\n const { i18n } = getTwilightContext();\n const title = i18n.t('pages.loyalty_program.loyalty_points');\n return {\n page: {\n slug: RouteId.CUSTOMER_LOYALTY_POINTS,\n title,\n breadcrumbs: [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('common.titles.profile'), url: '/account/profile' },\n { name: title, url: '/loyalty_points' },\n ],\n },\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport { loyaltyLoader, loyaltyPointsLoader } from './loader';\nimport type { LoyaltyPageProps, LoyaltyPointsPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n// Lazy-load component for code-splitting\nconst LazyLoyaltyPage = lazy(() =>\n import('./LoyaltyPage').then((m) => ({ default: m.LoyaltyPage }))\n);\n\nconst LazyLoyaltyPointsPage = lazy(() =>\n import('./LoyaltyPointsPage').then((m) => ({ default: m.LoyaltyPointsPage }))\n);\n\nexport const LoyaltyPage = LazyLoyaltyPage;\nexport const LoyaltyPointsPage = LazyLoyaltyPointsPage;\nexport { loyaltyLoader, loyaltyPointsLoader } from './loader';\nexport type {\n LoyaltyPageProps,\n LoyaltyPointsPageProps,\n LoyaltyPoint,\n LoyaltyPrize,\n LoyaltyPrizeItem,\n} from './types';\n\nasync function loader(\n ctx?: { locale?: string },\n extend?: (\n data: LoyaltyPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<LoyaltyPageProps> {\n const data = await loyaltyLoader(ctx?.locale);\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as LoyaltyPageProps;\n }\n return data;\n}\n\nfunction head(ctx: TwilightContext, data: LoyaltyPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Loyalty = { id: RouteId.LOYALTY, loader, head, Component: LazyLoyaltyPage } as const;\n\nasync function pointsLoader(\n ctx?: { locale?: string },\n extend?: (\n data: LoyaltyPointsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<LoyaltyPointsPageProps> {\n const data = await loyaltyPointsLoader(ctx?.locale);\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as LoyaltyPointsPageProps;\n }\n return data;\n}\n\nexport const LoyaltyPoints = {\n id: RouteId.CUSTOMER_LOYALTY_POINTS,\n loader: pointsLoader,\n head: (ctx: TwilightContext, data: LoyaltyPointsPageProps): HeadDescriptor => ({\n title: data.page.title,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyLoyaltyPointsPage,\n} as const;\n"]}
|
package/dist/routes/page.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { page } from '../chunk-
|
|
1
|
+
import { page } from '../chunk-S3CC2YGF.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import { RouteId } from '../chunk-
|
|
3
|
+
import '../chunk-I62RENKM.js';
|
|
4
|
+
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
5
5
|
import '../chunk-P3OPJL6I.js';
|
|
6
6
|
import '../chunk-WY4IYO3G.js';
|
|
7
7
|
import '../chunk-TYLKNVQA.js';
|
|
@@ -29,7 +29,7 @@ async function pageSingleLoader({ params }) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// src/routes/page/index.tsx
|
|
32
|
-
var LazyPageSingle = lazy(() => import('../PageSingle-
|
|
32
|
+
var LazyPageSingle = lazy(() => import('../PageSingle-HRMSVNHN.js').then((m) => ({ default: m.PageSingle })));
|
|
33
33
|
var PageSingleLazy = LazyPageSingle;
|
|
34
34
|
async function loader(ctx, extend) {
|
|
35
35
|
const data = await pageSingleLoader({ params: ctx.params });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,iBAAe,MAAM,CACnB,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,KACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,iBAAe,MAAM,CACnB,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,KACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,iBAAS,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAwH1E;AAED,eAAO,MAAM,OAAO;;;;;CAKV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,SAAS,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/product-listing/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,SAAS,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAkCtF;AAED,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { sortOptions } from '../chunk-6Z4MOC4S.js';
|
|
2
|
-
import { category } from '../chunk-
|
|
3
|
-
import { brand } from '../chunk-
|
|
2
|
+
import { category } from '../chunk-PE3LLBNR.js';
|
|
3
|
+
import { brand } from '../chunk-KWHCKGLL.js';
|
|
4
4
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
5
|
-
import { LazyTestimonials } from '../chunk-
|
|
6
|
-
import { product } from '../chunk-
|
|
5
|
+
import { LazyTestimonials } from '../chunk-EXKTSWBC.js';
|
|
6
|
+
import { product } from '../chunk-W66OHTSM.js';
|
|
7
7
|
import { Drawer } from '../chunk-6TKIUG5C.js';
|
|
8
|
-
import { ProductCard } from '../chunk-
|
|
8
|
+
import { ProductCard } from '../chunk-YLPI4HDD.js';
|
|
9
9
|
import '../chunk-342EPVXN.js';
|
|
10
|
-
import { useStore } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
10
|
+
import { useStore } from '../chunk-EIJXSBL6.js';
|
|
11
|
+
import '../chunk-4KTY2FT6.js';
|
|
12
12
|
import '../chunk-JKIRRMBU.js';
|
|
13
13
|
import '../chunk-2JV6WZ6O.js';
|
|
14
14
|
import '../chunk-UIOLSYKV.js';
|
|
15
15
|
import '../chunk-VVZNW5CB.js';
|
|
16
16
|
import '../chunk-2XGQSJKH.js';
|
|
17
|
-
import { notFound, useNavigate, useLocation } from '../chunk-
|
|
18
|
-
import { RouteId } from '../chunk-
|
|
19
|
-
import '../chunk-
|
|
17
|
+
import { notFound, useNavigate, useLocation } from '../chunk-I62RENKM.js';
|
|
18
|
+
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
19
|
+
import '../chunk-GOPUP26T.js';
|
|
20
20
|
import '../chunk-C5X6CVXC.js';
|
|
21
21
|
import '../chunk-UZKTK6YV.js';
|
|
22
22
|
import '../chunk-5X2UFNKY.js';
|
|
@@ -28,7 +28,7 @@ import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
|
28
28
|
import '../chunk-TP3LCGE7.js';
|
|
29
29
|
import '../chunk-Z653O7MX.js';
|
|
30
30
|
import '../chunk-ZCH7W7DZ.js';
|
|
31
|
-
import '../chunk-
|
|
31
|
+
import '../chunk-PWBMSGMU.js';
|
|
32
32
|
import '../chunk-JWXJPJBO.js';
|
|
33
33
|
import '../chunk-CW625T2E.js';
|
|
34
34
|
import '../chunk-7V36I5GT.js';
|
|
@@ -40,7 +40,7 @@ import '../chunk-T72DAX7R.js';
|
|
|
40
40
|
import '../chunk-RJPPO3ET.js';
|
|
41
41
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
42
42
|
import '../chunk-GU2KUQVD.js';
|
|
43
|
-
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-
|
|
43
|
+
import { LazyBreadcrumb, Image, LazyNoContent, ProductCardSkeleton, LazyRenderWhenVisible } from '../chunk-UH5ZXDEO.js';
|
|
44
44
|
import '../chunk-AXW67SY7.js';
|
|
45
45
|
import '../chunk-BYMOPN2S.js';
|
|
46
46
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -70,7 +70,7 @@ var SOURCE_TO_API = {
|
|
|
70
70
|
var SOURCE_TITLE_KEY = {
|
|
71
71
|
latest: "blocks.home.latest_products",
|
|
72
72
|
sales: "common.titles.most_sales",
|
|
73
|
-
offers: "
|
|
73
|
+
offers: "common.titles.discounts"
|
|
74
74
|
};
|
|
75
75
|
var SOURCE_SLUG = {
|
|
76
76
|
latest: "latest-products",
|
|
@@ -154,10 +154,10 @@ async function loadSearchProducts(keyword, cursor, sort) {
|
|
|
154
154
|
return {
|
|
155
155
|
page: {
|
|
156
156
|
slug: RouteId.SEARCH,
|
|
157
|
-
title: i18n2.t("
|
|
157
|
+
title: i18n2.t("pages.products.search_result"),
|
|
158
158
|
breadcrumbs: [
|
|
159
159
|
{ name: i18n2.t("common.titles.home"), url: "/" },
|
|
160
|
-
{ name: i18n2.t("
|
|
160
|
+
{ name: i18n2.t("pages.products.search_result"), url: "/search" }
|
|
161
161
|
]
|
|
162
162
|
},
|
|
163
163
|
source: { type: "search", value: "" },
|
|
@@ -179,7 +179,7 @@ async function loadSearchProducts(keyword, cursor, sort) {
|
|
|
179
179
|
return {
|
|
180
180
|
page: {
|
|
181
181
|
slug: RouteId.SEARCH,
|
|
182
|
-
title: keyword,
|
|
182
|
+
title: i18n.t("common.elements.search_about").replace(":word", keyword),
|
|
183
183
|
breadcrumbs: [
|
|
184
184
|
{ name: i18n.t("common.titles.home"), url: "/" },
|
|
185
185
|
{ name: keyword, url: "/search" }
|
|
@@ -594,20 +594,23 @@ function head(ctx, data) {
|
|
|
594
594
|
const canonical = category2?.url ?? tag?.url;
|
|
595
595
|
const title = category2?.name ?? tag?.name ?? data.page.title;
|
|
596
596
|
const image = category2?.image ?? void 0;
|
|
597
|
+
const storeName = ctx.settings?.store?.name;
|
|
598
|
+
const pageTitle = category2 && storeName ? `${title} | ${storeName}` : title;
|
|
597
599
|
const base = {
|
|
598
|
-
title,
|
|
600
|
+
title: pageTitle,
|
|
601
|
+
appendStoreTitle: !category2,
|
|
599
602
|
description: `Browse ${title}`,
|
|
600
603
|
canonical,
|
|
601
604
|
openGraph: {
|
|
602
605
|
type: "website",
|
|
603
|
-
title,
|
|
606
|
+
title: pageTitle,
|
|
604
607
|
description: `Browse ${title}`,
|
|
605
608
|
images: image,
|
|
606
609
|
url: canonical
|
|
607
610
|
},
|
|
608
611
|
twitter: {
|
|
609
612
|
card: "summary_large_image",
|
|
610
|
-
title,
|
|
613
|
+
title: pageTitle,
|
|
611
614
|
description: `Browse ${title}`,
|
|
612
615
|
images: image
|
|
613
616
|
},
|