@salla.sa/twilight-theme-engine 1.0.103 → 1.0.105
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-O7UZDX6G.js → AddToCartForm-LWSRJJSF.js} +3 -3
- package/dist/{AddToCartForm-O7UZDX6G.js.map → AddToCartForm-LWSRJJSF.js.map} +1 -1
- package/dist/{BlogAuthorPage-JLU2JWPT.js → BlogAuthorPage-E2BONAKB.js} +27 -27
- package/dist/{BlogAuthorPage-JLU2JWPT.js.map → BlogAuthorPage-E2BONAKB.js.map} +1 -1
- package/dist/{BlogCategoryPage-FTZPLNTL.js → BlogCategoryPage-F5G35XQE.js} +27 -27
- package/dist/{BlogCategoryPage-FTZPLNTL.js.map → BlogCategoryPage-F5G35XQE.js.map} +1 -1
- package/dist/{BlogPage-JBVPGHR5.js → BlogPage-W4NDWE5Q.js} +25 -25
- package/dist/{BlogPage-JBVPGHR5.js.map → BlogPage-W4NDWE5Q.js.map} +1 -1
- package/dist/{BlogSinglePage-V3KQ5HIW.js → BlogSinglePage-543VMKSI.js} +25 -25
- package/dist/{BlogSinglePage-V3KQ5HIW.js.map → BlogSinglePage-543VMKSI.js.map} +1 -1
- package/dist/{BlogTagPage-NTYO6TB4.js → BlogTagPage-KDQVHQ65.js} +27 -27
- package/dist/{BlogTagPage-NTYO6TB4.js.map → BlogTagPage-KDQVHQ65.js.map} +1 -1
- package/dist/{BrandsPage-5OSSOWDP.js → BrandsPage-ABKUKE5J.js} +26 -26
- package/dist/{BrandsPage-5OSSOWDP.js.map → BrandsPage-ABKUKE5J.js.map} +1 -1
- package/dist/{Breadcrumb-GJI3N76F.js → Breadcrumb-WBTLVXYF.js} +25 -25
- package/dist/{Breadcrumb-GJI3N76F.js.map → Breadcrumb-WBTLVXYF.js.map} +1 -1
- package/dist/{CartItem-KO34MYXT.js → CartItem-KNFR7K7Z.js} +25 -25
- package/dist/{CartItem-KO34MYXT.js.map → CartItem-KNFR7K7Z.js.map} +1 -1
- package/dist/{CartSummary-NPFAJI7C.js → CartSummary-EQ4GTR4Y.js} +25 -25
- package/dist/{CartSummary-NPFAJI7C.js.map → CartSummary-EQ4GTR4Y.js.map} +1 -1
- package/dist/{Copyright-VEJV2YTR.js → Copyright-NYKF6LY5.js} +3 -3
- package/dist/{Copyright-VEJV2YTR.js.map → Copyright-NYKF6LY5.js.map} +1 -1
- package/dist/{CustomerLayout-L374ZRWY.js → CustomerLayout-NY4LOV3Y.js} +25 -25
- package/dist/{CustomerLayout-L374ZRWY.js.map → CustomerLayout-NY4LOV3Y.js.map} +1 -1
- package/dist/{Footer-D4YSIM25.js → Footer-DRKA2MI6.js} +4 -4
- package/dist/{Footer-D4YSIM25.js.map → Footer-DRKA2MI6.js.map} +1 -1
- package/dist/Header-JBZRD2WU.js +22 -0
- package/dist/{Header-CXJ3TFHO.js.map → Header-JBZRD2WU.js.map} +1 -1
- package/dist/{LoyaltyPage-BTKKAZYT.js → LoyaltyPage-VOAUC2CY.js} +25 -25
- package/dist/{LoyaltyPage-BTKKAZYT.js.map → LoyaltyPage-VOAUC2CY.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-CBVSWLR6.js → LoyaltyPointsPage-I5U5NFK3.js} +9 -9
- package/dist/{LoyaltyPointsPage-CBVSWLR6.js.map → LoyaltyPointsPage-I5U5NFK3.js.map} +1 -1
- package/dist/{MainMenu-KCVTEZRG.js → MainMenu-SWP46RPJ.js} +8 -8
- package/dist/{MainMenu-KCVTEZRG.js.map → MainMenu-SWP46RPJ.js.map} +1 -1
- package/dist/MaintenancePage-MGWJYB2O.js +7 -0
- package/dist/MaintenancePage-MGWJYB2O.js.map +1 -0
- package/dist/{MasterLayout-K6IGPKCD.js → MasterLayout-BF2E47SE.js} +25 -25
- package/dist/{MasterLayout-K6IGPKCD.js.map → MasterLayout-BF2E47SE.js.map} +1 -1
- package/dist/{MobileMenu-KDKARTM5.js → MobileMenu-LBOVOA6D.js} +26 -26
- package/dist/{MobileMenu-KDKARTM5.js.map → MobileMenu-LBOVOA6D.js.map} +1 -1
- package/dist/{NotificationsPage-A3NZEO52.js → NotificationsPage-FNFKEOX3.js} +25 -25
- package/dist/{NotificationsPage-A3NZEO52.js.map → NotificationsPage-FNFKEOX3.js.map} +1 -1
- package/dist/{OrderSinglePage-APA3LCWT.js → OrderSinglePage-EGCPZ25S.js} +26 -26
- package/dist/{OrderSinglePage-APA3LCWT.js.map → OrderSinglePage-EGCPZ25S.js.map} +1 -1
- package/dist/{OrdersPage-N4S2SKXD.js → OrdersPage-DOK3AE37.js} +25 -25
- package/dist/{OrdersPage-N4S2SKXD.js.map → OrdersPage-DOK3AE37.js.map} +1 -1
- package/dist/{PageSingle-ED3IQQLS.js → PageSingle-4NYB7VCI.js} +7 -7
- package/dist/{PageSingle-ED3IQQLS.js.map → PageSingle-4NYB7VCI.js.map} +1 -1
- package/dist/{ProductDetails-MN3GXUXK.js → ProductDetails-EJ6WKSLO.js} +8 -8
- package/dist/{ProductDetails-MN3GXUXK.js.map → ProductDetails-EJ6WKSLO.js.map} +1 -1
- package/dist/{ProfilePage-QQ2GN7RO.js → ProfilePage-RQJNJFAV.js} +25 -25
- package/dist/{ProfilePage-QQ2GN7RO.js.map → ProfilePage-RQJNJFAV.js.map} +1 -1
- package/dist/{ReviewsPage-YHO2CNZP.js → ReviewsPage-SSVTW76R.js} +3 -3
- package/dist/{ReviewsPage-YHO2CNZP.js.map → ReviewsPage-SSVTW76R.js.map} +1 -1
- package/dist/{SeoCartWidget-DWJT2WXI.js → SeoCartWidget-I3T6MEYN.js} +25 -25
- package/dist/{SeoCartWidget-DWJT2WXI.js.map → SeoCartWidget-I3T6MEYN.js.map} +1 -1
- package/dist/{SettingsPage-BRCNPSRN.js → SettingsPage-F2PHWF6M.js} +25 -25
- package/dist/{SettingsPage-BRCNPSRN.js.map → SettingsPage-F2PHWF6M.js.map} +1 -1
- package/dist/StoreClosedNotification-A55JL5ZF.js +54 -0
- package/dist/{StoreClosedNotification-2CIG5LX6.js.map → StoreClosedNotification-A55JL5ZF.js.map} +1 -1
- package/dist/{TestimonialsPage-DDLTHBMM.js → TestimonialsPage-P3NQ4MD6.js} +7 -7
- package/dist/{TestimonialsPage-DDLTHBMM.js.map → TestimonialsPage-P3NQ4MD6.js.map} +1 -1
- package/dist/{ThankYouPage-YN6PC4GT.js → ThankYouPage-NGQHYJV5.js} +25 -25
- package/dist/{ThankYouPage-YN6PC4GT.js.map → ThankYouPage-NGQHYJV5.js.map} +1 -1
- package/dist/{WalletPage-YVJYIL52.js → WalletPage-QKMWV2NA.js} +26 -26
- package/dist/{WalletPage-YVJYIL52.js.map → WalletPage-QKMWV2NA.js.map} +1 -1
- package/dist/{WishlistPage-PD3SHN27.js → WishlistPage-HOR22EBU.js} +27 -27
- package/dist/{WishlistPage-PD3SHN27.js.map → WishlistPage-HOR22EBU.js.map} +1 -1
- package/dist/api/advertisement.js +5 -5
- package/dist/api/apps.js +5 -5
- package/dist/api/blog.js +7 -7
- package/dist/api/brands.js +7 -7
- package/dist/api/cart.js +7 -7
- package/dist/api/category.js +7 -7
- package/dist/api/client.js +4 -4
- package/dist/api/home.js +5 -5
- package/dist/api/loyalty.js +7 -7
- package/dist/api/menu.js +5 -5
- package/dist/api/notification.js +5 -5
- package/dist/api/order.js +7 -7
- package/dist/api/page.js +7 -7
- package/dist/api/product.js +7 -7
- package/dist/api/profile.js +4 -4
- package/dist/api/store.d.ts +9 -1
- package/dist/api/store.d.ts.map +1 -1
- package/dist/api/store.js +5 -5
- package/dist/api/translations.js +5 -5
- package/dist/api/user.js +5 -5
- package/dist/api/wallet.js +5 -5
- package/dist/api/wishlist.js +8 -8
- package/dist/{chunk-PXHFHHTW.js → chunk-25SLMOCZ.js} +4 -4
- package/dist/{chunk-PXHFHHTW.js.map → chunk-25SLMOCZ.js.map} +1 -1
- package/dist/{chunk-IOUOF5KK.js → chunk-2IS4QU3P.js} +4 -4
- package/dist/{chunk-IOUOF5KK.js.map → chunk-2IS4QU3P.js.map} +1 -1
- package/dist/{chunk-OOCN4RFV.js → chunk-3EBV4X6W.js} +3 -3
- package/dist/{chunk-OOCN4RFV.js.map → chunk-3EBV4X6W.js.map} +1 -1
- package/dist/chunk-3PSJH6Q4.js +108 -0
- package/dist/chunk-3PSJH6Q4.js.map +1 -0
- package/dist/{chunk-V7EPED4G.js → chunk-42RKFHJG.js} +74 -18
- package/dist/chunk-42RKFHJG.js.map +1 -0
- package/dist/{chunk-HKSDEFQV.js → chunk-42YMCOK4.js} +3 -3
- package/dist/{chunk-HKSDEFQV.js.map → chunk-42YMCOK4.js.map} +1 -1
- package/dist/{chunk-JUUKZRE5.js → chunk-4O52OV5N.js} +3 -3
- package/dist/{chunk-JUUKZRE5.js.map → chunk-4O52OV5N.js.map} +1 -1
- package/dist/{chunk-JDLXT6VI.js → chunk-5DWTU5KS.js} +7 -5
- package/dist/chunk-5DWTU5KS.js.map +1 -0
- package/dist/{chunk-IGD4G3SP.js → chunk-5L6IBYWZ.js} +4 -4
- package/dist/{chunk-IGD4G3SP.js.map → chunk-5L6IBYWZ.js.map} +1 -1
- package/dist/{chunk-TMN53ONR.js → chunk-6SXIAFXW.js} +7 -7
- package/dist/{chunk-TMN53ONR.js.map → chunk-6SXIAFXW.js.map} +1 -1
- package/dist/{chunk-46JZXQRS.js → chunk-76GCBYJX.js} +3 -3
- package/dist/{chunk-46JZXQRS.js.map → chunk-76GCBYJX.js.map} +1 -1
- package/dist/{chunk-L4AWMQPQ.js → chunk-BHNY4T4O.js} +8 -8
- package/dist/{chunk-L4AWMQPQ.js.map → chunk-BHNY4T4O.js.map} +1 -1
- package/dist/{chunk-XMO7HDZZ.js → chunk-C5MQ6VWX.js} +3 -3
- package/dist/{chunk-XMO7HDZZ.js.map → chunk-C5MQ6VWX.js.map} +1 -1
- package/dist/{chunk-Y6J6NYNK.js → chunk-CTV5GA2U.js} +4 -4
- package/dist/{chunk-Y6J6NYNK.js.map → chunk-CTV5GA2U.js.map} +1 -1
- package/dist/{chunk-JZDJO2CK.js → chunk-D2VMJV3L.js} +10 -8
- package/dist/chunk-D2VMJV3L.js.map +1 -0
- package/dist/{chunk-IYD3EN22.js → chunk-D6IJYZ7U.js} +7 -7
- package/dist/{chunk-IYD3EN22.js.map → chunk-D6IJYZ7U.js.map} +1 -1
- package/dist/{chunk-7YH3A5BT.js → chunk-DMMGD4GW.js} +5 -5
- package/dist/{chunk-7YH3A5BT.js.map → chunk-DMMGD4GW.js.map} +1 -1
- package/dist/{chunk-HIAHDZI5.js → chunk-FQHNVD3H.js} +3 -3
- package/dist/{chunk-HIAHDZI5.js.map → chunk-FQHNVD3H.js.map} +1 -1
- package/dist/{chunk-H3PJJKAQ.js → chunk-HG4B4F4N.js} +8 -3
- package/dist/chunk-HG4B4F4N.js.map +1 -0
- package/dist/{chunk-6EBVVCNI.js → chunk-HGKAIIAJ.js} +4 -4
- package/dist/{chunk-6EBVVCNI.js.map → chunk-HGKAIIAJ.js.map} +1 -1
- package/dist/{chunk-FV6PNN6N.js → chunk-HGY7P2Y3.js} +5 -5
- package/dist/{chunk-FV6PNN6N.js.map → chunk-HGY7P2Y3.js.map} +1 -1
- package/dist/{chunk-RPVHCIR4.js → chunk-JP5XQJKO.js} +4 -4
- package/dist/{chunk-RPVHCIR4.js.map → chunk-JP5XQJKO.js.map} +1 -1
- package/dist/{chunk-ZPX4LBQZ.js → chunk-KTLQV4Q4.js} +5 -5
- package/dist/{chunk-ZPX4LBQZ.js.map → chunk-KTLQV4Q4.js.map} +1 -1
- package/dist/{chunk-3W746XYR.js → chunk-LBBPJM4K.js} +5 -5
- package/dist/{chunk-3W746XYR.js.map → chunk-LBBPJM4K.js.map} +1 -1
- package/dist/{chunk-GLWSJZJZ.js → chunk-LPAWMUJR.js} +4 -4
- package/dist/{chunk-GLWSJZJZ.js.map → chunk-LPAWMUJR.js.map} +1 -1
- package/dist/{chunk-AVPU5C5V.js → chunk-MHDOK7GH.js} +4 -4
- package/dist/{chunk-AVPU5C5V.js.map → chunk-MHDOK7GH.js.map} +1 -1
- package/dist/{chunk-UY57T42N.js → chunk-MSNU4NYS.js} +3 -3
- package/dist/{chunk-UY57T42N.js.map → chunk-MSNU4NYS.js.map} +1 -1
- package/dist/{chunk-VEWF3NFM.js → chunk-OWJMPD7X.js} +3 -3
- package/dist/{chunk-VEWF3NFM.js.map → chunk-OWJMPD7X.js.map} +1 -1
- package/dist/{chunk-UIXEKYTM.js → chunk-P7N3TZFE.js} +46 -24
- package/dist/chunk-P7N3TZFE.js.map +1 -0
- package/dist/{chunk-U73QOIGZ.js → chunk-PLW6MTSL.js} +8 -8
- package/dist/{chunk-U73QOIGZ.js.map → chunk-PLW6MTSL.js.map} +1 -1
- package/dist/{chunk-6LRTCW27.js → chunk-PSBXF3O5.js} +4 -4
- package/dist/{chunk-6LRTCW27.js.map → chunk-PSBXF3O5.js.map} +1 -1
- package/dist/{chunk-7RL4DG54.js → chunk-PXM3FBPO.js} +3 -3
- package/dist/{chunk-7RL4DG54.js.map → chunk-PXM3FBPO.js.map} +1 -1
- package/dist/{chunk-VPGOT3JO.js → chunk-QUBQPGT7.js} +3 -3
- package/dist/{chunk-VPGOT3JO.js.map → chunk-QUBQPGT7.js.map} +1 -1
- package/dist/{chunk-6TWQZEPF.js → chunk-QXX54X55.js} +4 -4
- package/dist/{chunk-6TWQZEPF.js.map → chunk-QXX54X55.js.map} +1 -1
- package/dist/{chunk-TSAIM4XM.js → chunk-RSWRKU4X.js} +4 -4
- package/dist/{chunk-TSAIM4XM.js.map → chunk-RSWRKU4X.js.map} +1 -1
- package/dist/{chunk-P4XV656A.js → chunk-S6SP272Z.js} +5 -4
- package/dist/chunk-S6SP272Z.js.map +1 -0
- package/dist/{chunk-7OB2DG2K.js → chunk-SDEBSX6Z.js} +4 -4
- package/dist/{chunk-7OB2DG2K.js.map → chunk-SDEBSX6Z.js.map} +1 -1
- package/dist/{chunk-C7RM335V.js → chunk-STKR2KHL.js} +3 -3
- package/dist/{chunk-C7RM335V.js.map → chunk-STKR2KHL.js.map} +1 -1
- package/dist/{chunk-GNLCPK6N.js → chunk-SU7NHAYA.js} +3 -3
- package/dist/{chunk-GNLCPK6N.js.map → chunk-SU7NHAYA.js.map} +1 -1
- package/dist/chunk-TCTKM34I.js +14 -0
- package/dist/{chunk-CXONF653.js.map → chunk-TCTKM34I.js.map} +1 -1
- package/dist/{chunk-PENQTLAN.js → chunk-TWD4ECS3.js} +3 -3
- package/dist/{chunk-PENQTLAN.js.map → chunk-TWD4ECS3.js.map} +1 -1
- package/dist/{chunk-44FMRCHW.js → chunk-TYTYD6AK.js} +3 -3
- package/dist/{chunk-44FMRCHW.js.map → chunk-TYTYD6AK.js.map} +1 -1
- package/dist/{chunk-YXI2ZCXD.js → chunk-U3UY2BDN.js} +4 -4
- package/dist/{chunk-YXI2ZCXD.js.map → chunk-U3UY2BDN.js.map} +1 -1
- package/dist/{chunk-224CL4SD.js → chunk-UWDS42UX.js} +4 -4
- package/dist/{chunk-224CL4SD.js.map → chunk-UWDS42UX.js.map} +1 -1
- package/dist/{chunk-GT2L5IJ4.js → chunk-V7QFIGQ4.js} +7 -6
- package/dist/chunk-V7QFIGQ4.js.map +1 -0
- package/dist/{chunk-6YWW5Y22.js → chunk-VEA7QDNY.js} +3 -3
- package/dist/{chunk-6YWW5Y22.js.map → chunk-VEA7QDNY.js.map} +1 -1
- package/dist/{chunk-RI5PSI34.js → chunk-VJQ7SM4O.js} +5 -5
- package/dist/{chunk-RI5PSI34.js.map → chunk-VJQ7SM4O.js.map} +1 -1
- package/dist/{chunk-QTH6GGUH.js → chunk-XD33WKKI.js} +7 -7
- package/dist/{chunk-QTH6GGUH.js.map → chunk-XD33WKKI.js.map} +1 -1
- package/dist/{chunk-BXOQ663B.js → chunk-YMHL73TL.js} +6 -6
- package/dist/{chunk-BXOQ663B.js.map → chunk-YMHL73TL.js.map} +1 -1
- package/dist/{chunk-ZMCFSOYF.js → chunk-YSRKR5DE.js} +4 -4
- package/dist/{chunk-ZMCFSOYF.js.map → chunk-YSRKR5DE.js.map} +1 -1
- package/dist/{chunk-46EXP3AL.js → chunk-YXCJBX6X.js} +8 -8
- package/dist/{chunk-46EXP3AL.js.map → chunk-YXCJBX6X.js.map} +1 -1
- package/dist/{chunk-RJTIP2L3.js → chunk-ZE262XHY.js} +4 -4
- package/dist/{chunk-RJTIP2L3.js.map → chunk-ZE262XHY.js.map} +1 -1
- package/dist/components/cart/index.js +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/drawer/index.js +23 -23
- package/dist/components/home/index.js +27 -27
- package/dist/components/layout/index.js +7 -7
- package/dist/components/product/index.js +24 -24
- package/dist/components/store/MaintenancePage.d.ts +8 -0
- package/dist/components/store/MaintenancePage.d.ts.map +1 -0
- package/dist/components/store/index.d.ts +2 -1
- package/dist/components/store/index.d.ts.map +1 -1
- package/dist/components/store/index.js +25 -33
- package/dist/components/store/index.js.map +1 -1
- package/dist/components/store/lazy.d.ts +2 -0
- package/dist/components/store/lazy.d.ts.map +1 -1
- package/dist/components/toast/index.js +5 -5
- package/dist/dev/editor/index.js +3 -3
- package/dist/dev/index.js +3 -3
- package/dist/document-class-AQ7FGLPE.js +29 -0
- package/dist/{document-class-JQ7ZZJAT.js.map → document-class-AQ7FGLPE.js.map} +1 -1
- package/dist/hooks/index.js +23 -23
- package/dist/hooks/useComments.js +4 -4
- package/dist/hooks/useGtm.js +23 -23
- package/dist/hooks/useMoney.js +23 -23
- package/dist/hooks/useProduct.js +4 -4
- package/dist/hooks/useStore.js +23 -23
- package/dist/hooks/useUser.js +6 -6
- package/dist/hooks/useWishlist.js +4 -4
- package/dist/index.js +23 -23
- package/dist/native-app/index.js +4 -4
- package/dist/{navigation-GQA6OA42.js → navigation-6MDIVFMB.js} +8 -8
- package/dist/{navigation-GQA6OA42.js.map → navigation-6MDIVFMB.js.map} +1 -1
- package/dist/navigation-P3RDLBP7.js +14 -0
- package/dist/{navigation-RO3T4FDQ.js.map → navigation-P3RDLBP7.js.map} +1 -1
- package/dist/{not-found-MTU2BM73.js → not-found-RBWKACRW.js} +26 -26
- package/dist/{not-found-MTU2BM73.js.map → not-found-RBWKACRW.js.map} +1 -1
- package/dist/providers/NavigationProvider.d.ts +4 -1
- package/dist/providers/NavigationProvider.d.ts.map +1 -1
- package/dist/providers/TwilightProvider.d.ts +1 -1
- package/dist/providers/TwilightProvider.d.ts.map +1 -1
- package/dist/providers/index.js +23 -23
- package/dist/routes/account/orders.js +8 -8
- package/dist/routes/account.js +17 -17
- package/dist/routes/blog.js +12 -12
- package/dist/routes/brands.js +8 -8
- package/dist/routes/cart.js +31 -31
- package/dist/routes/home.js +28 -28
- package/dist/routes/index.js +7 -7
- package/dist/routes/loyalty.js +9 -9
- package/dist/routes/page.js +8 -8
- package/dist/routes/product-listing.js +29 -29
- package/dist/routes/product.js +27 -27
- package/dist/routes/root/beforeLoad.d.ts +13 -0
- package/dist/routes/root/beforeLoad.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +7 -7
- package/dist/routes/testimonials.js +3 -3
- package/dist/routes/thank-you.js +8 -8
- package/dist/skeleton.js +28 -28
- package/dist/{store-lookup-C4DMFSBT.js → store-lookup-7SAEE4L3.js} +12 -12
- package/dist/{store-lookup-C4DMFSBT.js.map → store-lookup-7SAEE4L3.js.map} +1 -1
- package/dist/tanstack/middleware/twilight.d.ts +12 -0
- package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
- package/dist/tanstack/router.d.ts.map +1 -1
- package/dist/tanstack.js +34 -21
- package/dist/tanstack.js.map +1 -1
- package/dist/twilight/context.d.ts +5 -0
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/twilight/ensure-context.d.ts.map +1 -1
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/twilight.d.ts +8 -0
- package/dist/types/twilight.d.ts.map +1 -1
- package/dist/utils/index.js +6 -6
- package/dist/utils/maintenance.d.ts +31 -0
- package/dist/utils/maintenance.d.ts.map +1 -0
- package/dist/vite/index.js +3 -3
- package/package.json +1 -1
- package/tailwind/components/store/MaintenancePage.tsx.txt +156 -0
- package/tailwind/components/store/index.ts.txt +4 -1
- package/tailwind/components/store/lazy.ts.txt +5 -0
- package/tailwind/routes/root/beforeLoad.ts.txt +54 -0
- package/tailwind/routes/root/head.ts.txt +6 -2
- package/dist/Header-CXJ3TFHO.js +0 -22
- package/dist/StoreClosedNotification-2CIG5LX6.js +0 -54
- package/dist/chunk-CXONF653.js +0 -14
- package/dist/chunk-GT2L5IJ4.js.map +0 -1
- package/dist/chunk-H3PJJKAQ.js.map +0 -1
- package/dist/chunk-JDLXT6VI.js.map +0 -1
- package/dist/chunk-JZDJO2CK.js.map +0 -1
- package/dist/chunk-P4XV656A.js.map +0 -1
- package/dist/chunk-UIXEKYTM.js.map +0 -1
- package/dist/chunk-V7EPED4G.js.map +0 -1
- package/dist/document-class-JQ7ZZJAT.js +0 -29
- package/dist/navigation-RO3T4FDQ.js +0 -14
package/dist/api/cart.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { cart } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { cart } from '../chunk-HGY7P2Y3.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/category.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { category } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { category } from '../chunk-UWDS42UX.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { STORE_IDENTIFIER_HEADER, api, cdn, filesCdn, getActiveCurrency, getActiveScope, getActiveScopeId, getAuthToken } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { STORE_IDENTIFIER_HEADER, api, cdn, filesCdn, getActiveCurrency, getActiveScope, getActiveScopeId, getAuthToken } from '../chunk-KTLQV4Q4.js';
|
|
2
|
+
import '../chunk-OWJMPD7X.js';
|
|
3
|
+
import '../chunk-SU7NHAYA.js';
|
|
4
|
+
import '../chunk-HG4B4F4N.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
//# sourceMappingURL=client.js.map
|
package/dist/api/home.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { home } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { home } from '../chunk-42YMCOK4.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=home.js.map
|
package/dist/api/loyalty.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { loyalty } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { loyalty } from '../chunk-5L6IBYWZ.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/menu.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { menu } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { menu } from '../chunk-QXX54X55.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=menu.js.map
|
package/dist/api/notification.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { notification } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { notification } from '../chunk-STKR2KHL.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=notification.js.map
|
package/dist/api/order.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { order } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { order } from '../chunk-SDEBSX6Z.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/page.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { page } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { page } from '../chunk-CTV5GA2U.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/product.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { getProductPreview, isProductPreviewQuery, parseNextPageToken, product, productDetailQueryKey, productPreviewQueryKey, rememberProductPreview, shouldDehydrateQuery } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { getProductPreview, isProductPreviewQuery, parseNextPageToken, product, productDetailQueryKey, productPreviewQueryKey, rememberProductPreview, shouldDehydrateQuery } from '../chunk-VJQ7SM4O.js';
|
|
2
|
+
import '../chunk-V7QFIGQ4.js';
|
|
3
3
|
import '../chunk-OUW6WESU.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-KTLQV4Q4.js';
|
|
5
|
+
import '../chunk-QUBQPGT7.js';
|
|
6
|
+
import '../chunk-OWJMPD7X.js';
|
|
7
|
+
import '../chunk-SU7NHAYA.js';
|
|
8
|
+
import '../chunk-HG4B4F4N.js';
|
|
9
9
|
import '../chunk-T72DAX7R.js';
|
|
10
10
|
import '../chunk-DF6FBKDN.js';
|
|
11
11
|
import '../chunk-DGUM43GV.js';
|
package/dist/api/profile.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { api } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
import { api } from '../chunk-KTLQV4Q4.js';
|
|
2
|
+
import '../chunk-OWJMPD7X.js';
|
|
3
|
+
import '../chunk-SU7NHAYA.js';
|
|
4
|
+
import '../chunk-HG4B4F4N.js';
|
|
5
5
|
import '../chunk-T72DAX7R.js';
|
|
6
6
|
import '../chunk-DGUM43GV.js';
|
|
7
7
|
|
package/dist/api/store.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Store, Theme, Language, JitsuConfig } from '../types';
|
|
1
|
+
import type { Store, Theme, Language, JitsuConfig, MaintenanceDetails } from '../types';
|
|
2
2
|
import { resolveStoreIdentifier } from '../utils/store-identity';
|
|
3
3
|
export { resolveStoreIdentifier };
|
|
4
4
|
/** Twig's `salla.init({ user })` object; the endpoint ignores the token, so always the guest. */
|
|
@@ -44,6 +44,14 @@ export interface StoreContext {
|
|
|
44
44
|
swoole?: string[];
|
|
45
45
|
/** Where the SDK's analytics send events, and which ones; without it the SDK tracks nothing. */
|
|
46
46
|
jitsu?: JitsuConfig;
|
|
47
|
+
/**
|
|
48
|
+
* The store is closed: by the merchant from the dashboard, by the platform, or
|
|
49
|
+
* for the selected market only. The engine then renders the maintenance page
|
|
50
|
+
* to everyone but the merchant; see `rootBeforeLoad`.
|
|
51
|
+
*/
|
|
52
|
+
maintenance?: boolean;
|
|
53
|
+
/** What the maintenance page says; sent beside `maintenance`. */
|
|
54
|
+
maintenance_details?: MaintenanceDetails;
|
|
47
55
|
/**
|
|
48
56
|
* The scope these settings were requested with; absent when none was. Not from
|
|
49
57
|
* the API: stamped by `store.settings`, so `resolveThemeVersionId` can tell
|
package/dist/api/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/api/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/api/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAExF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAiBlC,iGAAiG;AACjG,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA4BD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iEAAiE;IACjE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CACrF,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gGAAgG;IAChG,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAeD,eAAO,MAAM,KAAK;iCACmB,MAAM,KAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;;qCAsDzC,MAAM;;;;CAoBtC,CAAC"}
|
package/dist/api/store.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { store } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
export { resolveStoreIdentifier } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { store } from '../chunk-5DWTU5KS.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
export { resolveStoreIdentifier } from '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=store.js.map
|
package/dist/api/translations.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { commonTranslationsPath, storeTranslationsPath, translations } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { commonTranslationsPath, storeTranslationsPath, translations } from '../chunk-U3UY2BDN.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=translations.js.map
|
package/dist/api/user.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { user } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { user } from '../chunk-C5MQ6VWX.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=user.js.map
|
package/dist/api/wallet.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { wallet } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { wallet } from '../chunk-MSNU4NYS.js';
|
|
2
|
+
import '../chunk-KTLQV4Q4.js';
|
|
3
|
+
import '../chunk-OWJMPD7X.js';
|
|
4
|
+
import '../chunk-SU7NHAYA.js';
|
|
5
|
+
import '../chunk-HG4B4F4N.js';
|
|
6
6
|
import '../chunk-T72DAX7R.js';
|
|
7
7
|
import '../chunk-DGUM43GV.js';
|
|
8
8
|
//# sourceMappingURL=wallet.js.map
|
package/dist/api/wishlist.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { wishlist } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { wishlist } from '../chunk-RSWRKU4X.js';
|
|
2
|
+
import '../chunk-VJQ7SM4O.js';
|
|
3
|
+
import '../chunk-V7QFIGQ4.js';
|
|
4
4
|
import '../chunk-OUW6WESU.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-KTLQV4Q4.js';
|
|
6
|
+
import '../chunk-QUBQPGT7.js';
|
|
7
|
+
import '../chunk-OWJMPD7X.js';
|
|
8
|
+
import '../chunk-SU7NHAYA.js';
|
|
9
|
+
import '../chunk-HG4B4F4N.js';
|
|
10
10
|
import '../chunk-T72DAX7R.js';
|
|
11
11
|
import '../chunk-DF6FBKDN.js';
|
|
12
12
|
import '../chunk-DGUM43GV.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { user } from './chunk-
|
|
2
|
-
import { getTwilightContext } from './chunk-
|
|
1
|
+
import { user } from './chunk-C5MQ6VWX.js';
|
|
2
|
+
import { getTwilightContext } from './chunk-HG4B4F4N.js';
|
|
3
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
4
|
|
|
5
5
|
function useUser() {
|
|
@@ -13,5 +13,5 @@ function useUser() {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export { useUser };
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-25SLMOCZ.js.map
|
|
17
|
+
//# sourceMappingURL=chunk-25SLMOCZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useUser.ts"],"names":[],"mappings":";;;;AAUO,SAAS,OAAA,GAAyB;AACvC,EAAA,MAAM,KAAA,GAAQ,oBAAmB,CAAE,SAAA;AAEnC,EAAA,MAAM,QAAQ,QAAA,CAAS;AAAA,IACrB,GAAG,IAAA,CAAK,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACxB,OAAA,EAAS,CAAC,CAAC,KAAA;AAAA,IACX,eAAA,EAAiB;AAAA,GAClB,CAAA;AAED,EAAA,OAAO,EAAE,GAAG,KAAA,EAAO,UAAA,EAAY,CAAC,CAAC,KAAA,EAAM;AACzC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useUser.ts"],"names":[],"mappings":";;;;AAUO,SAAS,OAAA,GAAyB;AACvC,EAAA,MAAM,KAAA,GAAQ,oBAAmB,CAAE,SAAA;AAEnC,EAAA,MAAM,QAAQ,QAAA,CAAS;AAAA,IACrB,GAAG,IAAA,CAAK,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACxB,OAAA,EAAS,CAAC,CAAC,KAAA;AAAA,IACX,eAAA,EAAiB;AAAA,GAClB,CAAA;AAED,EAAA,OAAO,EAAE,GAAG,KAAA,EAAO,UAAA,EAAY,CAAC,CAAC,KAAA,EAAM;AACzC","file":"chunk-25SLMOCZ.js","sourcesContent":["import { useQuery, type UseQueryResult } from '@tanstack/react-query';\nimport { getTwilightContext } from '../twilight/context';\nimport { user } from '../api/user';\nimport type { User } from '../types';\n\nexport type UseUserReturn = UseQueryResult<User | null> & {\n /** True when an auth token exists (regardless of query state). */\n isLoggedIn: boolean;\n};\n\nexport function useUser(): UseUserReturn {\n const token = getTwilightContext().authToken;\n\n const query = useQuery({\n ...user.queries.current(),\n enabled: !!token,\n placeholderData: null,\n });\n\n return { ...query, isLoggedIn: !!token };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { redirect } from './chunk-
|
|
2
|
-
import { clearAuthTokenCookie } from './chunk-
|
|
1
|
+
import { redirect } from './chunk-V7QFIGQ4.js';
|
|
2
|
+
import { clearAuthTokenCookie } from './chunk-SU7NHAYA.js';
|
|
3
3
|
import { FALLBACK_LOCALE } from './chunk-T72DAX7R.js';
|
|
4
4
|
import { useEffect } from 'react';
|
|
5
5
|
|
|
@@ -37,5 +37,5 @@ function LogoutRedirect() {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export { LogoutRedirect, accountRedirectLoader, pendingOrdersRedirectLoader, productsSourceRedirectLoader, ratingRedirectLoader, slugBrandRedirectLoader };
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-2IS4QU3P.js.map
|
|
41
|
+
//# sourceMappingURL=chunk-2IS4QU3P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/seo-redirects.ts"],"names":[],"mappings":";;;;;AAcA,eAAsB,wBAAwB,GAAA,EAAkD;AAC9F,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,SAAS,CAAA,CAAA,EAAI,MAAM,WAAW,GAAA,CAAI,MAAA,CAAO,EAAE,CAAA,CAAE,CAAA;AACrD;AAOA,eAAsB,4BACpB,GAAA,GAA+C,EAAE,MAAA,EAAQ,IAAG,EAC5C;AAChB,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,QAAA,CAAS,CAAA,CAAA,EAAI,MAAM,CAAA,8BAAA,CAAgC,CAAA;AAC3D;AAGA,eAAsB,qBACpB,GAAA,GAA+C,EAAE,MAAA,EAAQ,IAAG,EAC5C;AAChB,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,QAAA,CAAS,CAAA,CAAA,EAAI,MAAM,CAAA,eAAA,CAAiB,CAAA;AAC5C;AAGA,eAAsB,sBAAsB,GAAA,EAKzB;AAEjB,EAAA,MAAM,MAAA,GAAS,IAAI,MAAA,CAAO,MAAA,GAAS,IAAI,GAAA,CAAI,MAAA,CAAO,MAAM,CAAA,CAAA,GAAK,EAAA;AAC7D,EAAA,MAAM,QAAA,CAAS,CAAA,EAAG,MAAM,CAAA,SAAA,EAAY,IAAI,IAAI,CAAA,EAAG,GAAA,CAAI,MAAA,IAAU,EAAE,CAAA,CAAA,EAAI,EAAE,UAAA,EAAY,KAAK,CAAA;AACxF;AAGA,eAAsB,6BAA6B,GAAA,EAIhC;AACjB,EAAA,MAAM,MAAA,GAAS,IAAI,MAAA,CAAO,MAAA,GAAS,IAAI,GAAA,CAAI,MAAA,CAAO,MAAM,CAAA,CAAA,GAAK,EAAA;AAC7D,EAAA,MAAM,KAAA,GAAQ,IAAI,eAAA,CAAgB,GAAA,CAAI,MAAM,CAAA;AAC5C,EAAA,KAAA,CAAM,OAAO,QAAQ,CAAA;AACrB,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,EAAS;AAC5B,EAAA,MAAM,QAAA,CAAS,CAAA,EAAG,MAAM,CAAA,iBAAA,EAAoB,GAAA,CAAI,MAAM,CAAA,EAAG,IAAA,GAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,EAAI;AAAA,IACjF,UAAA,EAAY;AAAA,GACb,CAAA;AACH;AAUO,SAAS,cAAA,GAAuB;AACrC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,oBAAA,EAAqB;AAErB,IAAA,MAAA,CAAO,QAAA,CAAS,QAAQ,MAAA,CAAO,QAAA,CAAS,KAAK,OAAA,CAAQ,8BAAA,EAAgC,EAAE,CAAC,CAAA;AAAA,EAC1F,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO,IAAA;AACT","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/routes/seo-redirects.ts"],"names":[],"mappings":";;;;;AAcA,eAAsB,wBAAwB,GAAA,EAAkD;AAC9F,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,SAAS,CAAA,CAAA,EAAI,MAAM,WAAW,GAAA,CAAI,MAAA,CAAO,EAAE,CAAA,CAAE,CAAA;AACrD;AAOA,eAAsB,4BACpB,GAAA,GAA+C,EAAE,MAAA,EAAQ,IAAG,EAC5C;AAChB,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,QAAA,CAAS,CAAA,CAAA,EAAI,MAAM,CAAA,8BAAA,CAAgC,CAAA;AAC3D;AAGA,eAAsB,qBACpB,GAAA,GAA+C,EAAE,MAAA,EAAQ,IAAG,EAC5C;AAChB,EAAA,MAAM,MAAA,GAAS,GAAA,CAAI,MAAA,CAAO,MAAA,IAAU,eAAA;AACpC,EAAA,MAAM,QAAA,CAAS,CAAA,CAAA,EAAI,MAAM,CAAA,eAAA,CAAiB,CAAA;AAC5C;AAGA,eAAsB,sBAAsB,GAAA,EAKzB;AAEjB,EAAA,MAAM,MAAA,GAAS,IAAI,MAAA,CAAO,MAAA,GAAS,IAAI,GAAA,CAAI,MAAA,CAAO,MAAM,CAAA,CAAA,GAAK,EAAA;AAC7D,EAAA,MAAM,QAAA,CAAS,CAAA,EAAG,MAAM,CAAA,SAAA,EAAY,IAAI,IAAI,CAAA,EAAG,GAAA,CAAI,MAAA,IAAU,EAAE,CAAA,CAAA,EAAI,EAAE,UAAA,EAAY,KAAK,CAAA;AACxF;AAGA,eAAsB,6BAA6B,GAAA,EAIhC;AACjB,EAAA,MAAM,MAAA,GAAS,IAAI,MAAA,CAAO,MAAA,GAAS,IAAI,GAAA,CAAI,MAAA,CAAO,MAAM,CAAA,CAAA,GAAK,EAAA;AAC7D,EAAA,MAAM,KAAA,GAAQ,IAAI,eAAA,CAAgB,GAAA,CAAI,MAAM,CAAA;AAC5C,EAAA,KAAA,CAAM,OAAO,QAAQ,CAAA;AACrB,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,EAAS;AAC5B,EAAA,MAAM,QAAA,CAAS,CAAA,EAAG,MAAM,CAAA,iBAAA,EAAoB,GAAA,CAAI,MAAM,CAAA,EAAG,IAAA,GAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,EAAI;AAAA,IACjF,UAAA,EAAY;AAAA,GACb,CAAA;AACH;AAUO,SAAS,cAAA,GAAuB;AACrC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,oBAAA,EAAqB;AAErB,IAAA,MAAA,CAAO,QAAA,CAAS,QAAQ,MAAA,CAAO,QAAA,CAAS,KAAK,OAAA,CAAQ,8BAAA,EAAgC,EAAE,CAAC,CAAA;AAAA,EAC1F,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,OAAO,IAAA;AACT","file":"chunk-2IS4QU3P.js","sourcesContent":["import { useEffect } from 'react';\nimport { redirect } from '../providers/NavigationProvider';\nimport { FALLBACK_LOCALE } from '../providers/locale-constants';\nimport { clearAuthTokenCookie } from '../utils/cookies';\n\nexport interface SlugBrandParams {\n /** SEO slug segment (ignored — only here to match the route pattern). */\n slug: string;\n /** Brand numeric ID to redirect to. */\n id: string;\n /** Active locale from the `/$locale` parent layout (e.g. `'ar'`, `'en'`). */\n locale?: string;\n}\n\nexport async function slugBrandRedirectLoader(ctx: { params: SlugBrandParams }): Promise<never> {\n const locale = ctx.params.locale || FALLBACK_LOCALE;\n throw redirect(`/${locale}/brands/${ctx.params.id}`);\n}\n\nexport interface PendingOrdersRedirectParams {\n /** Active locale from the `/$locale` parent layout (e.g. `'ar'`, `'en'`). */\n locale?: string;\n}\n\nexport async function pendingOrdersRedirectLoader(\n ctx: { params: PendingOrdersRedirectParams } = { params: {} }\n): Promise<never> {\n const locale = ctx.params.locale || FALLBACK_LOCALE;\n throw redirect(`/${locale}/account/orders?status=pending`);\n}\n\n/** `/account/rating`: the loyalty \"rate your orders\" link. Twig Raed has no rating page and sends it to the orders list. */\nexport async function ratingRedirectLoader(\n ctx: { params: PendingOrdersRedirectParams } = { params: {} }\n): Promise<never> {\n const locale = ctx.params.locale || FALLBACK_LOCALE;\n throw redirect(`/${locale}/account/orders`);\n}\n\n/** A Twig customer URL (`/profile`, `/orders`, …) kept working as its `/account/…` page. */\nexport async function accountRedirectLoader(ctx: {\n params: PendingOrdersRedirectParams;\n page: string;\n /** The incoming query string (`?status=pending`), kept on the account page. */\n search?: string;\n}): Promise<never> {\n // No locale in the URL stays without one: the locale layout adds it only where the store has several.\n const prefix = ctx.params.locale ? `/${ctx.params.locale}` : '';\n throw redirect(`${prefix}/account/${ctx.page}${ctx.search ?? ''}`, { statusCode: 301 });\n}\n\n/** `/latest-products`, `/most-sales-products` and `/offers` now live at `/products?source=`. */\nexport async function productsSourceRedirectLoader(ctx: {\n params: PendingOrdersRedirectParams;\n source: 'latest' | 'sales' | 'offers';\n search?: string;\n}): Promise<never> {\n const prefix = ctx.params.locale ? `/${ctx.params.locale}` : '';\n const query = new URLSearchParams(ctx.search);\n query.delete('source');\n const rest = query.toString();\n throw redirect(`${prefix}/products?source=${ctx.source}${rest ? `&${rest}` : ''}`, {\n statusCode: 301,\n });\n}\n\n/**\n * `/logout` — where the SDK sends the browser once `salla.auth.logout()` has run\n * (`salla.url.get('logout?from=…')`). The Twig storefront serves that URL server-side. Here\n * it renders nothing and, in the browser, removes the theme's own `token` cookie (the SDK's\n * `cookie.clearAll()` leaves it) and then does a full navigation home. It has to be a\n * component, not a loader redirect: a loader runs during server rendering, where the cookie\n * can't be cleared, so the redirect would leave the visitor signed in on the next request.\n */\nexport function LogoutRedirect(): null {\n useEffect(() => {\n clearAuthTokenCookie();\n // `/{store base}/{locale}/logout?from=…` → `/{store base}/{locale}`\n window.location.replace(window.location.href.replace(/\\/logout\\/?(\\?[^#]*)?(#.*)?$/, ''));\n }, []);\n return null;\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
2
2
|
import { useAsyncFn } from './chunk-6BZ5TKEV.js';
|
|
3
|
-
import { whenSallaLoaded, onSallaEvent } from './chunk-
|
|
3
|
+
import { whenSallaLoaded, onSallaEvent } from './chunk-OWJMPD7X.js';
|
|
4
4
|
import { useSyncExternalStore, useCallback } from 'react';
|
|
5
5
|
|
|
6
6
|
var WISHLIST_STORAGE_KEY = "salla::wishlist";
|
|
@@ -126,5 +126,5 @@ function resetWishlistStore() {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
export { resetWishlistStore, useWishlist };
|
|
129
|
-
//# sourceMappingURL=chunk-
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-3EBV4X6W.js.map
|
|
130
|
+
//# sourceMappingURL=chunk-3EBV4X6W.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useWishlist.ts"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useWishlist.ts"],"names":[],"mappings":"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","file":"chunk-3EBV4X6W.js","sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\nimport { useAsyncFn } from './useAsyncFn';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { onSallaEvent, whenSallaLoaded } from '../utils/sdk-helpers';\nimport type { UseToggleWithItems } from './types';\n\nexport type UseWishlistResult = UseToggleWithItems<number>;\n\n/**\n * useWishlist - Hook for managing wishlist functionality\n *\n * Provides wishlist product management with local storage persistence\n * and Salla SDK integration. Syncs with the SDK's wishlist state and\n * listens for events to maintain real-time consistency.\n *\n * Uses a module-level singleton store so SDK event listeners are\n * registered ONCE globally — not per-component. All hook instances\n * share the same state via `useSyncExternalStore`.\n *\n * @returns Wishlist state and management functions\n *\n * @example\n * ```tsx\n * function WishlistButton({ productId }) {\n * const { has, toggle, loading } = useWishlist();\n *\n * return (\n * <button\n * onClick={() => toggle(productId)}\n * disabled={loading}\n * className={has(productId) ? 'liked' : ''}\n * >\n * ❤️\n * </button>\n * );\n * }\n * ```\n */\n\nconst WISHLIST_STORAGE_KEY = 'salla::wishlist';\n\nlet ids: number[] = [];\nconst listeners = new Set<() => void>();\nlet subscribed = false;\n\nfunction emitChange() {\n for (const listener of listeners) listener();\n}\n\nfunction subscribe(listener: () => void) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction getSnapshot(): number[] {\n return ids;\n}\n\nconst getServerSnapshot = (): number[] => [];\n\nfunction persistIds() {\n try {\n localStorage.setItem(WISHLIST_STORAGE_KEY, JSON.stringify(ids));\n } catch {\n /* ignore storage errors */\n }\n}\n\nfunction initFromStorage() {\n try {\n // `storage` is missing while `window.salla` is still the head script's stub.\n const sdkWishlist = window.salla?.storage?.get(WISHLIST_STORAGE_KEY, []);\n const stored = localStorage.getItem(WISHLIST_STORAGE_KEY);\n const parsed = stored ? JSON.parse(stored) : [];\n ids = Array.isArray(sdkWishlist) && sdkWishlist.length > 0 ? sdkWishlist : parsed;\n } catch {\n /* ignore storage errors */\n }\n}\n\nfunction reloadFromStorage() {\n initFromStorage();\n emitChange();\n}\n\nfunction ensureSubscribed() {\n if (subscribed || typeof window === 'undefined') return;\n subscribed = true;\n initFromStorage();\n\n // On a cold load hydration runs before the SDK has loaded.\n whenSallaLoaded((salla) => {\n reloadFromStorage();\n if (!salla.wishlist?.event) return;\n\n salla.wishlist.event.onAdded((_event: unknown, id: number) => {\n if (ids.includes(id)) return;\n ids = [...ids, id];\n persistIds();\n emitChange();\n });\n\n salla.wishlist.event.onRemoved((_response: unknown, id: number) => {\n ids = ids.filter((itemId) => itemId !== id);\n persistIds();\n emitChange();\n });\n });\n\n // The SDK fills its storage with the customer's saved wishlist after init.\n onSallaEvent('wishlist::storage.synced', reloadFromStorage);\n}\n\n/**\n * useAsyncFn resolves with whatever the SDK rejected with, and callers detect\n * failure via `instanceof Error`. Normalize non-Error rejections so they are\n * never mistaken for success.\n */\nfunction toError(reason: unknown, fallback: string): Error {\n if (reason instanceof Error) return reason;\n if (typeof reason === 'string') return new Error(reason);\n const message = (reason as { message?: unknown } | null)?.message;\n return new Error(typeof message === 'string' ? message : fallback);\n}\n\nexport function useWishlist(): UseWishlistResult {\n ensureSubscribed();\n const storedIds = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n const { t } = useTranslation();\n const failed = t('common.errors.error_occurred', 'Something went wrong');\n\n const [addState, addFn] = useAsyncFn(\n async (productId: number) => {\n const salla = window.salla;\n try {\n await salla?.wishlist.add(productId);\n } catch (reason) {\n throw toError(reason, failed);\n }\n if (!ids.includes(productId)) {\n ids = [...ids, productId];\n persistIds();\n emitChange();\n }\n },\n [failed]\n );\n\n const [removeState, removeFn] = useAsyncFn(\n async (productId: number) => {\n const salla = window.salla;\n try {\n await salla?.wishlist.remove(productId);\n } catch (reason) {\n throw toError(reason, failed);\n }\n ids = ids.filter((id) => id !== productId);\n persistIds();\n emitChange();\n },\n [failed]\n );\n\n const has = useCallback((productId: number) => storedIds.includes(productId), [storedIds]);\n\n const add = async (productId: number): Promise<boolean> =>\n !(((await addFn(productId)) as unknown) instanceof Error);\n\n const remove = async (productId: number): Promise<boolean> =>\n !(((await removeFn(productId)) as unknown) instanceof Error);\n\n const toggle = useCallback(\n (productId: number) => (has(productId) ? remove(productId) : add(productId)),\n [has, addFn, removeFn]\n );\n\n return {\n ids: storedIds,\n count: storedIds.length,\n has,\n add,\n remove,\n toggle,\n loading: addState.loading || removeState.loading,\n error: (addState.error ?? removeState.error)?.message ?? null,\n };\n}\n\nexport function resetWishlistStore() {\n ids = [];\n listeners.clear();\n subscribed = false;\n}\n"]}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
2
|
+
import { getTwilightContext } from './chunk-HG4B4F4N.js';
|
|
3
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var THUMB_URL = "https://cdn.assets.salla.network/prod/stores/images/construction-01.png";
|
|
6
|
+
var SOCIAL_ICONS = [
|
|
7
|
+
["twitter", "sicon-x"],
|
|
8
|
+
["snapchat", "sicon-snapchat"],
|
|
9
|
+
["youtube", "sicon-youtube"],
|
|
10
|
+
["tiktok", "sicon-tiktok"],
|
|
11
|
+
["facebook", "sicon-facebook"],
|
|
12
|
+
["instagram", "sicon-instagram"]
|
|
13
|
+
];
|
|
14
|
+
var STYLE = `
|
|
15
|
+
.s-maintenance{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;color:#a3a3a3;background:#fff;filter:grayscale(100%);box-sizing:border-box}
|
|
16
|
+
.s-maintenance *{box-sizing:border-box}
|
|
17
|
+
.s-maintenance .mt-container{width:100%;max-width:1200px;padding:0 15px}
|
|
18
|
+
.s-maintenance .mt-panel{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}
|
|
19
|
+
.s-maintenance .mt-message{width:100%;padding-inline-start:80px;animation:revealMtBlock 1.5s forwards}
|
|
20
|
+
.s-maintenance .mt-title{display:flex;align-items:center;margin:0 0 20px}
|
|
21
|
+
.s-maintenance .mt-logo{display:block;flex-shrink:0;width:80px;height:80px;margin-inline-end:20px;border-radius:50%;overflow:hidden;box-shadow:0 0 5px rgb(0 0 0 / 10%)}
|
|
22
|
+
.s-maintenance .mt-logo img{display:block;width:100%;height:100%;object-fit:cover}
|
|
23
|
+
.s-maintenance .mt-title h1{font-size:2.25rem;line-height:1;margin:0;color:#666}
|
|
24
|
+
.s-maintenance .mt-content p{margin:0;white-space:pre-line}
|
|
25
|
+
.s-maintenance .mt-contact-list{display:inline-block;list-style:none;width:100%;max-width:500px;margin:20px 0 0;padding:20px 0 0;border-top:1px solid #eee}
|
|
26
|
+
.s-maintenance .mt-contact-list li{display:inline-block;margin-inline-end:10px}
|
|
27
|
+
.s-maintenance .mt-contact-list a{display:inline-flex;align-items:center;padding:5px;color:rgb(102 102 102 / 80%);text-decoration:none;font-size:1.25rem}
|
|
28
|
+
.s-maintenance .mt-contact-list a:hover{color:#666}
|
|
29
|
+
.s-maintenance .mt-contact--btn{padding:3px 20px 5px;border-radius:20px;color:#fff!important;background:rgb(102 102 102 / 80%);font-size:1rem!important}
|
|
30
|
+
.s-maintenance .mt-contact--btn:hover{background:#666}
|
|
31
|
+
.s-maintenance .mt-contact--btn i{margin-inline-end:10px}
|
|
32
|
+
.s-maintenance .thumb{width:100%;animation:revealMtBlock 1.5s .1s forwards;opacity:0}
|
|
33
|
+
.s-maintenance .thumb img{display:block;width:100%;max-width:450px;margin:0 auto}
|
|
34
|
+
@media (max-width:1024px){
|
|
35
|
+
.s-maintenance{padding:40px 0 10px}
|
|
36
|
+
.s-maintenance .mt-panel{flex-direction:column}
|
|
37
|
+
.s-maintenance .mt-message{order:2;text-align:center;padding:0;margin:50px 0 0}
|
|
38
|
+
.s-maintenance .mt-title{flex-direction:column;margin-bottom:30px}
|
|
39
|
+
.s-maintenance .mt-logo{margin:0 0 10px}
|
|
40
|
+
.s-maintenance .mt-title h1{font-size:1.5rem}
|
|
41
|
+
}
|
|
42
|
+
@media (max-width:640px){.s-maintenance .thumb img{width:80%}}
|
|
43
|
+
@keyframes revealMtBlock{from{opacity:0;transform:translateY(50%)}to{opacity:1;transform:translateY(0)}}
|
|
44
|
+
`;
|
|
45
|
+
function Contacts({ store, arabic }) {
|
|
46
|
+
const { t } = useTranslation();
|
|
47
|
+
const mobile = store?.contacts?.mobile;
|
|
48
|
+
const socials = SOCIAL_ICONS.flatMap(([key, icon]) => {
|
|
49
|
+
const href = store?.social?.[key];
|
|
50
|
+
return href ? [{ key, icon, href }] : [];
|
|
51
|
+
});
|
|
52
|
+
if (!mobile && socials.length === 0) return null;
|
|
53
|
+
return /* @__PURE__ */ jsxs("ul", { className: "mt-contact-list", children: [
|
|
54
|
+
mobile && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("a", { href: `tel:${mobile}`, className: "mt-contact--btn", children: [
|
|
55
|
+
/* @__PURE__ */ jsx("i", { className: "sicon-phone", "aria-hidden": "true" }),
|
|
56
|
+
t("common.elements.contact_us", {
|
|
57
|
+
defaultValue: arabic ? "\u062A\u0648\u0627\u0635\u0644 \u0645\u0639\u0646\u0627" : "Contact us"
|
|
58
|
+
})
|
|
59
|
+
] }) }),
|
|
60
|
+
socials.map(({ key, icon, href }) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href, target: "_blank", rel: "noreferrer", "aria-label": key, children: /* @__PURE__ */ jsx("i", { className: icon, "aria-hidden": "true" }) }) }, key))
|
|
61
|
+
] });
|
|
62
|
+
}
|
|
63
|
+
function MaintenancePage() {
|
|
64
|
+
const { settings, locale } = getTwilightContext();
|
|
65
|
+
const { t } = useTranslation();
|
|
66
|
+
const store = settings.store;
|
|
67
|
+
const details = settings.maintenance_details;
|
|
68
|
+
const arabic = locale.startsWith("ar");
|
|
69
|
+
const title = details?.title || t("pages.maintenance.title", {
|
|
70
|
+
defaultValue: arabic ? "\u0627\u0644\u0645\u062A\u062C\u0631 \u0642\u064A\u062F \u0627\u0644\u0635\u064A\u0627\u0646\u0629" : "Store under maintenance"
|
|
71
|
+
});
|
|
72
|
+
return /* @__PURE__ */ jsxs("div", { className: "s-maintenance", "data-testid": "store-maintenance-page", children: [
|
|
73
|
+
/* @__PURE__ */ jsx("style", { children: STYLE }),
|
|
74
|
+
/* @__PURE__ */ jsx("div", { className: "mt-container", children: /* @__PURE__ */ jsxs("section", { className: "mt-panel", children: [
|
|
75
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-message", children: [
|
|
76
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-title", children: [
|
|
77
|
+
store?.logo && /* @__PURE__ */ jsx("span", { className: "mt-logo", children: /* @__PURE__ */ jsx(
|
|
78
|
+
"img",
|
|
79
|
+
{
|
|
80
|
+
src: store.logo,
|
|
81
|
+
alt: store.name || t("common.elements.store_logo", {
|
|
82
|
+
defaultValue: arabic ? "\u0634\u0639\u0627\u0631 \u0627\u0644\u0645\u062A\u062C\u0631" : "Store logo"
|
|
83
|
+
})
|
|
84
|
+
}
|
|
85
|
+
) }),
|
|
86
|
+
/* @__PURE__ */ jsx("h1", { children: title })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ jsx("div", { className: "mt-content", children: details?.message ? (
|
|
89
|
+
// The merchant's own wording: a plain string the dashboard caps at 200 characters.
|
|
90
|
+
/* @__PURE__ */ jsx("p", { children: details.message })
|
|
91
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
92
|
+
/* @__PURE__ */ jsx("p", { children: t("pages.maintenance.message", {
|
|
93
|
+
defaultValue: arabic ? "\u0639\u0630\u0631\u0627 \u0639\u0632\u064A\u0632\u064A \u0627\u0644\u0639\u0645\u064A\u0644\u060C \u0627\u0644\u0645\u062A\u062C\u0631 \u062D\u0627\u0644\u064A\u0627 \u0642\u064A\u062F \u0627\u0644\u0635\u064A\u0627\u0646\u0629 \u0648 \u0633\u0646\u0639\u0627\u0648\u062F \u0627\u0644\u0639\u0645\u0644 \u062E\u0644\u0627\u0644 \u0641\u062A\u0631\u0629 \u0648\u062C\u064A\u0632\u0629" : "Sorry, the store is under maintenance and will be back shortly."
|
|
94
|
+
}) }),
|
|
95
|
+
/* @__PURE__ */ jsx("p", { children: t("pages.maintenance.thanks", {
|
|
96
|
+
defaultValue: arabic ? "\u0634\u0643\u0631\u0627 \u0644\u062A\u0641\u0647\u0645\u0643\u0645" : "Thank you for your understanding."
|
|
97
|
+
}) })
|
|
98
|
+
] }) }),
|
|
99
|
+
/* @__PURE__ */ jsx(Contacts, { store, arabic })
|
|
100
|
+
] }),
|
|
101
|
+
/* @__PURE__ */ jsx("div", { className: "thumb", children: /* @__PURE__ */ jsx("img", { src: THUMB_URL, alt: "" }) })
|
|
102
|
+
] }) })
|
|
103
|
+
] });
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export { MaintenancePage };
|
|
107
|
+
//# sourceMappingURL=chunk-3PSJH6Q4.js.map
|
|
108
|
+
//# sourceMappingURL=chunk-3PSJH6Q4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/store/MaintenancePage.tsx"],"names":[],"mappings":"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","file":"chunk-3PSJH6Q4.js","sourcesContent":["import { getTwilightContext } from '../../twilight/context';\nimport { useTranslation } from '../../providers/I18nProvider';\nimport type { Store, StoreSocial } from '../../types';\n\nconst THUMB_URL = 'https://cdn.assets.salla.network/prod/stores/images/construction-01.png';\n\n/** Social networks the page links to, in the old page's order, with their Salla icon class. */\nconst SOCIAL_ICONS: [keyof StoreSocial, string][] = [\n ['twitter', 'sicon-x'],\n ['snapchat', 'sicon-snapchat'],\n ['youtube', 'sicon-youtube'],\n ['tiktok', 'sicon-tiktok'],\n ['facebook', 'sicon-facebook'],\n ['instagram', 'sicon-instagram'],\n];\n\n// The platform's maintenance page (Store `pages/maintenance.blade.php` + `_maintenance.scss`),\n// trimmed to what it renders: greyscale, logo + title beside the message, contacts under a\n// rule, the illustration alongside; stacked and centred under 1024px.\nconst STYLE = `\n.s-maintenance{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;color:#a3a3a3;background:#fff;filter:grayscale(100%);box-sizing:border-box}\n.s-maintenance *{box-sizing:border-box}\n.s-maintenance .mt-container{width:100%;max-width:1200px;padding:0 15px}\n.s-maintenance .mt-panel{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}\n.s-maintenance .mt-message{width:100%;padding-inline-start:80px;animation:revealMtBlock 1.5s forwards}\n.s-maintenance .mt-title{display:flex;align-items:center;margin:0 0 20px}\n.s-maintenance .mt-logo{display:block;flex-shrink:0;width:80px;height:80px;margin-inline-end:20px;border-radius:50%;overflow:hidden;box-shadow:0 0 5px rgb(0 0 0 / 10%)}\n.s-maintenance .mt-logo img{display:block;width:100%;height:100%;object-fit:cover}\n.s-maintenance .mt-title h1{font-size:2.25rem;line-height:1;margin:0;color:#666}\n.s-maintenance .mt-content p{margin:0;white-space:pre-line}\n.s-maintenance .mt-contact-list{display:inline-block;list-style:none;width:100%;max-width:500px;margin:20px 0 0;padding:20px 0 0;border-top:1px solid #eee}\n.s-maintenance .mt-contact-list li{display:inline-block;margin-inline-end:10px}\n.s-maintenance .mt-contact-list a{display:inline-flex;align-items:center;padding:5px;color:rgb(102 102 102 / 80%);text-decoration:none;font-size:1.25rem}\n.s-maintenance .mt-contact-list a:hover{color:#666}\n.s-maintenance .mt-contact--btn{padding:3px 20px 5px;border-radius:20px;color:#fff!important;background:rgb(102 102 102 / 80%);font-size:1rem!important}\n.s-maintenance .mt-contact--btn:hover{background:#666}\n.s-maintenance .mt-contact--btn i{margin-inline-end:10px}\n.s-maintenance .thumb{width:100%;animation:revealMtBlock 1.5s .1s forwards;opacity:0}\n.s-maintenance .thumb img{display:block;width:100%;max-width:450px;margin:0 auto}\n@media (max-width:1024px){\n.s-maintenance{padding:40px 0 10px}\n.s-maintenance .mt-panel{flex-direction:column}\n.s-maintenance .mt-message{order:2;text-align:center;padding:0;margin:50px 0 0}\n.s-maintenance .mt-title{flex-direction:column;margin-bottom:30px}\n.s-maintenance .mt-logo{margin:0 0 10px}\n.s-maintenance .mt-title h1{font-size:1.5rem}\n}\n@media (max-width:640px){.s-maintenance .thumb img{width:80%}}\n@keyframes revealMtBlock{from{opacity:0;transform:translateY(50%)}to{opacity:1;transform:translateY(0)}}\n`;\n\n/** The phone button and social links under the message; nothing when the store lists none. */\nfunction Contacts({ store, arabic }: { store: Store | undefined; arabic: boolean }) {\n const { t } = useTranslation();\n const mobile = store?.contacts?.mobile;\n const socials = SOCIAL_ICONS.flatMap(([key, icon]) => {\n const href = store?.social?.[key];\n return href ? [{ key, icon, href }] : [];\n });\n if (!mobile && socials.length === 0) return null;\n\n return (\n <ul className=\"mt-contact-list\">\n {mobile && (\n <li>\n <a href={`tel:${mobile}`} className=\"mt-contact--btn\">\n <i className=\"sicon-phone\" aria-hidden=\"true\" />\n {t('common.elements.contact_us', {\n defaultValue: arabic ? 'تواصل معنا' : 'Contact us',\n })}\n </a>\n </li>\n )}\n {socials.map(({ key, icon, href }) => (\n <li key={key}>\n <a href={href} target=\"_blank\" rel=\"noreferrer\" aria-label={key}>\n <i className={icon} aria-hidden=\"true\" />\n </a>\n </li>\n ))}\n </ul>\n );\n}\n\n/**\n * The page a customer sees while the store is closed: the platform's maintenance page,\n * fed by the settings' `maintenance_details` (the merchant's title and message) and the\n * store's contacts. Rendered by `TwilightProvider` in place of the layout; see\n * `rootBeforeLoad` for who sees it.\n */\nexport function MaintenancePage() {\n const { settings, locale } = getTwilightContext();\n const { t } = useTranslation();\n const store = settings.store;\n const details = settings.maintenance_details;\n const arabic = locale.startsWith('ar');\n\n const title =\n details?.title ||\n t('pages.maintenance.title', {\n defaultValue: arabic ? 'المتجر قيد الصيانة' : 'Store under maintenance',\n });\n\n return (\n <div className=\"s-maintenance\" data-testid=\"store-maintenance-page\">\n <style>{STYLE}</style>\n <div className=\"mt-container\">\n <section className=\"mt-panel\">\n <div className=\"mt-message\">\n <div className=\"mt-title\">\n {store?.logo && (\n <span className=\"mt-logo\">\n <img\n src={store.logo}\n alt={\n store.name ||\n t('common.elements.store_logo', {\n defaultValue: arabic ? 'شعار المتجر' : 'Store logo',\n })\n }\n />\n </span>\n )}\n <h1>{title}</h1>\n </div>\n <div className=\"mt-content\">\n {details?.message ? (\n // The merchant's own wording: a plain string the dashboard caps at 200 characters.\n <p>{details.message}</p>\n ) : (\n <>\n <p>\n {t('pages.maintenance.message', {\n defaultValue: arabic\n ? 'عذرا عزيزي العميل، المتجر حاليا قيد الصيانة و سنعاود العمل خلال فترة وجيزة'\n : 'Sorry, the store is under maintenance and will be back shortly.',\n })}\n </p>\n <p>\n {t('pages.maintenance.thanks', {\n defaultValue: arabic ? 'شكرا لتفهمكم' : 'Thank you for your understanding.',\n })}\n </p>\n </>\n )}\n </div>\n <Contacts store={store} arabic={arabic} />\n </div>\n <div className=\"thumb\">\n <img src={THUMB_URL} alt=\"\" />\n </div>\n </section>\n </div>\n </div>\n );\n}\n"]}
|