@salla.sa/twilight-theme-engine 1.0.133 → 1.0.135
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-2BD3R4BH.js → AddToCartForm-ODVZPTKN.js} +3 -3
- package/dist/{AddToCartForm-2BD3R4BH.js.map → AddToCartForm-ODVZPTKN.js.map} +1 -1
- package/dist/{BlogAuthorPage-BF5XVPHV.js → BlogAuthorPage-BU23SINI.js} +29 -29
- package/dist/{BlogAuthorPage-BF5XVPHV.js.map → BlogAuthorPage-BU23SINI.js.map} +1 -1
- package/dist/{BlogCategoryPage-BZTNFEM7.js → BlogCategoryPage-ZVITUHP4.js} +29 -29
- package/dist/{BlogCategoryPage-BZTNFEM7.js.map → BlogCategoryPage-ZVITUHP4.js.map} +1 -1
- package/dist/{BlogPage-7HOCNIL5.js → BlogPage-IN3V7FYK.js} +27 -27
- package/dist/{BlogPage-7HOCNIL5.js.map → BlogPage-IN3V7FYK.js.map} +1 -1
- package/dist/{BlogSinglePage-SF575W74.js → BlogSinglePage-UJG7YPYZ.js} +27 -27
- package/dist/{BlogSinglePage-SF575W74.js.map → BlogSinglePage-UJG7YPYZ.js.map} +1 -1
- package/dist/{BlogTagPage-TALXABAF.js → BlogTagPage-XDETNKGR.js} +29 -29
- package/dist/{BlogTagPage-TALXABAF.js.map → BlogTagPage-XDETNKGR.js.map} +1 -1
- package/dist/{BrandsPage-UNHLTVUG.js → BrandsPage-CBU7JFSX.js} +28 -28
- package/dist/{BrandsPage-UNHLTVUG.js.map → BrandsPage-CBU7JFSX.js.map} +1 -1
- package/dist/{Breadcrumb-VFMPAWSR.js → Breadcrumb-EA2XETAM.js} +27 -27
- package/dist/{Breadcrumb-VFMPAWSR.js.map → Breadcrumb-EA2XETAM.js.map} +1 -1
- package/dist/{CartItem-CI2XOVRH.js → CartItem-2TW36QTW.js} +27 -27
- package/dist/{CartItem-CI2XOVRH.js.map → CartItem-2TW36QTW.js.map} +1 -1
- package/dist/{CartSummary-EQOBVLXK.js → CartSummary-TW2CAX57.js} +27 -27
- package/dist/{CartSummary-EQOBVLXK.js.map → CartSummary-TW2CAX57.js.map} +1 -1
- package/dist/{Copyright-3JGEXCQZ.js → Copyright-57XPE75X.js} +3 -3
- package/dist/{Copyright-3JGEXCQZ.js.map → Copyright-57XPE75X.js.map} +1 -1
- package/dist/{CustomerLayout-V5T4OPRY.js → CustomerLayout-A2M7IY34.js} +27 -27
- package/dist/{CustomerLayout-V5T4OPRY.js.map → CustomerLayout-A2M7IY34.js.map} +1 -1
- package/dist/{Footer-QX4EO5Y4.js → Footer-L5BIYCZ2.js} +4 -4
- package/dist/{Footer-QX4EO5Y4.js.map → Footer-L5BIYCZ2.js.map} +1 -1
- package/dist/Header-NLBDW4MR.js +23 -0
- package/dist/{Header-ORMIZKUL.js.map → Header-NLBDW4MR.js.map} +1 -1
- package/dist/{LoyaltyPage-HCLFYNTM.js → LoyaltyPage-BVTDPSP3.js} +27 -27
- package/dist/{LoyaltyPage-HCLFYNTM.js.map → LoyaltyPage-BVTDPSP3.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-V5OWHGR5.js → LoyaltyPointsPage-HZYPCO7C.js} +9 -9
- package/dist/{LoyaltyPointsPage-V5OWHGR5.js.map → LoyaltyPointsPage-HZYPCO7C.js.map} +1 -1
- package/dist/{MainMenu-RX7PU77H.js → MainMenu-3HP3YJDH.js} +8 -8
- package/dist/{MainMenu-RX7PU77H.js.map → MainMenu-3HP3YJDH.js.map} +1 -1
- package/dist/MaintenancePage-U5P43D52.js +7 -0
- package/dist/{MaintenancePage-A7CNHM7B.js.map → MaintenancePage-U5P43D52.js.map} +1 -1
- package/dist/{MasterLayout-CTVC6FPX.js → MasterLayout-KD3GLYYX.js} +27 -27
- package/dist/{MasterLayout-CTVC6FPX.js.map → MasterLayout-KD3GLYYX.js.map} +1 -1
- package/dist/{MobileMenu-EQFL7JGB.js → MobileMenu-3UEQTURY.js} +28 -28
- package/dist/{MobileMenu-EQFL7JGB.js.map → MobileMenu-3UEQTURY.js.map} +1 -1
- package/dist/{NotificationsPage-ZBZNPTZS.js → NotificationsPage-C6LNYZTB.js} +27 -27
- package/dist/{NotificationsPage-ZBZNPTZS.js.map → NotificationsPage-C6LNYZTB.js.map} +1 -1
- package/dist/{OrderSinglePage-LMWLOLW2.js → OrderSinglePage-LXKINOXP.js} +28 -28
- package/dist/{OrderSinglePage-LMWLOLW2.js.map → OrderSinglePage-LXKINOXP.js.map} +1 -1
- package/dist/{OrdersPage-6G7BES7J.js → OrdersPage-VBF3P3JH.js} +27 -27
- package/dist/{OrdersPage-6G7BES7J.js.map → OrdersPage-VBF3P3JH.js.map} +1 -1
- package/dist/{PageSingle-5TPYMYII.js → PageSingle-E7DTNIY7.js} +7 -7
- package/dist/{PageSingle-5TPYMYII.js.map → PageSingle-E7DTNIY7.js.map} +1 -1
- package/dist/{ProductDetails-JHZ2ZJAA.js → ProductDetails-ZQLQWU7S.js} +8 -8
- package/dist/{ProductDetails-JHZ2ZJAA.js.map → ProductDetails-ZQLQWU7S.js.map} +1 -1
- package/dist/{ProfilePage-6JITWBAJ.js → ProfilePage-7LAIDEHS.js} +27 -27
- package/dist/{ProfilePage-6JITWBAJ.js.map → ProfilePage-7LAIDEHS.js.map} +1 -1
- package/dist/{ReviewsPage-PFMEZ27R.js → ReviewsPage-FA3V745S.js} +3 -3
- package/dist/{ReviewsPage-PFMEZ27R.js.map → ReviewsPage-FA3V745S.js.map} +1 -1
- package/dist/{SeoCartWidget-ZU3ZZRQB.js → SeoCartWidget-4456ASOT.js} +27 -27
- package/dist/{SeoCartWidget-ZU3ZZRQB.js.map → SeoCartWidget-4456ASOT.js.map} +1 -1
- package/dist/{SettingsPage-J5AF6ECW.js → SettingsPage-IVOHCXVY.js} +27 -27
- package/dist/{SettingsPage-J5AF6ECW.js.map → SettingsPage-IVOHCXVY.js.map} +1 -1
- package/dist/StoreClosedNotification-DIF6SKBX.js +58 -0
- package/dist/{StoreClosedNotification-3FYHHAIP.js.map → StoreClosedNotification-DIF6SKBX.js.map} +1 -1
- package/dist/{TestimonialsPage-4Y55RF5P.js → TestimonialsPage-JY7MF5NW.js} +7 -7
- package/dist/{TestimonialsPage-4Y55RF5P.js.map → TestimonialsPage-JY7MF5NW.js.map} +1 -1
- package/dist/{ThankYouPage-WETHDHC2.js → ThankYouPage-KNHHBFPZ.js} +27 -27
- package/dist/{ThankYouPage-WETHDHC2.js.map → ThankYouPage-KNHHBFPZ.js.map} +1 -1
- package/dist/{WalletPage-PSTUYDCC.js → WalletPage-HH72DHOC.js} +28 -28
- package/dist/{WalletPage-PSTUYDCC.js.map → WalletPage-HH72DHOC.js.map} +1 -1
- package/dist/{WishlistPage-AROQHMZ2.js → WishlistPage-5BR63SMU.js} +29 -29
- package/dist/{WishlistPage-AROQHMZ2.js.map → WishlistPage-5BR63SMU.js.map} +1 -1
- package/dist/ambient/salla-components.d.ts +5 -0
- 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.js +6 -6
- 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-WBPOWM74.js → chunk-25UDBM27.js} +4 -4
- package/dist/{chunk-WBPOWM74.js.map → chunk-25UDBM27.js.map} +1 -1
- package/dist/{chunk-XQLAAPWR.js → chunk-2GSYVPQS.js} +7 -7
- package/dist/{chunk-XQLAAPWR.js.map → chunk-2GSYVPQS.js.map} +1 -1
- package/dist/{chunk-2TLIULJZ.js → chunk-3E3ABCPC.js} +3 -3
- package/dist/{chunk-2TLIULJZ.js.map → chunk-3E3ABCPC.js.map} +1 -1
- package/dist/{chunk-HTV4KO7G.js → chunk-4CM6JIQF.js} +3 -3
- package/dist/{chunk-HTV4KO7G.js.map → chunk-4CM6JIQF.js.map} +1 -1
- package/dist/{chunk-U2I3W3KW.js → chunk-4NZKBANW.js} +4 -4
- package/dist/{chunk-U2I3W3KW.js.map → chunk-4NZKBANW.js.map} +1 -1
- package/dist/{chunk-OOLS535M.js → chunk-4SCGS2CM.js} +7 -7
- package/dist/{chunk-OOLS535M.js.map → chunk-4SCGS2CM.js.map} +1 -1
- package/dist/{chunk-XN77EK3X.js → chunk-5A37NING.js} +4 -4
- package/dist/{chunk-XN77EK3X.js.map → chunk-5A37NING.js.map} +1 -1
- package/dist/{chunk-ETQFCKGR.js → chunk-5AOW2SQW.js} +3 -3
- package/dist/{chunk-ETQFCKGR.js.map → chunk-5AOW2SQW.js.map} +1 -1
- package/dist/{chunk-EHTLXK5F.js → chunk-5UWRPWK2.js} +5 -5
- package/dist/{chunk-EHTLXK5F.js.map → chunk-5UWRPWK2.js.map} +1 -1
- package/dist/{chunk-7VNVCHID.js → chunk-6K34BCUP.js} +2 -2
- package/dist/{chunk-7VNVCHID.js.map → chunk-6K34BCUP.js.map} +1 -1
- package/dist/{chunk-QIJJTWW6.js → chunk-6VYW7CVL.js} +4 -4
- package/dist/{chunk-QIJJTWW6.js.map → chunk-6VYW7CVL.js.map} +1 -1
- package/dist/{chunk-JUFJV4AK.js → chunk-7U5OLKOS.js} +3 -3
- package/dist/{chunk-JUFJV4AK.js.map → chunk-7U5OLKOS.js.map} +1 -1
- package/dist/{chunk-B3DGM7TM.js → chunk-A5AU64GV.js} +4 -4
- package/dist/{chunk-B3DGM7TM.js.map → chunk-A5AU64GV.js.map} +1 -1
- package/dist/{chunk-GG5DAIGJ.js → chunk-AXWX5SJC.js} +5 -5
- package/dist/{chunk-GG5DAIGJ.js.map → chunk-AXWX5SJC.js.map} +1 -1
- package/dist/{chunk-CKH6WBMA.js → chunk-CZ6VJPCG.js} +3 -3
- package/dist/{chunk-CKH6WBMA.js.map → chunk-CZ6VJPCG.js.map} +1 -1
- package/dist/{chunk-F5BU7T6H.js → chunk-D53M5ASN.js} +7 -7
- package/dist/{chunk-F5BU7T6H.js.map → chunk-D53M5ASN.js.map} +1 -1
- package/dist/{chunk-RQG44QD7.js → chunk-E5DP3MHE.js} +6 -6
- package/dist/{chunk-RQG44QD7.js.map → chunk-E5DP3MHE.js.map} +1 -1
- package/dist/{chunk-FHU2MXZA.js → chunk-FXVII733.js} +18 -8
- package/dist/chunk-FXVII733.js.map +1 -0
- package/dist/{chunk-VSEMOZZY.js → chunk-HDSY5DWF.js} +3 -3
- package/dist/{chunk-VSEMOZZY.js.map → chunk-HDSY5DWF.js.map} +1 -1
- package/dist/{chunk-Z6E7MMXW.js → chunk-HIOYW3CS.js} +4 -4
- package/dist/{chunk-Z6E7MMXW.js.map → chunk-HIOYW3CS.js.map} +1 -1
- package/dist/{chunk-BK5TBUGG.js → chunk-HOJ5E2PG.js} +3 -3
- package/dist/{chunk-BK5TBUGG.js.map → chunk-HOJ5E2PG.js.map} +1 -1
- package/dist/{chunk-G3UTLR3D.js → chunk-IOLNWPRO.js} +4 -4
- package/dist/{chunk-G3UTLR3D.js.map → chunk-IOLNWPRO.js.map} +1 -1
- package/dist/{chunk-33UM6VQJ.js → chunk-KWJUCI7M.js} +4 -4
- package/dist/{chunk-33UM6VQJ.js.map → chunk-KWJUCI7M.js.map} +1 -1
- package/dist/{chunk-JGVEGQHJ.js → chunk-LFHYQ6AN.js} +3 -3
- package/dist/{chunk-JGVEGQHJ.js.map → chunk-LFHYQ6AN.js.map} +1 -1
- package/dist/{chunk-BYLNAYIZ.js → chunk-LUPDYN4T.js} +5 -5
- package/dist/{chunk-BYLNAYIZ.js.map → chunk-LUPDYN4T.js.map} +1 -1
- package/dist/{chunk-NVL6M25Q.js → chunk-MWG734P7.js} +3 -3
- package/dist/{chunk-NVL6M25Q.js.map → chunk-MWG734P7.js.map} +1 -1
- package/dist/{chunk-V2M5YNZQ.js → chunk-MWYKP7CI.js} +3 -3
- package/dist/{chunk-V2M5YNZQ.js.map → chunk-MWYKP7CI.js.map} +1 -1
- package/dist/{chunk-GYXUYHKO.js → chunk-NHA4SBKG.js} +4 -4
- package/dist/{chunk-GYXUYHKO.js.map → chunk-NHA4SBKG.js.map} +1 -1
- package/dist/{chunk-37O7OVPL.js → chunk-OJKTKMWS.js} +4 -4
- package/dist/{chunk-37O7OVPL.js.map → chunk-OJKTKMWS.js.map} +1 -1
- package/dist/chunk-OKKS2RA4.js +14 -0
- package/dist/{chunk-JYEUOEEI.js.map → chunk-OKKS2RA4.js.map} +1 -1
- package/dist/{chunk-QGKARX6O.js → chunk-P3D67RVR.js} +8 -8
- package/dist/{chunk-QGKARX6O.js.map → chunk-P3D67RVR.js.map} +1 -1
- package/dist/{chunk-MBSWV56J.js → chunk-P6TJCCM3.js} +4 -4
- package/dist/{chunk-MBSWV56J.js.map → chunk-P6TJCCM3.js.map} +1 -1
- package/dist/{chunk-FID76MUV.js → chunk-Q7E4TNN7.js} +10 -6
- package/dist/chunk-Q7E4TNN7.js.map +1 -0
- package/dist/{chunk-LDQGZ4R2.js → chunk-RBXGVURD.js} +4 -4
- package/dist/{chunk-LDQGZ4R2.js.map → chunk-RBXGVURD.js.map} +1 -1
- package/dist/{chunk-4UEXSD7E.js → chunk-RLJLG4EN.js} +6 -6
- package/dist/{chunk-4UEXSD7E.js.map → chunk-RLJLG4EN.js.map} +1 -1
- package/dist/{chunk-OM2GRPDH.js → chunk-RYGEIQWO.js} +3 -3
- package/dist/{chunk-OM2GRPDH.js.map → chunk-RYGEIQWO.js.map} +1 -1
- package/dist/{chunk-7ED3XSYN.js → chunk-SGB7HCXF.js} +4 -4
- package/dist/{chunk-7ED3XSYN.js.map → chunk-SGB7HCXF.js.map} +1 -1
- package/dist/{chunk-PCEKL6S3.js → chunk-SXI2XBCC.js} +7 -7
- package/dist/{chunk-PCEKL6S3.js.map → chunk-SXI2XBCC.js.map} +1 -1
- package/dist/{chunk-L4TQBWR7.js → chunk-TF6HFXTW.js} +3 -3
- package/dist/{chunk-L4TQBWR7.js.map → chunk-TF6HFXTW.js.map} +1 -1
- package/dist/{chunk-VSP3INDK.js → chunk-TTLRRVM2.js} +7 -7
- package/dist/{chunk-VSP3INDK.js.map → chunk-TTLRRVM2.js.map} +1 -1
- package/dist/{chunk-P2WO5CNH.js → chunk-UHGDQIIF.js} +5 -5
- package/dist/{chunk-P2WO5CNH.js.map → chunk-UHGDQIIF.js.map} +1 -1
- package/dist/{chunk-L55G7FJZ.js → chunk-VNDUKDZG.js} +38 -10
- package/dist/chunk-VNDUKDZG.js.map +1 -0
- package/dist/{chunk-HIGI3M7E.js → chunk-VZPEPWDF.js} +9 -9
- package/dist/{chunk-HIGI3M7E.js.map → chunk-VZPEPWDF.js.map} +1 -1
- package/dist/{chunk-KLJTNLZ5.js → chunk-WEKO2DAN.js} +5 -5
- package/dist/{chunk-KLJTNLZ5.js.map → chunk-WEKO2DAN.js.map} +1 -1
- package/dist/{chunk-RSRGLHVQ.js → chunk-WHFKJ3AS.js} +4 -4
- package/dist/{chunk-RSRGLHVQ.js.map → chunk-WHFKJ3AS.js.map} +1 -1
- package/dist/{chunk-5FJFN3IW.js → chunk-WQPG22DY.js} +3 -3
- package/dist/{chunk-5FJFN3IW.js.map → chunk-WQPG22DY.js.map} +1 -1
- package/dist/{chunk-Z2K2O3DI.js → chunk-WVSGVFMM.js} +4 -4
- package/dist/{chunk-Z2K2O3DI.js.map → chunk-WVSGVFMM.js.map} +1 -1
- package/dist/{chunk-JYV25VNZ.js → chunk-X55R4VVK.js} +3 -3
- package/dist/{chunk-JYV25VNZ.js.map → chunk-X55R4VVK.js.map} +1 -1
- package/dist/{chunk-IPICQKIF.js → chunk-X5QZBD5V.js} +7 -7
- package/dist/{chunk-IPICQKIF.js.map → chunk-X5QZBD5V.js.map} +1 -1
- package/dist/{chunk-TLOA4BJF.js → chunk-XHWBJYJL.js} +3 -3
- package/dist/{chunk-TLOA4BJF.js.map → chunk-XHWBJYJL.js.map} +1 -1
- package/dist/{chunk-PAMMBDFM.js → chunk-YBIL64R7.js} +3 -3
- package/dist/{chunk-PAMMBDFM.js.map → chunk-YBIL64R7.js.map} +1 -1
- package/dist/{chunk-4SM6UKLE.js → chunk-YJWJPS25.js} +17 -17
- package/dist/chunk-YJWJPS25.js.map +1 -0
- package/dist/{chunk-N4YBKFJM.js → chunk-YKNDXZAD.js} +24 -24
- package/dist/chunk-YKNDXZAD.js.map +1 -0
- package/dist/{chunk-SQBLVCES.js → chunk-ZRJXN766.js} +4 -4
- package/dist/{chunk-SQBLVCES.js.map → chunk-ZRJXN766.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 +25 -25
- package/dist/components/home/BundleComponent.d.ts +3 -0
- package/dist/components/home/BundleComponent.d.ts.map +1 -1
- package/dist/components/home/index.js +29 -29
- package/dist/components/layout/index.js +7 -7
- package/dist/components/product/index.js +26 -26
- package/dist/components/store/index.js +27 -27
- 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-3GOSUA4H.js +31 -0
- package/dist/{document-class-4DT4LTK5.js.map → document-class-3GOSUA4H.js.map} +1 -1
- package/dist/hooks/index.js +25 -25
- package/dist/hooks/useComments.js +4 -4
- package/dist/hooks/useGtm.js +25 -25
- package/dist/hooks/useMoney.js +25 -25
- package/dist/hooks/useProduct.js +4 -4
- package/dist/hooks/useStore.js +25 -25
- package/dist/hooks/useUser.js +6 -6
- package/dist/hooks/useWishlist.js +4 -4
- package/dist/index.js +25 -25
- package/dist/native-app/index.js +4 -4
- package/dist/{navigation-FTU3OC4V.js → navigation-SN2ZTS4V.js} +8 -8
- package/dist/{navigation-FTU3OC4V.js.map → navigation-SN2ZTS4V.js.map} +1 -1
- package/dist/navigation-ZV4TGIAA.js +15 -0
- package/dist/{navigation-DT6HXCUG.js.map → navigation-ZV4TGIAA.js.map} +1 -1
- package/dist/{not-found-BVJSPRMZ.js → not-found-J3UJVHNJ.js} +28 -28
- package/dist/{not-found-BVJSPRMZ.js.map → not-found-J3UJVHNJ.js.map} +1 -1
- package/dist/providers/index.js +25 -25
- package/dist/providers/twilight-init.d.ts.map +1 -1
- package/dist/routes/account/orders.js +9 -9
- package/dist/routes/account.js +18 -18
- package/dist/routes/blog.js +13 -13
- package/dist/routes/brands.js +9 -9
- package/dist/routes/cart.js +33 -33
- package/dist/routes/home.js +30 -30
- package/dist/routes/index.js +7 -7
- package/dist/routes/loyalty.js +10 -10
- package/dist/routes/page.js +9 -9
- package/dist/routes/product-listing.js +31 -31
- package/dist/routes/product.js +29 -29
- package/dist/routes/root/beforeLoad.d.ts +6 -0
- package/dist/routes/root/beforeLoad.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +7 -7
- package/dist/routes/testimonials.js +5 -5
- package/dist/routes/thank-you.js +9 -9
- package/dist/skeleton.js +30 -30
- package/dist/{store-lookup-OWYYSCDT.js → store-lookup-U6TJNLZM.js} +12 -12
- package/dist/{store-lookup-OWYYSCDT.js.map → store-lookup-U6TJNLZM.js.map} +1 -1
- package/dist/tanstack.js +22 -22
- package/dist/twilight/context.d.ts +3 -2
- package/dist/twilight/context.d.ts.map +1 -1
- package/dist/utils/baseHead.js +3 -3
- package/dist/utils/cookies.d.ts +15 -1
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/index.js +7 -7
- package/dist/utils/maintenance.d.ts +37 -5
- package/dist/utils/maintenance.d.ts.map +1 -1
- package/dist/utils/store-identity.d.ts +10 -0
- package/dist/utils/store-identity.d.ts.map +1 -1
- package/dist/vite/index.js +5 -5
- package/package.json +1 -1
- package/tailwind/components/home/BundleComponent.tsx.txt +46 -3
- package/tailwind/routes/root/beforeLoad.ts.txt +8 -1
- package/dist/Header-ORMIZKUL.js +0 -23
- package/dist/MaintenancePage-A7CNHM7B.js +0 -7
- package/dist/StoreClosedNotification-3FYHHAIP.js +0 -58
- package/dist/chunk-4SM6UKLE.js.map +0 -1
- package/dist/chunk-FHU2MXZA.js.map +0 -1
- package/dist/chunk-FID76MUV.js.map +0 -1
- package/dist/chunk-JYEUOEEI.js +0 -14
- package/dist/chunk-L55G7FJZ.js.map +0 -1
- package/dist/chunk-N4YBKFJM.js.map +0 -1
- package/dist/document-class-4DT4LTK5.js +0 -31
- package/dist/navigation-DT6HXCUG.js +0 -15
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { order } from './chunk-
|
|
2
|
-
import { usePageConfig, useMoney, useDate, useNumber } from './chunk-
|
|
1
|
+
import { order } from './chunk-WHFKJ3AS.js';
|
|
2
|
+
import { usePageConfig, useMoney, useDate, useNumber } from './chunk-YKNDXZAD.js';
|
|
3
3
|
import './chunk-H2QBHOF2.js';
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
4
|
+
import './chunk-X5QZBD5V.js';
|
|
5
|
+
import './chunk-4CM6JIQF.js';
|
|
6
|
+
import './chunk-SXI2XBCC.js';
|
|
7
|
+
import './chunk-X55R4VVK.js';
|
|
8
|
+
import './chunk-25UDBM27.js';
|
|
9
9
|
import './chunk-OXMUPNMH.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-7U5OLKOS.js';
|
|
11
11
|
import './chunk-VVZNW5CB.js';
|
|
12
|
-
import './chunk-
|
|
12
|
+
import './chunk-WQPG22DY.js';
|
|
13
13
|
import './chunk-GD26FI4J.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import { useNavigate, useLocation } from './chunk-
|
|
14
|
+
import './chunk-Q7E4TNN7.js';
|
|
15
|
+
import './chunk-RYGEIQWO.js';
|
|
16
|
+
import { useNavigate, useLocation } from './chunk-RLJLG4EN.js';
|
|
17
17
|
import './chunk-OUW6WESU.js';
|
|
18
|
-
import './chunk-
|
|
18
|
+
import './chunk-HOJ5E2PG.js';
|
|
19
19
|
import './chunk-HI5V5X3S.js';
|
|
20
|
-
import { useUser } from './chunk-
|
|
21
|
-
import './chunk-
|
|
20
|
+
import { useUser } from './chunk-WVSGVFMM.js';
|
|
21
|
+
import './chunk-XHWBJYJL.js';
|
|
22
22
|
import './chunk-MVT5AF2A.js';
|
|
23
23
|
import './chunk-Z653O7MX.js';
|
|
24
24
|
import './chunk-ZCH7W7DZ.js';
|
|
25
|
-
import './chunk-
|
|
25
|
+
import './chunk-TF6HFXTW.js';
|
|
26
26
|
import './chunk-JWXJPJBO.js';
|
|
27
27
|
import './chunk-CW625T2E.js';
|
|
28
28
|
import './chunk-7V36I5GT.js';
|
|
29
29
|
import './chunk-6WI7R2BD.js';
|
|
30
|
-
import './chunk-
|
|
30
|
+
import './chunk-LFHYQ6AN.js';
|
|
31
31
|
import './chunk-OAMIDZKW.js';
|
|
32
|
-
import './chunk-
|
|
32
|
+
import './chunk-WEKO2DAN.js';
|
|
33
33
|
import './chunk-OQIIJRAS.js';
|
|
34
34
|
import './chunk-V2ZDTY6H.js';
|
|
35
|
-
import './chunk-
|
|
35
|
+
import './chunk-5A37NING.js';
|
|
36
36
|
import { HookSlot, useIsClient } from './chunk-5XDPAKF5.js';
|
|
37
37
|
import './chunk-GCPEMNSU.js';
|
|
38
|
-
import './chunk-
|
|
38
|
+
import './chunk-E5DP3MHE.js';
|
|
39
39
|
import './chunk-Z5M4YYWT.js';
|
|
40
40
|
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
41
|
-
import './chunk-
|
|
41
|
+
import './chunk-MWG734P7.js';
|
|
42
42
|
import './chunk-AXW67SY7.js';
|
|
43
43
|
import './chunk-BYMOPN2S.js';
|
|
44
44
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -46,11 +46,11 @@ import { useAsyncFn } from './chunk-6BZ5TKEV.js';
|
|
|
46
46
|
import './chunk-FZKRSGLP.js';
|
|
47
47
|
import './chunk-7V5HOZW4.js';
|
|
48
48
|
import './chunk-YA6ABQB7.js';
|
|
49
|
-
import './chunk-
|
|
50
|
-
import './chunk-
|
|
51
|
-
import './chunk-
|
|
52
|
-
import './chunk-
|
|
53
|
-
import './chunk-
|
|
49
|
+
import './chunk-MWYKP7CI.js';
|
|
50
|
+
import './chunk-3E3ABCPC.js';
|
|
51
|
+
import './chunk-NHA4SBKG.js';
|
|
52
|
+
import './chunk-FXVII733.js';
|
|
53
|
+
import './chunk-6K34BCUP.js';
|
|
54
54
|
import './chunk-T72DAX7R.js';
|
|
55
55
|
import { useTwilight } from './chunk-DF6FBKDN.js';
|
|
56
56
|
import './chunk-DGUM43GV.js';
|
|
@@ -770,5 +770,5 @@ function OrderSinglePage({ order: order2, page, componentsOrder }) {
|
|
|
770
770
|
}
|
|
771
771
|
|
|
772
772
|
export { OrderSinglePage };
|
|
773
|
-
//# sourceMappingURL=OrderSinglePage-
|
|
774
|
-
//# sourceMappingURL=OrderSinglePage-
|
|
773
|
+
//# sourceMappingURL=OrderSinglePage-LXKINOXP.js.map
|
|
774
|
+
//# sourceMappingURL=OrderSinglePage-LXKINOXP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/account/orders/single/OrderHeader.tsx","../src/routes/account/orders/single/OrderItemRow.tsx","../src/routes/account/orders/single/OrderActions.tsx","../src/routes/account/orders/single/OrderSections.tsx","../src/routes/account/orders/OrderSinglePage.tsx"],"names":["order","jsx","jsxs","SallaButton","Fragment","useState"],"mappings":"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","file":"OrderSinglePage-LMWLOLW2.js","sourcesContent":["import { useState } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { useDate, useNumber } from '../../../../hooks';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useTwilight } from '../../../../providers/twilight-context';\nimport type { Order, TwigOrder } from './types';\n\nconst PRINT_WINDOW = 'noopener, toolbar=yes, scrollbars=yes, resizable=yes, width=900, height=700';\n\nfunction OrderStatus({ order, paymentExpired }: { order: Order; paymentExpired: boolean }) {\n const { t } = useTranslation();\n if (paymentExpired) {\n return <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>;\n }\n return (\n <span\n className=\"text-primary inline-flex items-center rtl:space-x-reverse space-x-1\"\n style={{ color: order.status.color }}\n >\n <i className={`mt-1 ${order.status.icon}`}></i>\n <span> {order.status.name}</span>\n </span>\n );\n}\n\n/** Twig's `order.print_url()`; `urls.receipt` is the buyer's bank-transfer image. */\nfunction PrintAction({ order }: { order: Order }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const [printNoticeOpen, setPrintNoticeOpen] = useState(false);\n const print = () =>\n window.open(\n order.urls.print ??\n `${(store?.url ?? '').replace(/\\/$/, '')}/account/orders/${order.id}/print`,\n '_blank',\n PRINT_WINDOW\n );\n\n return order.actions.invoice_printable === false ? (\n <div\n className={`tooltip-toggle tooltip-toggle--clickable inline-block${printNoticeOpen ? ' visible' : ''}`}\n >\n <button\n type=\"button\"\n className=\"text-primary border border-primary rounded text-center px-4 py-2 cursor-pointer\"\n onClick={() => setPrintNoticeOpen(true)}\n >\n <i className=\"sicon-printer2 v-align\"></i> {t('pages.orders.print')}\n </button>\n <div className=\"tooltip-content shadow-md rounded text-gray-500\">\n <small>\n {' '}\n {t('pages.orders.to_order_invoice_contact_vendor')}\n <br />\n {t('pages.orders.print_order_details')}{' '}\n <button type=\"button\" className=\"text-primary underline cursor-pointer\" onClick={print}>\n {t('pages.orders.click_here')}\n </button>\n </small>\n <SallaButton\n shape=\"link\"\n color=\"danger\"\n size=\"small\"\n className=\"close-tooltip\"\n onClick={() => setPrintNoticeOpen(false)}\n >\n <i className=\"sicon-cancel\"></i>\n </SallaButton>\n </div>\n </div>\n ) : (\n <SallaButton fill=\"outline\" size=\"small\" onClick={print}>\n <i className=\"sicon-printer2 v-align\"></i> {t('pages.orders.print')}\n </SallaButton>\n );\n}\n\n/** The date / status / links / print row at the top of the order page. */\nexport function OrderHeader({\n order,\n links,\n paymentExpired,\n}: {\n order: Order;\n links: TwigOrder['links'];\n paymentExpired: boolean;\n}) {\n const { t, direction } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatNumber } = useNumber();\n\n return (\n <table className=\"min-w-full rounded-md overflow-hidden\">\n <tbody>\n <tr className=\"bg-white overflow-hidden flex md:table-row flex-row md:flex-row flex-wrap md:flex-no-wrap py-1.5 md:py-0\">\n <td\n data-testid=\"store-order-status\"\n className=\"single-order-header-item w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm \"\n >\n <div className=\"rtl:ml-2 ltr:mr-2 font-normal text-gray-400\">\n {t('pages.orders.date')}\n </div>\n <b>{formatNumber(formatDate(order.created_at.date))}</b>\n </td>\n\n <td className=\"single-order-header-item flex justify-between items-center w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm \">\n <OrderStatus order={order} paymentExpired={paymentExpired} />\n\n <div className=\"flex items-center justify-between\">\n {order.type === 'quote' && (\n <span className=\"text-red-500 ml-4\">\n {t('pages.orders.your_order_is_under_review')}\n </span>\n )}\n\n {!!links?.length && (\n <div className=\"flex space-x-2 rtl:space-x-reverse text-start flex-none px-2\">\n {links.map((link) => (\n <a\n key={link.url}\n href={link.url}\n className=\"text-primary-reverse bg-primary px-4 py-2 rounded\"\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {link.label}{' '}\n <i\n className={\n direction === 'rtl' ? 'sicon-arrow-up-left' : 'sicon-arrow-up-right'\n }\n ></i>\n </a>\n ))}\n </div>\n )}\n <PrintAction order={order} />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n );\n}\n","import { createElement } from 'react';\nimport { SallaOrderDetails } from '@salla.sa/twilight-components-react/order-details';\nimport { useDate, useNumber } from '../../../../hooks';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport type { FormatMoney, OrderItem, TwigItem } from './types';\n\nfunction ItemAttachments({ item }: { item: OrderItem }) {\n const { t } = useTranslation();\n if (!item.attachments?.length) return null;\n return (\n <div className=\"flow-root rounded-md px-4 border border-gray-200\">\n <dl className=\"text-sm text-dark divide-y divide-border-color\">\n {item.attachments.map((attachment) => (\n <div\n key={`${attachment.type}:${attachment.url}`}\n className=\"py-3.5 md:flex items-center justify-between\"\n >\n <dt className=\"mb-2 md:mb-0\">{t('pages.products.attachments')}</dt>\n <dd\n className={`font-medium ${attachment.type === 'image' ? 'text-gray-900' : 'text-xs'}`}\n >\n {attachment.type === 'image' ? (\n <div className=\"flex rtl:space-x-reverse space-x-2.5\">\n <a href={attachment.url} target=\"_blank\" rel=\"noreferrer\">\n <img\n className=\"h-7 w-7 object-cover rounded-md\"\n src={attachment.url}\n alt={item.name}\n />\n </a>\n </div>\n ) : (\n <a href={attachment.url}>{t('pages.orders.file_url')}</a>\n )}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n );\n}\n\n/** A date-only day (`2026-09-20`) as that calendar day wherever it is formatted, not UTC midnight. */\nfunction calendarDay(day: unknown): Date | string {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(String(day));\n return match ? new Date(+match[1], +match[2] - 1, +match[3]) : String(day);\n}\n\n/** Twig's booking block: the location and each reservation's day and time. */\nfunction ItemReservations({ item, productType }: { item: OrderItem; productType?: string }) {\n const { t } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatNumber, useArabicNumerals } = useNumber();\n const reservations = item.product_reservations ?? [];\n if (productType !== 'booking' || !reservations.length) return null;\n const time = (value: unknown) =>\n useArabicNumerals\n ? formatNumber(String(value)).replace(/PM/g, 'م').replace(/AM/g, 'ص')\n : String(value);\n\n return (\n <>\n {item.booking_location && (\n <ul className=\"font-medium text-xs text-gray-600\">\n <li className=\"py-1 flex justify-between items-baseline\">\n <span className=\"mt-5 mb-3.5 text-sm font-bold\">{t('common.elements.location')}</span>\n <span className=\"text-unicode\">{item.booking_location}</span>\n </li>\n </ul>\n )}\n <h2 className=\"mt-5 mb-3.5 text-sm font-bold\">\n {reservations.length > 1 ? t('pages.cart.reservations') : t('pages.cart.item_options')}\n </h2>\n <div className=\"rounded-md p-4 border border-gray-200 mb-2\">\n <ul className=\"font-medium text-xs text-gray-600\">\n {reservations.map((reservation) => (\n <li key={`${reservation.day}:${reservation.from}`} className=\"py-1\">\n <span className=\"text-unicode\">\n {formatNumber(formatDate(calendarDay(reservation.day)))}\n {reservation.from_timestamp\n ? ` (${time(reservation.from)} - ${time(reservation.to)})`\n : ''}\n </span>\n </li>\n ))}\n </ul>\n </div>\n </>\n );\n}\n\nfunction ItemSummary({\n item,\n twigItem,\n money,\n currency,\n}: {\n item: OrderItem;\n twigItem?: TwigItem;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n const product = twigItem?.product;\n const image = product?.image?.url || item.image || item.thumbnail;\n const price = item.amounts.amount ?? { amount: 0, currency };\n const priceText = money(price.amount, price.currency);\n const total = item.amounts.total ?? { amount: 0, currency };\n\n return (\n <div className=\"mb-5 last:mb-0\">\n {product ? (\n <div className=\"flex rtl:space-x-reverse space-x-5 mb-4\">\n <a href={product.url} className=\"shrink-0\">\n <img\n src={image || '/images/placeholder.png'}\n alt={item.name}\n className={`w-18 h-14 object-${image ? 'cover' : 'contain'} rounded-md`}\n />\n </a>\n <div>\n <a\n href={product.url}\n className=\"block leading-5 mb-1.5 md:text-base font-semibold transition-colors text-gray-500 hover:text-primary\"\n >\n {item.name}\n </a>\n <b>{priceText}</b>\n </div>\n </div>\n ) : (\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{item.name}</span>\n <b>{priceText}</b>\n </div>\n )}\n\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{t('pages.products.quantity')}</span>\n <b>{item.quantity}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\" w-40 inline-block font-normal\">{t('pages.products.price')}</span>\n <b>{priceText}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{t('pages.orders.total')}</span>\n <b>{money(total.amount, total.currency)}</b>\n </div>\n </div>\n );\n}\n\n/** One item of the order page (the body of `{% for item in package.items %}`). */\nexport function OrderItemRow({\n item,\n twigItem,\n money,\n currency,\n}: {\n item: OrderItem;\n twigItem?: TwigItem;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n const productId = twigItem?.product?.id;\n\n return (\n <div\n data-testid={`store-order-item-${item.id}`}\n data-order-item-id={item.id}\n data-order-item-product-id={productId}\n className=\"order-item bg-white p-5 border-b border-gray-100 first:rounded-t-md last:rounded-b-md last:border-none\"\n >\n <ItemSummary item={item} twigItem={twigItem} money={money} currency={currency} />\n\n {item.availability_date && (\n <div className=\"flex gap-2 text-sm py-2.5 text-blue-500\">\n <i className=\"sicon-info\"></i>\n <span>\n {t('pages.products.expected_to_be')}:{' '}\n <b>{String(item.availability_date).slice(0, 10)}</b>\n </span>\n </div>\n )}\n\n <ItemReservations item={item} productType={twigItem?.product?.type ?? item.product?.type} />\n\n <SallaOrderDetails orderDetails={JSON.stringify(twigItem ?? item)} />\n\n {item.note && (\n <p className=\"mt-3 text-sm text-gray-500\">\n <span>{t('common.elements.note')} : </span>\n {item.note}\n </p>\n )}\n\n <ItemAttachments item={item} />\n\n {/* No React wrapper yet; Twilight upgrades it (adds `hydrated`) before React hydrates. */}\n {productId &&\n createElement('salla-review-order-item', {\n 'product-id': productId,\n suppressHydrationWarning: true,\n })}\n </div>\n );\n}\n","import { useState } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaModal } from '@salla.sa/twilight-components-react/modal';\nimport { useIsClient, useUser } from '../../../../hooks';\nimport { useAsyncFn } from '../../../../hooks/useAsyncFn';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useLocation, useNavigate } from '../../../../providers/NavigationProvider';\nimport type { Order } from './types';\n\nfunction ConfirmModal({\n visible,\n onVisibleChange,\n title,\n subTitle,\n iconStyle,\n confirmColor,\n onConfirm,\n busy,\n}: {\n visible: boolean;\n onVisibleChange: (visible: boolean) => void;\n title: string;\n subTitle: string;\n iconStyle: 'success' | 'error';\n confirmColor?: 'danger';\n onConfirm: () => void;\n busy: boolean;\n}) {\n const { t } = useTranslation();\n // The modal wrapper renders only in the browser, so mount after hydration to match the server.\n const isClient = useIsClient();\n if (!isClient) return null;\n return (\n <SallaModal\n width=\"sm\"\n visible={visible}\n onModalVisibilityChanged={(e) => onVisibleChange(Boolean(e.detail))}\n {...{ 'modal-title': title }}\n subTitle={subTitle}\n iconStyle={iconStyle}\n >\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton\n width=\"wide\"\n color={confirmColor}\n className=\"w-full cursor-pointer\"\n onClick={onConfirm}\n disabled={busy}\n >\n {t('common.elements.ok')}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => onVisibleChange(false)}\n disabled={busy}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n );\n}\n\nfunction PaymentOrReorder({\n order,\n paymentExpired,\n canReorder,\n onReorder,\n busy,\n}: {\n order: Order;\n paymentExpired: boolean;\n canReorder: boolean;\n onReorder: () => void;\n busy: boolean;\n}) {\n const { t } = useTranslation();\n if (order.actions.payable) {\n return paymentExpired || !order.urls.checkout ? (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n ) : (\n <SallaButton width=\"wide\" href={order.urls.checkout}>\n <i className=\"sicon sicon-wallet rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.finish_payment')}</span>\n </SallaButton>\n );\n }\n if (!canReorder) return null;\n return (\n <>\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.reorder')}</h3>\n <p className=\"text-gray-500\">{t('pages.orders.reorder_description')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-reorder-btn\"\n shape=\"link\"\n onClick={onReorder}\n disabled={busy}\n >\n <i className=\"sicon sicon-rotate rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.reorder')}</span>\n </SallaButton>\n </>\n );\n}\n\n/** The \"Reorder & Cancel\" card, its pending-payment state and the two confirmations. */\nexport function OrderActions({ order, paymentExpired }: { order: Order; paymentExpired: boolean }) {\n const { t } = useTranslation();\n // Token-based, so the server and the first client render agree (the user query loads later).\n const { isLoggedIn } = useUser();\n const navigate = useNavigate();\n const location = useLocation();\n const [showReorder, setShowReorder] = useState(false);\n const [showCancel, setShowCancel] = useState(false);\n const { reorderable, cancellable, payable } = order.actions;\n const canReorder = isLoggedIn && reorderable;\n\n const [reorderState, handleReorder] = useAsyncFn(async () => {\n await window.salla?.order.createCartFromOrder(Number(order.id));\n setShowReorder(false);\n navigate('/cart');\n }, [navigate, order.id]);\n\n const [cancelState, handleCancel] = useAsyncFn(async () => {\n await window.salla?.order.cancel(Number(order.id));\n setShowCancel(false);\n navigate(location.pathname, { replace: true });\n }, [navigate, order.id, location.pathname]);\n\n if (!reorderable && !cancellable && !payable) return null;\n\n return (\n <>\n <div className=\"bg-white rounded-md p-5 divide-y divide-border-color space-y-4\">\n {(reorderable || payable) && (\n <div className={payable ? 'flex-center' : 'center-between'}>\n <PaymentOrReorder\n order={order}\n paymentExpired={paymentExpired}\n canReorder={!!canReorder}\n onReorder={() => setShowReorder(true)}\n busy={reorderState.loading}\n />\n </div>\n )}\n\n {cancellable && (\n <div className=\"center-between pt-4\">\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.cancel')}</h3>\n <p className=\"text-gray-500\">{t('pages.order.order_cancelation_desc')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-cancel-btn\"\n shape=\"link\"\n color=\"danger\"\n onClick={() => setShowCancel(true)}\n disabled={cancelState.loading}\n >\n <i className=\"sicon sicon-cancel-circle rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.cancel')}</span>\n </SallaButton>\n </div>\n )}\n </div>\n\n {/* Always mounted: salla-modal moves itself under <body> and opens from `visible`. */}\n {canReorder && (\n <ConfirmModal\n visible={showReorder}\n onVisibleChange={setShowReorder}\n title={t('pages.orders.reorder')}\n subTitle={t('pages.orders.reorder_confirmation')}\n iconStyle=\"success\"\n onConfirm={handleReorder}\n busy={reorderState.loading}\n />\n )}\n {cancellable && (\n <ConfirmModal\n visible={showCancel}\n onVisibleChange={setShowCancel}\n title={t('common.elements.warning')}\n subTitle={t('pages.orders.cancel_confirmation')}\n iconStyle=\"error\"\n confirmColor=\"danger\"\n onConfirm={handleCancel}\n busy={cancelState.loading}\n />\n )}\n </>\n );\n}\n","import { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaRatingStars } from '@salla.sa/twilight-components-react/rating-stars';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useQuery } from '@tanstack/react-query';\nimport { order as orderApi } from '../../../../api/order';\nimport type { FormatMoney, Order, TwigOrder, TwigRating } from './types';\n\nfunction RatingAction({\n disabled,\n endedKey,\n color,\n fill,\n icon,\n onClick,\n}: {\n disabled: boolean;\n endedKey: string;\n color: 'dark' | 'danger';\n fill: 'outline';\n icon: string;\n onClick: () => void;\n}) {\n const { t } = useTranslation();\n return (\n <div className=\"tooltip-toggle tooltip-toggle--hover icon-trigger mobile-shifted\">\n {disabled && (\n <div className=\"tooltip-content shadow-md rounded\">\n <small> {t(endedKey)}.</small>\n </div>\n )}\n <SallaButton\n loaderPosition=\"center\"\n disabled={disabled}\n shape=\"icon\"\n fill={fill}\n color={color}\n size=\"medium\"\n onClick={disabled ? undefined : onClick}\n >\n <i className={`${icon} text-xl`}></i>\n </SallaButton>\n </div>\n );\n}\n\n/** A store or shipping rating the customer left, with its edit / delete buttons. */\nexport function RatingSection({\n title,\n rating,\n type,\n allowUpdate,\n}: {\n title: string;\n rating: TwigRating;\n type: 'store' | 'shipping';\n allowUpdate: boolean;\n}) {\n const dispatch = (event: string, payload: Record<string, unknown>) =>\n window.salla?.event?.dispatch(event, payload);\n const locked = !rating.can_update;\n\n return (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{title}</h2>\n <p className=\"mb-2\">{rating.content}</p>\n <SallaRatingStars withLabel value={rating.stars} />\n </div>\n <div className=\"rating-actions\">\n {allowUpdate && (\n <>\n <RatingAction\n disabled={locked}\n endedKey=\"pages.order.edit_period_ended\"\n color=\"dark\"\n fill=\"outline\"\n icon=\"sicon-format-border-color\"\n onClick={() => dispatch('rating::edit', { type, feedback_id: String(rating.id) })}\n />\n <RatingAction\n disabled={locked}\n endedKey=\"pages.order.delete_period_ended\"\n color=\"danger\"\n fill=\"outline\"\n icon=\"sicon-trash-2\"\n onClick={() => dispatch('rating::delete', { feedback_id: String(rating.id) })}\n />\n </>\n )}\n </div>\n </section>\n );\n}\n\ninterface Shipment {\n id?: number;\n name?: string;\n logo?: string;\n number?: string;\n tracking?: string | null;\n}\n\nfunction ShippingRow({ shipment }: { shipment: Shipment }) {\n const { t } = useTranslation();\n // Twig treats the string \"0\" as empty.\n const hasNumber = !!shipment.number && shipment.number !== '0';\n\n return (\n <div className=\"flex flex-col md:flex-row justify-between md:items-center bg-white px-5 py-3 border-b border-gray-100 rounded-t-md text-sm space-y-4 md:space-y-0\">\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n {shipment.logo && (\n <img src={shipment.logo} className=\"max-w-16 max-h-8\" alt={shipment.name} />\n )}\n <span>{shipment.name}</span>\n </div>\n <div className=\"flex space-x-5 rtl:space-x-reverse\">\n {hasNumber && (\n <span>\n {t('pages.orders.shipment_no')}: <span className=\"font-bold\">{shipment.number}</span>\n </span>\n )}\n {shipment.tracking && (\n <a\n className=\"font-bold text-primary hover:opacity-80 flex items-center\"\n href={shipment.tracking}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <span className=\"sicon-shipping rtl:ml-1 ltr:mr-1\"></span>\n {t('pages.orders.tracking_url')}\n </a>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * The shipping company rows above the items (Twig's per-package titles). The order carries only\n * its first shipment, so the rest come from the shipments endpoint.\n */\nexport function ShippingHeader({ twig, order }: { twig: TwigOrder; order: Order }) {\n const { data } = useQuery({\n ...orderApi.queries.shipments(String(order.id)),\n enabled: order.features.shippable && !twig.is_pickable,\n });\n if (twig.is_pickable) return null;\n\n const shipments: Shipment[] = data?.length\n ? data.map((shipment) => ({ ...shipment, tracking: shipment.tracking_url }))\n : twig.shipping\n ? [{ ...twig.shipping, tracking: twig.shipping.tracing_link }]\n : [];\n\n return (\n <>\n {shipments.map((shipment) => (\n <ShippingRow key={shipment.id ?? shipment.name} shipment={shipment} />\n ))}\n </>\n );\n}\n\n/** An option's price as a number: the API sends a number, `{ amount }` or an empty array. */\nconst optionPrice = (price: unknown): number =>\n typeof price === 'number' ? price : ((price as { amount?: number } | null)?.amount ?? 0);\n\n/** The order-level options table (`order.options`). */\nexport function OrderOptionsTable({\n options,\n money,\n currency,\n}: {\n options: NonNullable<TwigOrder['options']>;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n return (\n <div className=\"bg-white p-5 rounded-md\">\n <h2 className=\"mb-3.5 text-sm font-bold\">{t('pages.checkout.cart_options_title')}</h2>\n <table className=\"table-fixed w-full border border-gray-200\">\n <thead>\n <tr className=\"border-b border-gray-200\">\n <th scope=\"col\" className=\"p-3 text-start text-sm\">\n {t('pages.order.option_name')}\n </th>\n <th scope=\"col\" className=\"p-3 text-sm\">\n {t('pages.order.option_content')}\n </th>\n <th scope=\"col\" className=\"p-3 rtl:text-left ltr:text-right text-sm\">\n {t('pages.products.price')}\n </th>\n </tr>\n </thead>\n <tbody>\n {options.flatMap((option) =>\n (option.options ?? []).map((value) => (\n <tr\n key={`${value.name}:${value.value}`}\n className=\"border-b last:border-b-0 border-gray-200\"\n >\n <td className=\"text-sm p-3\">{value.name} :</td>\n <td className=\"text-center p-3 font-medium text-xs\">{value.value}</td>\n <td className=\"rtl:text-start ltr:text-end p-3 font-medium text-xs\">\n <strong>{money(optionPrice(value.price), currency)}</strong>\n </td>\n </tr>\n ))\n )}\n </tbody>\n </table>\n </div>\n );\n}\n","import { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaRatingModal } from '@salla.sa/twilight-components-react/rating-modal';\nimport { SallaEditOrderButton } from '@salla.sa/twilight-components-react/edit-order-button';\nimport { SallaOrderBranch } from '@salla.sa/twilight-components-react/order-branch';\nimport { SallaOrderTotalsCard } from '@salla.sa/twilight-components-react/order-totals-card';\nimport { HookSlot, usePageConfig } from '../../../hooks';\nimport { useMoney } from '../../../hooks/useMoney';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { useTwilight } from '../../../providers/twilight-context';\nimport type { OrderSinglePageProps } from '../types';\nimport { OrderHeader } from './single/OrderHeader';\nimport { OrderItemRow } from './single/OrderItemRow';\nimport { OrderActions } from './single/OrderActions';\nimport { OrderOptionsTable, RatingSection, ShippingHeader } from './single/OrderSections';\nimport type { TwigOrder } from './single/types';\n\n/** Twig's `inner_title` extras: the gift tag and the edit-order button. */\nfunction TitleRow({ order }: { order: OrderSinglePageProps['order'] }) {\n const { t } = useTranslation();\n return (\n <div className=\"flex justify-between items-center\">\n {order.type === 'buy_as_gift' || order.source?.type === 'buy_as_gift' ? (\n <span className=\"inline-block text-primary\">\n <i className=\"sicon-gift-sharing\"></i> {t('pages.orders.gift_tag')}\n </span>\n ) : (\n <span />\n )}\n <div className=\"flex items-center gap-3 flex-wrap\">\n <SallaEditOrderButton data-testid=\"store-order-edit-btn\" orderId={String(order.id)} />\n </div>\n </div>\n );\n}\n\nfunction RefundMessage({ message }: { message?: string }) {\n if (!message) return null;\n return (\n <div className=\"min-w-full rounded-md overflow-hidden\">\n <div className=\"bg-white flex items-center gap-1 rounded-md px-3 py-5 md:px-5\">\n <i className=\"sicon-refund h-6 w-6\"></i>\n <p className=\"font-medium text-base\" dangerouslySetInnerHTML={{ __html: message }} />\n </div>\n </div>\n );\n}\n\nfunction RatingNotices({ twig }: { twig: TwigOrder }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const settings = store?.settings?.rating;\n const rated = !!twig.rating && !Array.isArray(twig.rating);\n\n return (\n <>\n {settings?.allow_update && rated && (\n <div className=\"flex items-start gap-2 bg-blue-50 border border-blue-200 text-blue-500 px-2 py-3 rounded-md text-sm\">\n <i className=\"sicon-info\"></i>\n <p>\n {t('pages.order.can_edit_or_delete_your_review_within')} {settings.update_period}{' '}\n {t('pages.order.days_since_added')}.\n </p>\n </div>\n )}\n {twig.can_rate && (\n <div className=\"rating-header gradient-bg center-between\">\n <div>\n <h2 className=\"font-bold mb-1\">{t('pages.order.order_rating_title')}</h2>\n <p className=\"text-sm\">{t('pages.order.order_rating_message')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-rate-btn\"\n color=\"light\"\n className=\"btn--rounded-full !text-primary\"\n onClick={() => window.salla?.event?.dispatch('rating::open')}\n >\n {t('pages.rating.rate')}\n </SallaButton>\n </div>\n )}\n </>\n );\n}\n\nfunction OrderRatings({ twig }: { twig: TwigOrder }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const allowUpdate = !!store?.settings?.rating?.allow_update;\n const rating = Array.isArray(twig.rating) ? undefined : twig.rating;\n\n return (\n <>\n {rating?.store?.stars ? (\n <RatingSection\n title={t('pages.rating.rate_the_store')}\n rating={rating.store}\n type=\"store\"\n allowUpdate={allowUpdate}\n />\n ) : null}\n {rating?.shipping?.stars ? (\n <RatingSection\n title={t('pages.rating.rate_shipping')}\n rating={rating.shipping}\n type=\"shipping\"\n allowUpdate={allowUpdate}\n />\n ) : null}\n </>\n );\n}\n\n/**\n * The order page as the Twig storefront renders it (Raed's `pages/customer/orders/single.twig`).\n * The markup and the Twilight components read the order in Twig's shape (`componentsOrder`);\n * `order` supplies what that shape lacks and Twig computed on the server: the actions and the\n * receipt and payment URLs.\n */\nexport function OrderSinglePage({ order, page, componentsOrder }: OrderSinglePageProps) {\n // The order components read the order id from `salla.config.page.id`, which the router\n // only sets on client-side navigations — seed it so a direct load works too.\n usePageConfig(page);\n const { store } = useTwilight();\n const { format } = useMoney();\n const twig = (componentsOrder ?? { items: [] }) as unknown as TwigOrder;\n const paymentExpired =\n order.actions.payable && (order.payment?.pending_payment_ends_at ?? 0) === 0;\n const money = (amount: number, currency?: string) => format(amount, { currency });\n\n return (\n <div className=\"space-y-4\">\n <TitleRow order={order} />\n\n <HookSlot name=\"customer:orders.single.details.start\" />\n\n <OrderHeader order={order} links={twig.links} paymentExpired={paymentExpired} />\n\n {twig.is_pickable && <SallaOrderBranch data-testid=\"store-order-branch\" stackCards />}\n\n <RefundMessage message={order.refund_message} />\n\n <RatingNotices twig={twig} />\n\n <div className=\"overflow-hidden space-y-5\">\n <div className=\"shipping-orders\">\n <ShippingHeader twig={twig} order={order} />\n {order.items.map((item, index) => (\n <OrderItemRow\n key={item.id}\n item={item}\n twigItem={twig.items[index]}\n money={money}\n currency={order.currency}\n />\n ))}\n </div>\n\n {!!twig.options?.length && (\n <OrderOptionsTable options={twig.options} money={money} currency={order.currency} />\n )}\n </div>\n\n {componentsOrder && (\n <SallaOrderTotalsCard\n data-testid=\"store-order-totals\"\n order={JSON.stringify(componentsOrder)}\n />\n )}\n\n <OrderActions order={order} paymentExpired={paymentExpired} />\n\n <OrderRatings twig={twig} />\n\n <HookSlot name=\"customer:orders.single.details.end\" />\n\n {(twig.can_rate || store?.settings?.rating?.allow_update) && (\n <SallaRatingModal data-testid=\"store-order-rating-modal\" />\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/routes/account/orders/single/OrderHeader.tsx","../src/routes/account/orders/single/OrderItemRow.tsx","../src/routes/account/orders/single/OrderActions.tsx","../src/routes/account/orders/single/OrderSections.tsx","../src/routes/account/orders/OrderSinglePage.tsx"],"names":["order","jsx","jsxs","SallaButton","Fragment","useState"],"mappings":"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","file":"OrderSinglePage-LXKINOXP.js","sourcesContent":["import { useState } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { useDate, useNumber } from '../../../../hooks';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useTwilight } from '../../../../providers/twilight-context';\nimport type { Order, TwigOrder } from './types';\n\nconst PRINT_WINDOW = 'noopener, toolbar=yes, scrollbars=yes, resizable=yes, width=900, height=700';\n\nfunction OrderStatus({ order, paymentExpired }: { order: Order; paymentExpired: boolean }) {\n const { t } = useTranslation();\n if (paymentExpired) {\n return <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>;\n }\n return (\n <span\n className=\"text-primary inline-flex items-center rtl:space-x-reverse space-x-1\"\n style={{ color: order.status.color }}\n >\n <i className={`mt-1 ${order.status.icon}`}></i>\n <span> {order.status.name}</span>\n </span>\n );\n}\n\n/** Twig's `order.print_url()`; `urls.receipt` is the buyer's bank-transfer image. */\nfunction PrintAction({ order }: { order: Order }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const [printNoticeOpen, setPrintNoticeOpen] = useState(false);\n const print = () =>\n window.open(\n order.urls.print ??\n `${(store?.url ?? '').replace(/\\/$/, '')}/account/orders/${order.id}/print`,\n '_blank',\n PRINT_WINDOW\n );\n\n return order.actions.invoice_printable === false ? (\n <div\n className={`tooltip-toggle tooltip-toggle--clickable inline-block${printNoticeOpen ? ' visible' : ''}`}\n >\n <button\n type=\"button\"\n className=\"text-primary border border-primary rounded text-center px-4 py-2 cursor-pointer\"\n onClick={() => setPrintNoticeOpen(true)}\n >\n <i className=\"sicon-printer2 v-align\"></i> {t('pages.orders.print')}\n </button>\n <div className=\"tooltip-content shadow-md rounded text-gray-500\">\n <small>\n {' '}\n {t('pages.orders.to_order_invoice_contact_vendor')}\n <br />\n {t('pages.orders.print_order_details')}{' '}\n <button type=\"button\" className=\"text-primary underline cursor-pointer\" onClick={print}>\n {t('pages.orders.click_here')}\n </button>\n </small>\n <SallaButton\n shape=\"link\"\n color=\"danger\"\n size=\"small\"\n className=\"close-tooltip\"\n onClick={() => setPrintNoticeOpen(false)}\n >\n <i className=\"sicon-cancel\"></i>\n </SallaButton>\n </div>\n </div>\n ) : (\n <SallaButton fill=\"outline\" size=\"small\" onClick={print}>\n <i className=\"sicon-printer2 v-align\"></i> {t('pages.orders.print')}\n </SallaButton>\n );\n}\n\n/** The date / status / links / print row at the top of the order page. */\nexport function OrderHeader({\n order,\n links,\n paymentExpired,\n}: {\n order: Order;\n links: TwigOrder['links'];\n paymentExpired: boolean;\n}) {\n const { t, direction } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatNumber } = useNumber();\n\n return (\n <table className=\"min-w-full rounded-md overflow-hidden\">\n <tbody>\n <tr className=\"bg-white overflow-hidden flex md:table-row flex-row md:flex-row flex-wrap md:flex-no-wrap py-1.5 md:py-0\">\n <td\n data-testid=\"store-order-status\"\n className=\"single-order-header-item w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm \"\n >\n <div className=\"rtl:ml-2 ltr:mr-2 font-normal text-gray-400\">\n {t('pages.orders.date')}\n </div>\n <b>{formatNumber(formatDate(order.created_at.date))}</b>\n </td>\n\n <td className=\"single-order-header-item flex justify-between items-center w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm \">\n <OrderStatus order={order} paymentExpired={paymentExpired} />\n\n <div className=\"flex items-center justify-between\">\n {order.type === 'quote' && (\n <span className=\"text-red-500 ml-4\">\n {t('pages.orders.your_order_is_under_review')}\n </span>\n )}\n\n {!!links?.length && (\n <div className=\"flex space-x-2 rtl:space-x-reverse text-start flex-none px-2\">\n {links.map((link) => (\n <a\n key={link.url}\n href={link.url}\n className=\"text-primary-reverse bg-primary px-4 py-2 rounded\"\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n {link.label}{' '}\n <i\n className={\n direction === 'rtl' ? 'sicon-arrow-up-left' : 'sicon-arrow-up-right'\n }\n ></i>\n </a>\n ))}\n </div>\n )}\n <PrintAction order={order} />\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n );\n}\n","import { createElement } from 'react';\nimport { SallaOrderDetails } from '@salla.sa/twilight-components-react/order-details';\nimport { useDate, useNumber } from '../../../../hooks';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport type { FormatMoney, OrderItem, TwigItem } from './types';\n\nfunction ItemAttachments({ item }: { item: OrderItem }) {\n const { t } = useTranslation();\n if (!item.attachments?.length) return null;\n return (\n <div className=\"flow-root rounded-md px-4 border border-gray-200\">\n <dl className=\"text-sm text-dark divide-y divide-border-color\">\n {item.attachments.map((attachment) => (\n <div\n key={`${attachment.type}:${attachment.url}`}\n className=\"py-3.5 md:flex items-center justify-between\"\n >\n <dt className=\"mb-2 md:mb-0\">{t('pages.products.attachments')}</dt>\n <dd\n className={`font-medium ${attachment.type === 'image' ? 'text-gray-900' : 'text-xs'}`}\n >\n {attachment.type === 'image' ? (\n <div className=\"flex rtl:space-x-reverse space-x-2.5\">\n <a href={attachment.url} target=\"_blank\" rel=\"noreferrer\">\n <img\n className=\"h-7 w-7 object-cover rounded-md\"\n src={attachment.url}\n alt={item.name}\n />\n </a>\n </div>\n ) : (\n <a href={attachment.url}>{t('pages.orders.file_url')}</a>\n )}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n );\n}\n\n/** A date-only day (`2026-09-20`) as that calendar day wherever it is formatted, not UTC midnight. */\nfunction calendarDay(day: unknown): Date | string {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(String(day));\n return match ? new Date(+match[1], +match[2] - 1, +match[3]) : String(day);\n}\n\n/** Twig's booking block: the location and each reservation's day and time. */\nfunction ItemReservations({ item, productType }: { item: OrderItem; productType?: string }) {\n const { t } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatNumber, useArabicNumerals } = useNumber();\n const reservations = item.product_reservations ?? [];\n if (productType !== 'booking' || !reservations.length) return null;\n const time = (value: unknown) =>\n useArabicNumerals\n ? formatNumber(String(value)).replace(/PM/g, 'م').replace(/AM/g, 'ص')\n : String(value);\n\n return (\n <>\n {item.booking_location && (\n <ul className=\"font-medium text-xs text-gray-600\">\n <li className=\"py-1 flex justify-between items-baseline\">\n <span className=\"mt-5 mb-3.5 text-sm font-bold\">{t('common.elements.location')}</span>\n <span className=\"text-unicode\">{item.booking_location}</span>\n </li>\n </ul>\n )}\n <h2 className=\"mt-5 mb-3.5 text-sm font-bold\">\n {reservations.length > 1 ? t('pages.cart.reservations') : t('pages.cart.item_options')}\n </h2>\n <div className=\"rounded-md p-4 border border-gray-200 mb-2\">\n <ul className=\"font-medium text-xs text-gray-600\">\n {reservations.map((reservation) => (\n <li key={`${reservation.day}:${reservation.from}`} className=\"py-1\">\n <span className=\"text-unicode\">\n {formatNumber(formatDate(calendarDay(reservation.day)))}\n {reservation.from_timestamp\n ? ` (${time(reservation.from)} - ${time(reservation.to)})`\n : ''}\n </span>\n </li>\n ))}\n </ul>\n </div>\n </>\n );\n}\n\nfunction ItemSummary({\n item,\n twigItem,\n money,\n currency,\n}: {\n item: OrderItem;\n twigItem?: TwigItem;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n const product = twigItem?.product;\n const image = product?.image?.url || item.image || item.thumbnail;\n const price = item.amounts.amount ?? { amount: 0, currency };\n const priceText = money(price.amount, price.currency);\n const total = item.amounts.total ?? { amount: 0, currency };\n\n return (\n <div className=\"mb-5 last:mb-0\">\n {product ? (\n <div className=\"flex rtl:space-x-reverse space-x-5 mb-4\">\n <a href={product.url} className=\"shrink-0\">\n <img\n src={image || '/images/placeholder.png'}\n alt={item.name}\n className={`w-18 h-14 object-${image ? 'cover' : 'contain'} rounded-md`}\n />\n </a>\n <div>\n <a\n href={product.url}\n className=\"block leading-5 mb-1.5 md:text-base font-semibold transition-colors text-gray-500 hover:text-primary\"\n >\n {item.name}\n </a>\n <b>{priceText}</b>\n </div>\n </div>\n ) : (\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{item.name}</span>\n <b>{priceText}</b>\n </div>\n )}\n\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{t('pages.products.quantity')}</span>\n <b>{item.quantity}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\" w-40 inline-block font-normal\">{t('pages.products.price')}</span>\n <b>{priceText}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{t('pages.orders.total')}</span>\n <b>{money(total.amount, total.currency)}</b>\n </div>\n </div>\n );\n}\n\n/** One item of the order page (the body of `{% for item in package.items %}`). */\nexport function OrderItemRow({\n item,\n twigItem,\n money,\n currency,\n}: {\n item: OrderItem;\n twigItem?: TwigItem;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n const productId = twigItem?.product?.id;\n\n return (\n <div\n data-testid={`store-order-item-${item.id}`}\n data-order-item-id={item.id}\n data-order-item-product-id={productId}\n className=\"order-item bg-white p-5 border-b border-gray-100 first:rounded-t-md last:rounded-b-md last:border-none\"\n >\n <ItemSummary item={item} twigItem={twigItem} money={money} currency={currency} />\n\n {item.availability_date && (\n <div className=\"flex gap-2 text-sm py-2.5 text-blue-500\">\n <i className=\"sicon-info\"></i>\n <span>\n {t('pages.products.expected_to_be')}:{' '}\n <b>{String(item.availability_date).slice(0, 10)}</b>\n </span>\n </div>\n )}\n\n <ItemReservations item={item} productType={twigItem?.product?.type ?? item.product?.type} />\n\n <SallaOrderDetails orderDetails={JSON.stringify(twigItem ?? item)} />\n\n {item.note && (\n <p className=\"mt-3 text-sm text-gray-500\">\n <span>{t('common.elements.note')} : </span>\n {item.note}\n </p>\n )}\n\n <ItemAttachments item={item} />\n\n {/* No React wrapper yet; Twilight upgrades it (adds `hydrated`) before React hydrates. */}\n {productId &&\n createElement('salla-review-order-item', {\n 'product-id': productId,\n suppressHydrationWarning: true,\n })}\n </div>\n );\n}\n","import { useState } from 'react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaModal } from '@salla.sa/twilight-components-react/modal';\nimport { useIsClient, useUser } from '../../../../hooks';\nimport { useAsyncFn } from '../../../../hooks/useAsyncFn';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useLocation, useNavigate } from '../../../../providers/NavigationProvider';\nimport type { Order } from './types';\n\nfunction ConfirmModal({\n visible,\n onVisibleChange,\n title,\n subTitle,\n iconStyle,\n confirmColor,\n onConfirm,\n busy,\n}: {\n visible: boolean;\n onVisibleChange: (visible: boolean) => void;\n title: string;\n subTitle: string;\n iconStyle: 'success' | 'error';\n confirmColor?: 'danger';\n onConfirm: () => void;\n busy: boolean;\n}) {\n const { t } = useTranslation();\n // The modal wrapper renders only in the browser, so mount after hydration to match the server.\n const isClient = useIsClient();\n if (!isClient) return null;\n return (\n <SallaModal\n width=\"sm\"\n visible={visible}\n onModalVisibilityChanged={(e) => onVisibleChange(Boolean(e.detail))}\n {...{ 'modal-title': title }}\n subTitle={subTitle}\n iconStyle={iconStyle}\n >\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton\n width=\"wide\"\n color={confirmColor}\n className=\"w-full cursor-pointer\"\n onClick={onConfirm}\n disabled={busy}\n >\n {t('common.elements.ok')}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => onVisibleChange(false)}\n disabled={busy}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n );\n}\n\nfunction PaymentOrReorder({\n order,\n paymentExpired,\n canReorder,\n onReorder,\n busy,\n}: {\n order: Order;\n paymentExpired: boolean;\n canReorder: boolean;\n onReorder: () => void;\n busy: boolean;\n}) {\n const { t } = useTranslation();\n if (order.actions.payable) {\n return paymentExpired || !order.urls.checkout ? (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n ) : (\n <SallaButton width=\"wide\" href={order.urls.checkout}>\n <i className=\"sicon sicon-wallet rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.finish_payment')}</span>\n </SallaButton>\n );\n }\n if (!canReorder) return null;\n return (\n <>\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.reorder')}</h3>\n <p className=\"text-gray-500\">{t('pages.orders.reorder_description')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-reorder-btn\"\n shape=\"link\"\n onClick={onReorder}\n disabled={busy}\n >\n <i className=\"sicon sicon-rotate rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.reorder')}</span>\n </SallaButton>\n </>\n );\n}\n\n/** The \"Reorder & Cancel\" card, its pending-payment state and the two confirmations. */\nexport function OrderActions({ order, paymentExpired }: { order: Order; paymentExpired: boolean }) {\n const { t } = useTranslation();\n // Token-based, so the server and the first client render agree (the user query loads later).\n const { isLoggedIn } = useUser();\n const navigate = useNavigate();\n const location = useLocation();\n const [showReorder, setShowReorder] = useState(false);\n const [showCancel, setShowCancel] = useState(false);\n const { reorderable, cancellable, payable } = order.actions;\n const canReorder = isLoggedIn && reorderable;\n\n const [reorderState, handleReorder] = useAsyncFn(async () => {\n await window.salla?.order.createCartFromOrder(Number(order.id));\n setShowReorder(false);\n navigate('/cart');\n }, [navigate, order.id]);\n\n const [cancelState, handleCancel] = useAsyncFn(async () => {\n await window.salla?.order.cancel(Number(order.id));\n setShowCancel(false);\n navigate(location.pathname, { replace: true });\n }, [navigate, order.id, location.pathname]);\n\n if (!reorderable && !cancellable && !payable) return null;\n\n return (\n <>\n <div className=\"bg-white rounded-md p-5 divide-y divide-border-color space-y-4\">\n {(reorderable || payable) && (\n <div className={payable ? 'flex-center' : 'center-between'}>\n <PaymentOrReorder\n order={order}\n paymentExpired={paymentExpired}\n canReorder={!!canReorder}\n onReorder={() => setShowReorder(true)}\n busy={reorderState.loading}\n />\n </div>\n )}\n\n {cancellable && (\n <div className=\"center-between pt-4\">\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.cancel')}</h3>\n <p className=\"text-gray-500\">{t('pages.order.order_cancelation_desc')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-cancel-btn\"\n shape=\"link\"\n color=\"danger\"\n onClick={() => setShowCancel(true)}\n disabled={cancelState.loading}\n >\n <i className=\"sicon sicon-cancel-circle rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.cancel')}</span>\n </SallaButton>\n </div>\n )}\n </div>\n\n {/* Always mounted: salla-modal moves itself under <body> and opens from `visible`. */}\n {canReorder && (\n <ConfirmModal\n visible={showReorder}\n onVisibleChange={setShowReorder}\n title={t('pages.orders.reorder')}\n subTitle={t('pages.orders.reorder_confirmation')}\n iconStyle=\"success\"\n onConfirm={handleReorder}\n busy={reorderState.loading}\n />\n )}\n {cancellable && (\n <ConfirmModal\n visible={showCancel}\n onVisibleChange={setShowCancel}\n title={t('common.elements.warning')}\n subTitle={t('pages.orders.cancel_confirmation')}\n iconStyle=\"error\"\n confirmColor=\"danger\"\n onConfirm={handleCancel}\n busy={cancelState.loading}\n />\n )}\n </>\n );\n}\n","import { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaRatingStars } from '@salla.sa/twilight-components-react/rating-stars';\nimport { useTranslation } from '../../../../providers/I18nProvider';\nimport { useQuery } from '@tanstack/react-query';\nimport { order as orderApi } from '../../../../api/order';\nimport type { FormatMoney, Order, TwigOrder, TwigRating } from './types';\n\nfunction RatingAction({\n disabled,\n endedKey,\n color,\n fill,\n icon,\n onClick,\n}: {\n disabled: boolean;\n endedKey: string;\n color: 'dark' | 'danger';\n fill: 'outline';\n icon: string;\n onClick: () => void;\n}) {\n const { t } = useTranslation();\n return (\n <div className=\"tooltip-toggle tooltip-toggle--hover icon-trigger mobile-shifted\">\n {disabled && (\n <div className=\"tooltip-content shadow-md rounded\">\n <small> {t(endedKey)}.</small>\n </div>\n )}\n <SallaButton\n loaderPosition=\"center\"\n disabled={disabled}\n shape=\"icon\"\n fill={fill}\n color={color}\n size=\"medium\"\n onClick={disabled ? undefined : onClick}\n >\n <i className={`${icon} text-xl`}></i>\n </SallaButton>\n </div>\n );\n}\n\n/** A store or shipping rating the customer left, with its edit / delete buttons. */\nexport function RatingSection({\n title,\n rating,\n type,\n allowUpdate,\n}: {\n title: string;\n rating: TwigRating;\n type: 'store' | 'shipping';\n allowUpdate: boolean;\n}) {\n const dispatch = (event: string, payload: Record<string, unknown>) =>\n window.salla?.event?.dispatch(event, payload);\n const locked = !rating.can_update;\n\n return (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{title}</h2>\n <p className=\"mb-2\">{rating.content}</p>\n <SallaRatingStars withLabel value={rating.stars} />\n </div>\n <div className=\"rating-actions\">\n {allowUpdate && (\n <>\n <RatingAction\n disabled={locked}\n endedKey=\"pages.order.edit_period_ended\"\n color=\"dark\"\n fill=\"outline\"\n icon=\"sicon-format-border-color\"\n onClick={() => dispatch('rating::edit', { type, feedback_id: String(rating.id) })}\n />\n <RatingAction\n disabled={locked}\n endedKey=\"pages.order.delete_period_ended\"\n color=\"danger\"\n fill=\"outline\"\n icon=\"sicon-trash-2\"\n onClick={() => dispatch('rating::delete', { feedback_id: String(rating.id) })}\n />\n </>\n )}\n </div>\n </section>\n );\n}\n\ninterface Shipment {\n id?: number;\n name?: string;\n logo?: string;\n number?: string;\n tracking?: string | null;\n}\n\nfunction ShippingRow({ shipment }: { shipment: Shipment }) {\n const { t } = useTranslation();\n // Twig treats the string \"0\" as empty.\n const hasNumber = !!shipment.number && shipment.number !== '0';\n\n return (\n <div className=\"flex flex-col md:flex-row justify-between md:items-center bg-white px-5 py-3 border-b border-gray-100 rounded-t-md text-sm space-y-4 md:space-y-0\">\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n {shipment.logo && (\n <img src={shipment.logo} className=\"max-w-16 max-h-8\" alt={shipment.name} />\n )}\n <span>{shipment.name}</span>\n </div>\n <div className=\"flex space-x-5 rtl:space-x-reverse\">\n {hasNumber && (\n <span>\n {t('pages.orders.shipment_no')}: <span className=\"font-bold\">{shipment.number}</span>\n </span>\n )}\n {shipment.tracking && (\n <a\n className=\"font-bold text-primary hover:opacity-80 flex items-center\"\n href={shipment.tracking}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <span className=\"sicon-shipping rtl:ml-1 ltr:mr-1\"></span>\n {t('pages.orders.tracking_url')}\n </a>\n )}\n </div>\n </div>\n );\n}\n\n/**\n * The shipping company rows above the items (Twig's per-package titles). The order carries only\n * its first shipment, so the rest come from the shipments endpoint.\n */\nexport function ShippingHeader({ twig, order }: { twig: TwigOrder; order: Order }) {\n const { data } = useQuery({\n ...orderApi.queries.shipments(String(order.id)),\n enabled: order.features.shippable && !twig.is_pickable,\n });\n if (twig.is_pickable) return null;\n\n const shipments: Shipment[] = data?.length\n ? data.map((shipment) => ({ ...shipment, tracking: shipment.tracking_url }))\n : twig.shipping\n ? [{ ...twig.shipping, tracking: twig.shipping.tracing_link }]\n : [];\n\n return (\n <>\n {shipments.map((shipment) => (\n <ShippingRow key={shipment.id ?? shipment.name} shipment={shipment} />\n ))}\n </>\n );\n}\n\n/** An option's price as a number: the API sends a number, `{ amount }` or an empty array. */\nconst optionPrice = (price: unknown): number =>\n typeof price === 'number' ? price : ((price as { amount?: number } | null)?.amount ?? 0);\n\n/** The order-level options table (`order.options`). */\nexport function OrderOptionsTable({\n options,\n money,\n currency,\n}: {\n options: NonNullable<TwigOrder['options']>;\n money: FormatMoney;\n currency: string;\n}) {\n const { t } = useTranslation();\n return (\n <div className=\"bg-white p-5 rounded-md\">\n <h2 className=\"mb-3.5 text-sm font-bold\">{t('pages.checkout.cart_options_title')}</h2>\n <table className=\"table-fixed w-full border border-gray-200\">\n <thead>\n <tr className=\"border-b border-gray-200\">\n <th scope=\"col\" className=\"p-3 text-start text-sm\">\n {t('pages.order.option_name')}\n </th>\n <th scope=\"col\" className=\"p-3 text-sm\">\n {t('pages.order.option_content')}\n </th>\n <th scope=\"col\" className=\"p-3 rtl:text-left ltr:text-right text-sm\">\n {t('pages.products.price')}\n </th>\n </tr>\n </thead>\n <tbody>\n {options.flatMap((option) =>\n (option.options ?? []).map((value) => (\n <tr\n key={`${value.name}:${value.value}`}\n className=\"border-b last:border-b-0 border-gray-200\"\n >\n <td className=\"text-sm p-3\">{value.name} :</td>\n <td className=\"text-center p-3 font-medium text-xs\">{value.value}</td>\n <td className=\"rtl:text-start ltr:text-end p-3 font-medium text-xs\">\n <strong>{money(optionPrice(value.price), currency)}</strong>\n </td>\n </tr>\n ))\n )}\n </tbody>\n </table>\n </div>\n );\n}\n","import { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaRatingModal } from '@salla.sa/twilight-components-react/rating-modal';\nimport { SallaEditOrderButton } from '@salla.sa/twilight-components-react/edit-order-button';\nimport { SallaOrderBranch } from '@salla.sa/twilight-components-react/order-branch';\nimport { SallaOrderTotalsCard } from '@salla.sa/twilight-components-react/order-totals-card';\nimport { HookSlot, usePageConfig } from '../../../hooks';\nimport { useMoney } from '../../../hooks/useMoney';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { useTwilight } from '../../../providers/twilight-context';\nimport type { OrderSinglePageProps } from '../types';\nimport { OrderHeader } from './single/OrderHeader';\nimport { OrderItemRow } from './single/OrderItemRow';\nimport { OrderActions } from './single/OrderActions';\nimport { OrderOptionsTable, RatingSection, ShippingHeader } from './single/OrderSections';\nimport type { TwigOrder } from './single/types';\n\n/** Twig's `inner_title` extras: the gift tag and the edit-order button. */\nfunction TitleRow({ order }: { order: OrderSinglePageProps['order'] }) {\n const { t } = useTranslation();\n return (\n <div className=\"flex justify-between items-center\">\n {order.type === 'buy_as_gift' || order.source?.type === 'buy_as_gift' ? (\n <span className=\"inline-block text-primary\">\n <i className=\"sicon-gift-sharing\"></i> {t('pages.orders.gift_tag')}\n </span>\n ) : (\n <span />\n )}\n <div className=\"flex items-center gap-3 flex-wrap\">\n <SallaEditOrderButton data-testid=\"store-order-edit-btn\" orderId={String(order.id)} />\n </div>\n </div>\n );\n}\n\nfunction RefundMessage({ message }: { message?: string }) {\n if (!message) return null;\n return (\n <div className=\"min-w-full rounded-md overflow-hidden\">\n <div className=\"bg-white flex items-center gap-1 rounded-md px-3 py-5 md:px-5\">\n <i className=\"sicon-refund h-6 w-6\"></i>\n <p className=\"font-medium text-base\" dangerouslySetInnerHTML={{ __html: message }} />\n </div>\n </div>\n );\n}\n\nfunction RatingNotices({ twig }: { twig: TwigOrder }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const settings = store?.settings?.rating;\n const rated = !!twig.rating && !Array.isArray(twig.rating);\n\n return (\n <>\n {settings?.allow_update && rated && (\n <div className=\"flex items-start gap-2 bg-blue-50 border border-blue-200 text-blue-500 px-2 py-3 rounded-md text-sm\">\n <i className=\"sicon-info\"></i>\n <p>\n {t('pages.order.can_edit_or_delete_your_review_within')} {settings.update_period}{' '}\n {t('pages.order.days_since_added')}.\n </p>\n </div>\n )}\n {twig.can_rate && (\n <div className=\"rating-header gradient-bg center-between\">\n <div>\n <h2 className=\"font-bold mb-1\">{t('pages.order.order_rating_title')}</h2>\n <p className=\"text-sm\">{t('pages.order.order_rating_message')}</p>\n </div>\n <SallaButton\n data-testid=\"store-order-rate-btn\"\n color=\"light\"\n className=\"btn--rounded-full !text-primary\"\n onClick={() => window.salla?.event?.dispatch('rating::open')}\n >\n {t('pages.rating.rate')}\n </SallaButton>\n </div>\n )}\n </>\n );\n}\n\nfunction OrderRatings({ twig }: { twig: TwigOrder }) {\n const { t } = useTranslation();\n const { store } = useTwilight();\n const allowUpdate = !!store?.settings?.rating?.allow_update;\n const rating = Array.isArray(twig.rating) ? undefined : twig.rating;\n\n return (\n <>\n {rating?.store?.stars ? (\n <RatingSection\n title={t('pages.rating.rate_the_store')}\n rating={rating.store}\n type=\"store\"\n allowUpdate={allowUpdate}\n />\n ) : null}\n {rating?.shipping?.stars ? (\n <RatingSection\n title={t('pages.rating.rate_shipping')}\n rating={rating.shipping}\n type=\"shipping\"\n allowUpdate={allowUpdate}\n />\n ) : null}\n </>\n );\n}\n\n/**\n * The order page as the Twig storefront renders it (Raed's `pages/customer/orders/single.twig`).\n * The markup and the Twilight components read the order in Twig's shape (`componentsOrder`);\n * `order` supplies what that shape lacks and Twig computed on the server: the actions and the\n * receipt and payment URLs.\n */\nexport function OrderSinglePage({ order, page, componentsOrder }: OrderSinglePageProps) {\n // The order components read the order id from `salla.config.page.id`, which the router\n // only sets on client-side navigations — seed it so a direct load works too.\n usePageConfig(page);\n const { store } = useTwilight();\n const { format } = useMoney();\n const twig = (componentsOrder ?? { items: [] }) as unknown as TwigOrder;\n const paymentExpired =\n order.actions.payable && (order.payment?.pending_payment_ends_at ?? 0) === 0;\n const money = (amount: number, currency?: string) => format(amount, { currency });\n\n return (\n <div className=\"space-y-4\">\n <TitleRow order={order} />\n\n <HookSlot name=\"customer:orders.single.details.start\" />\n\n <OrderHeader order={order} links={twig.links} paymentExpired={paymentExpired} />\n\n {twig.is_pickable && <SallaOrderBranch data-testid=\"store-order-branch\" stackCards />}\n\n <RefundMessage message={order.refund_message} />\n\n <RatingNotices twig={twig} />\n\n <div className=\"overflow-hidden space-y-5\">\n <div className=\"shipping-orders\">\n <ShippingHeader twig={twig} order={order} />\n {order.items.map((item, index) => (\n <OrderItemRow\n key={item.id}\n item={item}\n twigItem={twig.items[index]}\n money={money}\n currency={order.currency}\n />\n ))}\n </div>\n\n {!!twig.options?.length && (\n <OrderOptionsTable options={twig.options} money={money} currency={order.currency} />\n )}\n </div>\n\n {componentsOrder && (\n <SallaOrderTotalsCard\n data-testid=\"store-order-totals\"\n order={JSON.stringify(componentsOrder)}\n />\n )}\n\n <OrderActions order={order} paymentExpired={paymentExpired} />\n\n <OrderRatings twig={twig} />\n\n <HookSlot name=\"customer:orders.single.details.end\" />\n\n {(twig.can_rate || store?.settings?.rating?.allow_update) && (\n <SallaRatingModal data-testid=\"store-order-rating-modal\" />\n )}\n </div>\n );\n}\n"]}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import './chunk-
|
|
1
|
+
import './chunk-YKNDXZAD.js';
|
|
2
2
|
import './chunk-H2QBHOF2.js';
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
3
|
+
import './chunk-X5QZBD5V.js';
|
|
4
|
+
import './chunk-4CM6JIQF.js';
|
|
5
|
+
import './chunk-SXI2XBCC.js';
|
|
6
|
+
import './chunk-X55R4VVK.js';
|
|
7
|
+
import './chunk-25UDBM27.js';
|
|
8
8
|
import './chunk-OXMUPNMH.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-7U5OLKOS.js';
|
|
10
10
|
import './chunk-VVZNW5CB.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-WQPG22DY.js';
|
|
12
12
|
import './chunk-GD26FI4J.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
13
|
+
import './chunk-Q7E4TNN7.js';
|
|
14
|
+
import './chunk-RYGEIQWO.js';
|
|
15
|
+
import './chunk-RLJLG4EN.js';
|
|
16
16
|
import './chunk-OUW6WESU.js';
|
|
17
|
-
import './chunk-
|
|
17
|
+
import './chunk-HOJ5E2PG.js';
|
|
18
18
|
import './chunk-HI5V5X3S.js';
|
|
19
|
-
import './chunk-
|
|
20
|
-
import './chunk-
|
|
19
|
+
import './chunk-WVSGVFMM.js';
|
|
20
|
+
import './chunk-XHWBJYJL.js';
|
|
21
21
|
import './chunk-MVT5AF2A.js';
|
|
22
22
|
import './chunk-Z653O7MX.js';
|
|
23
23
|
import './chunk-ZCH7W7DZ.js';
|
|
24
|
-
import './chunk-
|
|
24
|
+
import './chunk-TF6HFXTW.js';
|
|
25
25
|
import './chunk-JWXJPJBO.js';
|
|
26
26
|
import './chunk-CW625T2E.js';
|
|
27
27
|
import './chunk-7V36I5GT.js';
|
|
28
28
|
import './chunk-6WI7R2BD.js';
|
|
29
|
-
import './chunk-
|
|
29
|
+
import './chunk-LFHYQ6AN.js';
|
|
30
30
|
import './chunk-OAMIDZKW.js';
|
|
31
|
-
import './chunk-
|
|
31
|
+
import './chunk-WEKO2DAN.js';
|
|
32
32
|
import './chunk-OQIIJRAS.js';
|
|
33
33
|
import './chunk-V2ZDTY6H.js';
|
|
34
|
-
import './chunk-
|
|
34
|
+
import './chunk-5A37NING.js';
|
|
35
35
|
import { HookSlot } from './chunk-5XDPAKF5.js';
|
|
36
36
|
import './chunk-GCPEMNSU.js';
|
|
37
|
-
import './chunk-
|
|
37
|
+
import './chunk-E5DP3MHE.js';
|
|
38
38
|
import './chunk-Z5M4YYWT.js';
|
|
39
39
|
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
40
|
-
import './chunk-
|
|
40
|
+
import './chunk-MWG734P7.js';
|
|
41
41
|
import './chunk-AXW67SY7.js';
|
|
42
42
|
import './chunk-BYMOPN2S.js';
|
|
43
43
|
import './chunk-SKLEJJ6M.js';
|
|
@@ -45,11 +45,11 @@ import './chunk-6BZ5TKEV.js';
|
|
|
45
45
|
import './chunk-FZKRSGLP.js';
|
|
46
46
|
import './chunk-7V5HOZW4.js';
|
|
47
47
|
import './chunk-YA6ABQB7.js';
|
|
48
|
-
import './chunk-
|
|
49
|
-
import './chunk-
|
|
50
|
-
import './chunk-
|
|
51
|
-
import './chunk-
|
|
52
|
-
import './chunk-
|
|
48
|
+
import './chunk-MWYKP7CI.js';
|
|
49
|
+
import './chunk-3E3ABCPC.js';
|
|
50
|
+
import './chunk-NHA4SBKG.js';
|
|
51
|
+
import './chunk-FXVII733.js';
|
|
52
|
+
import './chunk-6K34BCUP.js';
|
|
53
53
|
import './chunk-T72DAX7R.js';
|
|
54
54
|
import './chunk-DF6FBKDN.js';
|
|
55
55
|
import './chunk-DGUM43GV.js';
|
|
@@ -75,5 +75,5 @@ function OrdersPage({ orders, query }) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export { OrdersPage };
|
|
78
|
-
//# sourceMappingURL=OrdersPage-
|
|
79
|
-
//# sourceMappingURL=OrdersPage-
|
|
78
|
+
//# sourceMappingURL=OrdersPage-VBF3P3JH.js.map
|
|
79
|
+
//# sourceMappingURL=OrdersPage-VBF3P3JH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/account/orders/OrdersPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,UAAA,CAAW,EAAE,MAAA,EAAQ,KAAA,EAAM,EAAoB;AAC7D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,mCAAA,EAAoC,CAAA;AAAA,IAClD,OAAO,MAAA,mBACN,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,mBAAA;AAAA,QAEZ,QAAQ,KAAA,EAAO,MAAA,GAAU,EAAE,MAAA,EAAQ,KAAA,CAAM,QAAO,GAAc;AAAA;AAAA,wBAGhE,IAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,oBAAA,EAAqB,WAAU,wBAAA,EAC9C,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uBAAA,EAAwB,CAAA;AAAA,sBACrC,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,CAAA,CAAE,yBAAyB,CAAA,EAAE;AAAA,KAAA,EACnC,CAAA;AAAA,oBAEF,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,iCAAA,EAAkC;AAAA,GAAA,EACnD,CAAA;AAEJ","file":"OrdersPage-
|
|
1
|
+
{"version":3,"sources":["../src/routes/account/orders/OrdersPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,SAAS,UAAA,CAAW,EAAE,MAAA,EAAQ,KAAA,EAAM,EAAoB;AAC7D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,mCAAA,EAAoC,CAAA;AAAA,IAClD,OAAO,MAAA,mBACN,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAY,mBAAA;AAAA,QAEZ,QAAQ,KAAA,EAAO,MAAA,GAAU,EAAE,MAAA,EAAQ,KAAA,CAAM,QAAO,GAAc;AAAA;AAAA,wBAGhE,IAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,oBAAA,EAAqB,WAAU,wBAAA,EAC9C,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uBAAA,EAAwB,CAAA;AAAA,sBACrC,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,CAAA,CAAE,yBAAyB,CAAA,EAAE;AAAA,KAAA,EACnC,CAAA;AAAA,oBAEF,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,iCAAA,EAAkC;AAAA,GAAA,EACnD,CAAA;AAEJ","file":"OrdersPage-VBF3P3JH.js","sourcesContent":["import { SallaOrders } from '@salla.sa/twilight-components-react/orders';\nimport { HookSlot } from '../../../hooks';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport type { OrdersPageProps } from './types';\n\n/** The orders list as the Twig storefront renders it: `<salla-orders>` loads and shows it. */\nexport function OrdersPage({ orders, query }: OrdersPageProps) {\n const { t } = useTranslation();\n\n return (\n <>\n <HookSlot name=\"customer:orders.index.items.start\" />\n {orders.length ? (\n <SallaOrders\n data-testid=\"store-orders-list\"\n // Typed as status ids; the API also takes the `pending` slug the loader uses.\n params={query?.status ? ({ status: query.status } as never) : undefined}\n />\n ) : (\n <div data-testid=\"store-orders-empty\" className=\"no-content-placeholder\">\n <i className=\"sicon-packed-box icon\"></i>\n <p>{t('pages.orders.non_orders')}</p>\n </div>\n )}\n <HookSlot name=\"customer:orders.index.items.end\" />\n </>\n );\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { useComments } from './chunk-
|
|
2
|
-
import { LazyBreadcrumb } from './chunk-
|
|
1
|
+
import { useComments } from './chunk-HOJ5E2PG.js';
|
|
2
|
+
import { LazyBreadcrumb } from './chunk-MWG734P7.js';
|
|
3
3
|
import './chunk-AXW67SY7.js';
|
|
4
4
|
import './chunk-BYMOPN2S.js';
|
|
5
5
|
import './chunk-SKLEJJ6M.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
6
|
+
import './chunk-NHA4SBKG.js';
|
|
7
|
+
import './chunk-FXVII733.js';
|
|
8
|
+
import './chunk-6K34BCUP.js';
|
|
9
9
|
import './chunk-T72DAX7R.js';
|
|
10
10
|
import './chunk-DGUM43GV.js';
|
|
11
11
|
import { useMemo } from 'react';
|
|
@@ -29,5 +29,5 @@ function PageSingle({ page }) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export { PageSingle };
|
|
32
|
-
//# sourceMappingURL=PageSingle-
|
|
33
|
-
//# sourceMappingURL=PageSingle-
|
|
32
|
+
//# sourceMappingURL=PageSingle-E7DTNIY7.js.map
|
|
33
|
+
//# sourceMappingURL=PageSingle-E7DTNIY7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/page/PageSingle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAMO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAK,EAAoB;AACpD,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,WAAA,EAAY;AAGpC,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM;AACjC,IAAA,IAAI,CAAC,IAAA,CAAK,OAAA,EAAS,OAAO,EAAA;AAE1B,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,OAAA,CAAQ,SAAA,EAAW,GAAG,CAAA;AAAA,EAC5C,CAAA,EAAG,CAAC,IAAA,CAAK,OAAO,CAAC,CAAA;AAEjB,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAoB,SAAA,EAAU,WAAA,EAC7B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,kBAAW,IAAA,EAAY,CAAA;AAAA,wBAEvB,KAAA,EAAA,EAAI,SAAA,EAAU,uBACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0FAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,IAAA,CAAK,KAAA,EAAM,CAAA;AAAA,MACnD,YAAA,wBACE,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAgB,uBAAA,EAAyB,EAAE,MAAA,EAAQ,YAAA,EAAa,EAAG,CAAA;AAAA,MAEnF,IAAA,CAAK,EAAA,oBACJ,GAAA,CAAC,aAAA,EAAA,EAAgC,MAAA,EAAQ,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA,EAAG,IAAA,EAAM,MAAA,EAAA,EAA5C,WAA2D;AAAA,KAAA,EAEnF,CAAA,EACF;AAAA,GAAA,EAAA,EAbQ,KAAK,IAcf,CAAA;AAEJ","file":"PageSingle-
|
|
1
|
+
{"version":3,"sources":["../src/routes/page/PageSingle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAMO,SAAS,UAAA,CAAW,EAAE,IAAA,EAAK,EAAoB;AACpD,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,WAAA,EAAY;AAGpC,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM;AACjC,IAAA,IAAI,CAAC,IAAA,CAAK,OAAA,EAAS,OAAO,EAAA;AAE1B,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,OAAA,CAAQ,SAAA,EAAW,GAAG,CAAA;AAAA,EAC5C,CAAA,EAAG,CAAC,IAAA,CAAK,OAAO,CAAC,CAAA;AAEjB,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAoB,SAAA,EAAU,WAAA,EAC7B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,kBAAW,IAAA,EAAY,CAAA;AAAA,wBAEvB,KAAA,EAAA,EAAI,SAAA,EAAU,uBACb,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0FAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,IAAA,CAAK,KAAA,EAAM,CAAA;AAAA,MACnD,YAAA,wBACE,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAgB,uBAAA,EAAyB,EAAE,MAAA,EAAQ,YAAA,EAAa,EAAG,CAAA;AAAA,MAEnF,IAAA,CAAK,EAAA,oBACJ,GAAA,CAAC,aAAA,EAAA,EAAgC,MAAA,EAAQ,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA,EAAG,IAAA,EAAM,MAAA,EAAA,EAA5C,WAA2D;AAAA,KAAA,EAEnF,CAAA,EACF;AAAA,GAAA,EAAA,EAbQ,KAAK,IAcf,CAAA;AAEJ","file":"PageSingle-E7DTNIY7.js","sourcesContent":["import { useMemo } from 'react';\nimport { SallaComments } from '@salla.sa/twilight-components-react/comments';\nimport type { PageSingleProps } from './types';\nimport { Breadcrumb } from '../../components/common';\nimport { useComments } from '../../hooks/useComments';\n\nexport function PageSingle({ page }: PageSingleProps) {\n const { commentsKey } = useComments();\n\n // Clean content articles - matches app.js commonThings()\n const cleanContent = useMemo(() => {\n if (!page.content) return '';\n // Replace entities with regular spaces\n return page.content.replace(/ /g, ' ');\n }, [page.content]);\n\n return (\n <div key={page.slug} className=\"container\">\n <Breadcrumb page={page} />\n\n <div className=\"flex justify-center\">\n <div className=\"content content--single-page w-full lg:w-10/12 bg-white rounded p-6 lg:p-8 mt-4 lg:mt-12\">\n <h1 className=\"font-bold text-2xl mb-6\">{page.title}</h1>\n {cleanContent && (\n <div className=\"content-entry\" dangerouslySetInnerHTML={{ __html: cleanContent }} />\n )}\n {page.id && (\n <SallaComments key={commentsKey} itemId={Number(page.id)} type={'page' as any} />\n )}\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { formatSallaPlural } from './chunk-BT6HEEAP.js';
|
|
2
2
|
import './chunk-MVT5AF2A.js';
|
|
3
|
-
import { useWishlist } from './chunk-
|
|
3
|
+
import { useWishlist } from './chunk-LFHYQ6AN.js';
|
|
4
4
|
import { HookSlot } from './chunk-5XDPAKF5.js';
|
|
5
5
|
import './chunk-GCPEMNSU.js';
|
|
6
|
-
import { getActiveCurrency } from './chunk-
|
|
6
|
+
import { getActiveCurrency } from './chunk-E5DP3MHE.js';
|
|
7
7
|
import './chunk-Z5M4YYWT.js';
|
|
8
8
|
import { useTranslation } from './chunk-TYNZ5B2B.js';
|
|
9
|
-
import { Image, LazyCurrencySymbol } from './chunk-
|
|
9
|
+
import { Image, LazyCurrencySymbol } from './chunk-MWG734P7.js';
|
|
10
10
|
import { Link } from './chunk-AXW67SY7.js';
|
|
11
11
|
import './chunk-BYMOPN2S.js';
|
|
12
12
|
import './chunk-SKLEJJ6M.js';
|
|
13
13
|
import './chunk-6BZ5TKEV.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
14
|
+
import './chunk-NHA4SBKG.js';
|
|
15
|
+
import './chunk-FXVII733.js';
|
|
16
|
+
import './chunk-6K34BCUP.js';
|
|
17
17
|
import './chunk-T72DAX7R.js';
|
|
18
18
|
import './chunk-DF6FBKDN.js';
|
|
19
19
|
import './chunk-DGUM43GV.js';
|
|
@@ -214,5 +214,5 @@ function ProductQuantityInfo({ product }) {
|
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
export { ProductDetails };
|
|
217
|
-
//# sourceMappingURL=ProductDetails-
|
|
218
|
-
//# sourceMappingURL=ProductDetails-
|
|
217
|
+
//# sourceMappingURL=ProductDetails-ZQLQWU7S.js.map
|
|
218
|
+
//# sourceMappingURL=ProductDetails-ZQLQWU7S.js.map
|