@salla.sa/twilight-theme-engine 1.0.69 → 1.0.71
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-V5Q4YFK7.js → AddToCartForm-XA5X2C5K.js} +3 -3
- package/dist/{AddToCartForm-V5Q4YFK7.js.map → AddToCartForm-XA5X2C5K.js.map} +1 -1
- package/dist/{BlogAuthorPage-EYCANLF2.js → BlogAuthorPage-YWR52G5S.js} +21 -21
- package/dist/{BlogAuthorPage-EYCANLF2.js.map → BlogAuthorPage-YWR52G5S.js.map} +1 -1
- package/dist/{BlogCategoryPage-HVKYA62V.js → BlogCategoryPage-N644DZTN.js} +21 -21
- package/dist/{BlogCategoryPage-HVKYA62V.js.map → BlogCategoryPage-N644DZTN.js.map} +1 -1
- package/dist/{BlogPage-CQLHFLXK.js → BlogPage-5Z4X3Y2H.js} +19 -19
- package/dist/{BlogPage-CQLHFLXK.js.map → BlogPage-5Z4X3Y2H.js.map} +1 -1
- package/dist/{BlogSinglePage-Y4GTYEX5.js → BlogSinglePage-NSNVBBUS.js} +19 -19
- package/dist/{BlogSinglePage-Y4GTYEX5.js.map → BlogSinglePage-NSNVBBUS.js.map} +1 -1
- package/dist/{BlogTagPage-7BHVS4M2.js → BlogTagPage-GRYZRHDL.js} +21 -21
- package/dist/{BlogTagPage-7BHVS4M2.js.map → BlogTagPage-GRYZRHDL.js.map} +1 -1
- package/dist/{BrandsPage-ZJWQFMLT.js → BrandsPage-3Q4ZYOT7.js} +20 -20
- package/dist/{BrandsPage-ZJWQFMLT.js.map → BrandsPage-3Q4ZYOT7.js.map} +1 -1
- package/dist/{Breadcrumb-VQQDHSCR.js → Breadcrumb-WNSVFI75.js} +19 -19
- package/dist/{Breadcrumb-VQQDHSCR.js.map → Breadcrumb-WNSVFI75.js.map} +1 -1
- package/dist/{CartItem-3LBPOY7V.js → CartItem-A66ZG64I.js} +19 -19
- package/dist/{CartItem-3LBPOY7V.js.map → CartItem-A66ZG64I.js.map} +1 -1
- package/dist/{CartSummary-4L7L3566.js → CartSummary-BQC2IGQD.js} +19 -19
- package/dist/{CartSummary-4L7L3566.js.map → CartSummary-BQC2IGQD.js.map} +1 -1
- package/dist/{Copyright-PPGYFGPF.js → Copyright-UNROFFOC.js} +4 -4
- package/dist/{Copyright-PPGYFGPF.js.map → Copyright-UNROFFOC.js.map} +1 -1
- package/dist/{CustomerLayout-HWBZ54GG.js → CustomerLayout-TKS5QZMJ.js} +19 -19
- package/dist/{CustomerLayout-HWBZ54GG.js.map → CustomerLayout-TKS5QZMJ.js.map} +1 -1
- package/dist/{Footer-Q5EZE6RQ.js → Footer-2WD77PFB.js} +19 -19
- package/dist/{Footer-Q5EZE6RQ.js.map → Footer-2WD77PFB.js.map} +1 -1
- package/dist/{Header-Y3KW2LCJ.js → Header-3BANLNYK.js} +8 -8
- package/dist/{Header-Y3KW2LCJ.js.map → Header-3BANLNYK.js.map} +1 -1
- package/dist/{LoyaltyPage-SLRGEINN.js → LoyaltyPage-OAGJLFD2.js} +19 -19
- package/dist/{LoyaltyPage-SLRGEINN.js.map → LoyaltyPage-OAGJLFD2.js.map} +1 -1
- package/dist/{LoyaltyPointsPage-ELOIXQJH.js → LoyaltyPointsPage-G5FB2QTQ.js} +3 -3
- package/dist/{LoyaltyPointsPage-ELOIXQJH.js.map → LoyaltyPointsPage-G5FB2QTQ.js.map} +1 -1
- package/dist/{MainMenu-IVZDV6HY.js → MainMenu-FFLJR2EK.js} +9 -10
- package/dist/MainMenu-FFLJR2EK.js.map +1 -0
- package/dist/{MasterLayout-GKZ5F73U.js → MasterLayout-H54QAUUY.js} +19 -19
- package/dist/{MasterLayout-GKZ5F73U.js.map → MasterLayout-H54QAUUY.js.map} +1 -1
- package/dist/{MobileMenu-SCAWSSXT.js → MobileMenu-OVAY7EFJ.js} +20 -20
- package/dist/{MobileMenu-SCAWSSXT.js.map → MobileMenu-OVAY7EFJ.js.map} +1 -1
- package/dist/{NotificationsPage-O42AKXIZ.js → NotificationsPage-SEAEJEE7.js} +19 -19
- package/dist/{NotificationsPage-O42AKXIZ.js.map → NotificationsPage-SEAEJEE7.js.map} +1 -1
- package/dist/{OrderSinglePage-R7Z2YDO4.js → OrderSinglePage-L7OCFF7N.js} +20 -20
- package/dist/{OrderSinglePage-R7Z2YDO4.js.map → OrderSinglePage-L7OCFF7N.js.map} +1 -1
- package/dist/{OrdersPage-DHV7YH7A.js → OrdersPage-IOEC2JR2.js} +19 -19
- package/dist/{OrdersPage-DHV7YH7A.js.map → OrdersPage-IOEC2JR2.js.map} +1 -1
- package/dist/{PageSingle-TH4W7HCK.js → PageSingle-YYUIJVFP.js} +8 -9
- package/dist/PageSingle-YYUIJVFP.js.map +1 -0
- package/dist/{ProductDetails-JC4V7MIG.js → ProductDetails-KSB3OC25.js} +4 -4
- package/dist/{ProductDetails-JC4V7MIG.js.map → ProductDetails-KSB3OC25.js.map} +1 -1
- package/dist/{ProfilePage-F5NO3B4C.js → ProfilePage-SVQRTF55.js} +19 -19
- package/dist/{ProfilePage-F5NO3B4C.js.map → ProfilePage-SVQRTF55.js.map} +1 -1
- package/dist/{SeoCartWidget-GSGSRTJN.js → SeoCartWidget-G4Y4NRMH.js} +19 -19
- package/dist/{SeoCartWidget-GSGSRTJN.js.map → SeoCartWidget-G4Y4NRMH.js.map} +1 -1
- package/dist/{SettingsPage-BYYBYEEQ.js → SettingsPage-ZVBMBGZL.js} +19 -19
- package/dist/{SettingsPage-BYYBYEEQ.js.map → SettingsPage-ZVBMBGZL.js.map} +1 -1
- package/dist/{StoreClosedNotification-TMVQPUSU.js → StoreClosedNotification-PRXVWUV7.js} +20 -20
- package/dist/{StoreClosedNotification-TMVQPUSU.js.map → StoreClosedNotification-PRXVWUV7.js.map} +1 -1
- package/dist/{TestimonialsPage-WXSORMJA.js → TestimonialsPage-QENPQ2JK.js} +8 -9
- package/dist/TestimonialsPage-QENPQ2JK.js.map +1 -0
- package/dist/{ThankYouPage-FVWY3VBU.js → ThankYouPage-GB6M5I4Z.js} +19 -19
- package/dist/{ThankYouPage-FVWY3VBU.js.map → ThankYouPage-GB6M5I4Z.js.map} +1 -1
- package/dist/{WalletPage-XYU47SH2.js → WalletPage-IG5B33XQ.js} +20 -20
- package/dist/{WalletPage-XYU47SH2.js.map → WalletPage-IG5B33XQ.js.map} +1 -1
- package/dist/{WishlistPage-GHMUTPSM.js → WishlistPage-SYNLUIGO.js} +21 -21
- package/dist/{WishlistPage-GHMUTPSM.js.map → WishlistPage-SYNLUIGO.js.map} +1 -1
- package/dist/api/apps.js +4 -5
- package/dist/api/brands.js +5 -6
- package/dist/api/cart.js +5 -6
- package/dist/api/category.js +5 -6
- package/dist/api/client.js +3 -4
- package/dist/api/home.js +4 -5
- package/dist/api/loyalty.js +5 -6
- package/dist/api/menu.js +4 -5
- package/dist/api/notification.js +4 -5
- package/dist/api/order.js +5 -6
- package/dist/api/page.js +5 -6
- package/dist/api/product.js +5 -6
- package/dist/api/profile.js +3 -4
- package/dist/api/profile.js.map +1 -1
- package/dist/api/store.js +4 -5
- package/dist/api/translations.js +4 -5
- package/dist/api/user.js +4 -5
- package/dist/api/wishlist.js +6 -7
- package/dist/{chunk-5NUQ6UAK.js → chunk-2JL4S2LE.js} +6 -6
- package/dist/{chunk-5NUQ6UAK.js.map → chunk-2JL4S2LE.js.map} +1 -1
- package/dist/chunk-3IHFA2X5.js +33 -0
- package/dist/chunk-3IHFA2X5.js.map +1 -0
- package/dist/{chunk-KPEG5XY3.js → chunk-4YHSQSM6.js} +4 -4
- package/dist/{chunk-KPEG5XY3.js.map → chunk-4YHSQSM6.js.map} +1 -1
- package/dist/{chunk-634A6AYN.js → chunk-5H4NIOTY.js} +4 -4
- package/dist/{chunk-634A6AYN.js.map → chunk-5H4NIOTY.js.map} +1 -1
- package/dist/{chunk-FZH27PXS.js → chunk-5HOD4BKK.js} +3 -3
- package/dist/{chunk-FZH27PXS.js.map → chunk-5HOD4BKK.js.map} +1 -1
- package/dist/{chunk-66JAXHHY.js → chunk-5O6PTKI5.js} +3 -3
- package/dist/{chunk-66JAXHHY.js.map → chunk-5O6PTKI5.js.map} +1 -1
- package/dist/{chunk-G73YJT4F.js → chunk-6F5QZKIY.js} +7 -7
- package/dist/{chunk-G73YJT4F.js.map → chunk-6F5QZKIY.js.map} +1 -1
- package/dist/{chunk-X3GCZAOZ.js → chunk-7BGEGHAI.js} +3 -3
- package/dist/{chunk-X3GCZAOZ.js.map → chunk-7BGEGHAI.js.map} +1 -1
- package/dist/{chunk-KRUPRDOL.js → chunk-7PYHB3PP.js} +4 -4
- package/dist/{chunk-KRUPRDOL.js.map → chunk-7PYHB3PP.js.map} +1 -1
- package/dist/{chunk-DWIS2VUE.js → chunk-7W7SLN5M.js} +4 -4
- package/dist/{chunk-DWIS2VUE.js.map → chunk-7W7SLN5M.js.map} +1 -1
- package/dist/{chunk-CUKPKJCF.js → chunk-A32NANNC.js} +3 -3
- package/dist/{chunk-CUKPKJCF.js.map → chunk-A32NANNC.js.map} +1 -1
- package/dist/{chunk-VR4FXFPY.js → chunk-BQURS54V.js} +43 -18
- package/dist/chunk-BQURS54V.js.map +1 -0
- package/dist/{chunk-YNWP5VPR.js → chunk-DIVEHHMD.js} +3 -3
- package/dist/{chunk-YNWP5VPR.js.map → chunk-DIVEHHMD.js.map} +1 -1
- package/dist/{chunk-BRZ74D5D.js → chunk-DY5WGKDX.js} +4 -4
- package/dist/{chunk-BRZ74D5D.js.map → chunk-DY5WGKDX.js.map} +1 -1
- package/dist/{chunk-IDRGC4LA.js → chunk-DZDSTTHW.js} +7 -7
- package/dist/{chunk-IDRGC4LA.js.map → chunk-DZDSTTHW.js.map} +1 -1
- package/dist/{chunk-DCH3X6TO.js → chunk-E7PYHBCX.js} +4 -4
- package/dist/{chunk-DCH3X6TO.js.map → chunk-E7PYHBCX.js.map} +1 -1
- package/dist/{chunk-EARXTU6P.js → chunk-FGROIU3Y.js} +3 -3
- package/dist/{chunk-EARXTU6P.js.map → chunk-FGROIU3Y.js.map} +1 -1
- package/dist/{chunk-GEQKQQND.js → chunk-GTG22RZG.js} +3 -3
- package/dist/{chunk-GEQKQQND.js.map → chunk-GTG22RZG.js.map} +1 -1
- package/dist/{chunk-AMASCYNB.js → chunk-GVJHDJW7.js} +9 -8
- package/dist/chunk-GVJHDJW7.js.map +1 -0
- package/dist/{chunk-44ZVB7F5.js → chunk-H2DXJCJP.js} +4 -4
- package/dist/{chunk-44ZVB7F5.js.map → chunk-H2DXJCJP.js.map} +1 -1
- package/dist/{chunk-2XGQSJKH.js → chunk-HBTIZWT2.js} +3 -3
- package/dist/{chunk-2XGQSJKH.js.map → chunk-HBTIZWT2.js.map} +1 -1
- package/dist/chunk-IHZVVSPW.js +14 -0
- package/dist/{chunk-HURQEDJZ.js.map → chunk-IHZVVSPW.js.map} +1 -1
- package/dist/{chunk-OVYCFJGU.js → chunk-ILMX45PO.js} +6 -6
- package/dist/{chunk-OVYCFJGU.js.map → chunk-ILMX45PO.js.map} +1 -1
- package/dist/{chunk-AEPBDT5F.js → chunk-IXG6BF2M.js} +35 -15
- package/dist/chunk-IXG6BF2M.js.map +1 -0
- package/dist/chunk-J427UFSZ.js +186 -0
- package/dist/chunk-J427UFSZ.js.map +1 -0
- package/dist/{chunk-SBXD5CSG.js → chunk-LDMLFJGQ.js} +4 -4
- package/dist/{chunk-SBXD5CSG.js.map → chunk-LDMLFJGQ.js.map} +1 -1
- package/dist/{chunk-YKWNH4S2.js → chunk-LGT3T7VF.js} +4 -4
- package/dist/{chunk-YKWNH4S2.js.map → chunk-LGT3T7VF.js.map} +1 -1
- package/dist/{chunk-SR4OTLTJ.js → chunk-LPQFTXBB.js} +9 -3
- package/dist/chunk-LPQFTXBB.js.map +1 -0
- package/dist/{chunk-SVPXQCOA.js → chunk-MISI3T6V.js} +4 -3
- package/dist/chunk-MISI3T6V.js.map +1 -0
- package/dist/{chunk-2D5HJQZK.js → chunk-MSUGP566.js} +4 -4
- package/dist/{chunk-2D5HJQZK.js.map → chunk-MSUGP566.js.map} +1 -1
- package/dist/{chunk-GL6QTNZA.js → chunk-N3BSUMD7.js} +3 -3
- package/dist/{chunk-GL6QTNZA.js.map → chunk-N3BSUMD7.js.map} +1 -1
- package/dist/{chunk-URWXE2RQ.js → chunk-NFE2H5JE.js} +5 -5
- package/dist/{chunk-URWXE2RQ.js.map → chunk-NFE2H5JE.js.map} +1 -1
- package/dist/{chunk-P6CLO4M7.js → chunk-OGVUFMLX.js} +3 -3
- package/dist/{chunk-P6CLO4M7.js.map → chunk-OGVUFMLX.js.map} +1 -1
- package/dist/{chunk-RMFDKT5P.js → chunk-P6EOXGUE.js} +4 -4
- package/dist/{chunk-RMFDKT5P.js.map → chunk-P6EOXGUE.js.map} +1 -1
- package/dist/{chunk-TYLKNVQA.js → chunk-QVJDYSCT.js} +89 -4
- package/dist/chunk-QVJDYSCT.js.map +1 -0
- package/dist/{chunk-M5WPU7BR.js → chunk-R2BAI6QI.js} +5 -5
- package/dist/{chunk-M5WPU7BR.js.map → chunk-R2BAI6QI.js.map} +1 -1
- package/dist/{chunk-4YWBXQV5.js → chunk-R5MZV6KW.js} +4 -4
- package/dist/{chunk-4YWBXQV5.js.map → chunk-R5MZV6KW.js.map} +1 -1
- package/dist/{chunk-SSPAMQRV.js → chunk-SDIQHTDG.js} +4 -4
- package/dist/{chunk-SSPAMQRV.js.map → chunk-SDIQHTDG.js.map} +1 -1
- package/dist/{chunk-W5MS4UNG.js → chunk-USN5NHJ5.js} +3 -3
- package/dist/{chunk-W5MS4UNG.js.map → chunk-USN5NHJ5.js.map} +1 -1
- package/dist/{chunk-6ETNDIHM.js → chunk-VX2T7JCB.js} +4 -5
- package/dist/chunk-VX2T7JCB.js.map +1 -0
- package/dist/{chunk-OJW6UOS4.js → chunk-VYJDRAWX.js} +3 -3
- package/dist/{chunk-OJW6UOS4.js.map → chunk-VYJDRAWX.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 +17 -17
- package/dist/components/home/index.js +21 -21
- package/dist/components/layout/index.js +1 -1
- package/dist/components/product/ProductGallery.d.ts.map +1 -1
- package/dist/components/product/index.js +18 -18
- package/dist/components/store/index.js +19 -19
- package/dist/components/toast/Toaster.d.ts.map +1 -1
- package/dist/components/toast/index.js +6 -1
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/tracking/index.js +1 -1
- package/dist/document-class-7U45CO5V.js +25 -0
- package/dist/{document-class-NUILLVSR.js.map → document-class-7U45CO5V.js.map} +1 -1
- package/dist/hooks/index.js +17 -17
- package/dist/hooks/useBlogLike.js +1 -1
- package/dist/hooks/useComments.js +3 -4
- package/dist/hooks/useGtm.js +17 -17
- package/dist/hooks/useMoney.js +17 -17
- package/dist/hooks/useProduct.js +3 -4
- package/dist/hooks/useStore.js +17 -17
- package/dist/hooks/useUser.js +5 -6
- package/dist/index.js +17 -17
- package/dist/native-app/index.d.ts +27 -0
- package/dist/native-app/index.d.ts.map +1 -0
- package/dist/native-app/index.js +8 -0
- package/dist/native-app/index.js.map +1 -0
- package/dist/{navigation-F2TD5X2P.js → navigation-P3GZOWUU.js} +8 -7
- package/dist/{navigation-F2TD5X2P.js.map → navigation-P3GZOWUU.js.map} +1 -1
- package/dist/{navigation-CJHPA74M.js → navigation-TA3I3XEC.js} +5 -5
- package/dist/{navigation-CJHPA74M.js.map → navigation-TA3I3XEC.js.map} +1 -1
- package/dist/{not-found-63YCT7SJ.js → not-found-W7RACNK7.js} +20 -20
- package/dist/{not-found-63YCT7SJ.js.map → not-found-W7RACNK7.js.map} +1 -1
- package/dist/providers/TwilightProvider.d.ts.map +1 -1
- package/dist/providers/index.js +17 -17
- package/dist/providers/native-safe-area.d.ts +13 -0
- package/dist/providers/native-safe-area.d.ts.map +1 -0
- package/dist/routes/account/orders.js +6 -7
- package/dist/routes/account.js +15 -16
- package/dist/routes/account.js.map +1 -1
- package/dist/routes/blog.js +10 -11
- package/dist/routes/blog.js.map +1 -1
- package/dist/routes/brands.js +6 -7
- package/dist/routes/brands.js.map +1 -1
- package/dist/routes/cart.js +25 -25
- package/dist/routes/home.js +22 -22
- package/dist/routes/index.js +4 -4
- package/dist/routes/loyalty.js +7 -8
- package/dist/routes/loyalty.js.map +1 -1
- package/dist/routes/page.js +6 -7
- package/dist/routes/page.js.map +1 -1
- package/dist/routes/product-listing.js +23 -23
- package/dist/routes/product.js +21 -21
- package/dist/routes/root/head.d.ts.map +1 -1
- package/dist/routes/seo-redirects.js +3 -3
- package/dist/routes/testimonials.js +1 -1
- package/dist/routes/thank-you.js +6 -7
- package/dist/routes/thank-you.js.map +1 -1
- package/dist/skeleton.js +22 -22
- package/dist/tanstack/native-app-events.d.ts +18 -0
- package/dist/tanstack/native-app-events.d.ts.map +1 -0
- package/dist/tanstack/navigation.d.ts.map +1 -1
- package/dist/tanstack.js +17 -17
- package/dist/utils/index.js +4 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/store-base.d.ts +9 -0
- package/dist/utils/store-base.d.ts.map +1 -1
- package/dist/vite/index.js +1 -0
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/plugins/package-aliases.plugin.d.ts.map +1 -1
- package/package.json +5 -1
- package/dist/MainMenu-IVZDV6HY.js.map +0 -1
- package/dist/PageSingle-TH4W7HCK.js.map +0 -1
- package/dist/TestimonialsPage-WXSORMJA.js.map +0 -1
- package/dist/chunk-6ETNDIHM.js.map +0 -1
- package/dist/chunk-AEPBDT5F.js.map +0 -1
- package/dist/chunk-AMASCYNB.js.map +0 -1
- package/dist/chunk-GNH3W6T4.js +0 -114
- package/dist/chunk-GNH3W6T4.js.map +0 -1
- package/dist/chunk-HURQEDJZ.js +0 -14
- package/dist/chunk-RCHTHIIZ.js +0 -90
- package/dist/chunk-RCHTHIIZ.js.map +0 -1
- package/dist/chunk-SR4OTLTJ.js.map +0 -1
- package/dist/chunk-SVPXQCOA.js.map +0 -1
- package/dist/chunk-TYLKNVQA.js.map +0 -1
- package/dist/chunk-VR4FXFPY.js.map +0 -1
- package/dist/document-class-NUILLVSR.js +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-
|
|
1
|
+
{"version":3,"sources":["../src/routes/product-short-link.ts","../src/routes/not-found.tsx"],"names":[],"mappings":"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","file":"not-found-W7RACNK7.js","sourcesContent":["import { useEffect, useState } from 'react';\nimport { product } from '../api/product';\nimport { isLocale } from '../providers/locale-constants';\nimport { useLocation, useNavigate } from '../providers/NavigationProvider';\n\n/** Short codes are 5-10 letters/digits (e.g. `lvXvzln`). */\nconst SHORT_CODE = /^[A-Za-z0-9]{5,10}$/;\n\n/**\n * The product short code in a path shaped `/{locale}/{code}` or `/{code}` (the\n * store base is already stripped from the router's location), plus the locale\n * segment to keep when redirecting. `null` for any other path.\n */\nexport function parseShortLinkPath(pathname: string): { code: string; locale?: string } | null {\n const segments = pathname.split('/').filter(Boolean);\n if (segments.length === 2 && isLocale(segments[0]) && SHORT_CODE.test(segments[1])) {\n return { code: segments[1], locale: segments[0] };\n }\n if (segments.length === 1 && !isLocale(segments[0]) && SHORT_CODE.test(segments[0])) {\n return { code: segments[0] };\n }\n return null;\n}\n\n/** The SEO slug from a product URL (`…/{slug}/p{id}`), `-` when it has none. */\nexport function slugFromProductUrl(url: string | undefined): string {\n try {\n const segments = new URL(url ?? '').pathname.split('/').filter(Boolean);\n const last = segments[segments.length - 1] ?? '';\n return /^p\\d+$/.test(last) && segments.length > 1 ? segments[segments.length - 2] : '-';\n } catch {\n return '-';\n }\n}\n\n/**\n * Resolves a product short link (`/ar/lvXvzln`) that matched no route: the\n * products API accepts the code as an id, so look it up and replace the URL with\n * the product's canonical page. Returns `true` while a lookup is in flight (so the\n * 404 isn't flashed); settles to `false` when the path isn't a short link or the\n * code doesn't resolve.\n */\nexport function useProductShortLink(): boolean {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n const target = parseShortLinkPath(pathname);\n const code = target?.code;\n const locale = target?.locale;\n const [failedCode, setFailedCode] = useState<string | null>(null);\n\n useEffect(() => {\n if (!code) return;\n let cancelled = false;\n product\n .find(code)\n .then((found) => {\n if (cancelled) return;\n if (!found?.id) return setFailedCode(code);\n const prefix = locale ? `/${locale}` : '';\n navigate(`${prefix}/${slugFromProductUrl(found.url)}/p${found.id}`, { replace: true });\n })\n .catch(() => !cancelled && setFailedCode(code));\n return () => {\n cancelled = true;\n };\n }, [code, locale, navigate]);\n\n return !!code && failedCode !== code;\n}\n","import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\nimport { useProductShortLink } from './product-short-link';\n\nexport interface NotFoundPageProps {\n title?: string;\n message?: string;\n showHomeLink?: boolean;\n homeLinkText?: string;\n LinkComponent?: ComponentType<{\n to: string;\n className?: string;\n style?: React.CSSProperties;\n children: ReactNode;\n }>;\n}\n\nexport function NotFoundPage(props: NotFoundPageProps = {}) {\n const { t } = useTranslation();\n // A product short link (`/ar/lvXvzln`) matches no route; resolve it instead of 404ing.\n const resolvingShortLink = useProductShortLink();\n\n const {\n title = t('common.errors.404') || 'Page Not Found',\n message = t('common.errors.error_occurred') ||\n 'The page you are looking for does not exist or has been moved.',\n showHomeLink = true,\n homeLinkText = t('common.elements.back_home') || 'Back to Home',\n LinkComponent,\n } = props;\n\n if (resolvingShortLink) return null;\n\n return (\n <ErrorPage\n code={404}\n title={title}\n message={message}\n showAction={showHomeLink}\n actionText={homeLinkText}\n LinkComponent={LinkComponent}\n >\n <HookSlot name=\"notfound:start\" />\n <HookSlot name=\"notfound:content\" />\n <HookSlot name=\"notfound:end\" />\n </ErrorPage>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TwilightProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TwilightProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAmBtE,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAa,EACb,QAAQ,EACR,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EACP,OAAO,EACP,MAAwD,EACxD,KAAY,EACZ,mBAAqC,EACrC,cAAqB,EACrB,UAAiB,EACjB,MAAM,EAAE,eAA8B,GACvC,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA2R5C;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/providers/index.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-BQURS54V.js';
|
|
2
|
+
import '../chunk-ILMX45PO.js';
|
|
3
3
|
import '../chunk-JKIRRMBU.js';
|
|
4
4
|
import '../chunk-2JV6WZ6O.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-A32NANNC.js';
|
|
6
6
|
import '../chunk-VVZNW5CB.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-
|
|
7
|
+
import '../chunk-HBTIZWT2.js';
|
|
8
|
+
export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-SDIQHTDG.js';
|
|
9
9
|
export { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-DIVEHHMD.js';
|
|
11
11
|
import '../chunk-C5X6CVXC.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-VYJDRAWX.js';
|
|
13
|
+
import '../chunk-FGROIU3Y.js';
|
|
14
|
+
import '../chunk-VX2T7JCB.js';
|
|
15
15
|
import '../chunk-TP3LCGE7.js';
|
|
16
16
|
import '../chunk-Z653O7MX.js';
|
|
17
17
|
import '../chunk-ZCH7W7DZ.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-RCHTHIIZ.js';
|
|
20
|
-
import '../chunk-TYLKNVQA.js';
|
|
21
|
-
import '../chunk-SR4OTLTJ.js';
|
|
22
|
-
export { SettingsError } from '../chunk-N2S25NXP.js';
|
|
18
|
+
import '../chunk-OGVUFMLX.js';
|
|
23
19
|
export { DocumentClassProvider, useDocumentClassContext, useDocumentClassOutput } from '../chunk-JWXJPJBO.js';
|
|
24
20
|
import '../chunk-CW625T2E.js';
|
|
25
21
|
import '../chunk-7V36I5GT.js';
|
|
@@ -27,11 +23,10 @@ import '../chunk-BVSJPBJ6.js';
|
|
|
27
23
|
import '../chunk-GBWCXUPD.js';
|
|
28
24
|
import '../chunk-OAMIDZKW.js';
|
|
29
25
|
import '../chunk-TYNZ5B2B.js';
|
|
30
|
-
import '../chunk-T72DAX7R.js';
|
|
31
26
|
import '../chunk-RJPPO3ET.js';
|
|
32
27
|
import '../chunk-Q7VWURUR.js';
|
|
33
28
|
import '../chunk-GU2KUQVD.js';
|
|
34
|
-
import '../chunk-
|
|
29
|
+
import '../chunk-5O6PTKI5.js';
|
|
35
30
|
import '../chunk-AXW67SY7.js';
|
|
36
31
|
export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
|
|
37
32
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -39,7 +34,12 @@ import '../chunk-6BZ5TKEV.js';
|
|
|
39
34
|
import '../chunk-FZKRSGLP.js';
|
|
40
35
|
import '../chunk-CUG6VOLM.js';
|
|
41
36
|
import '../chunk-HX3YKS5W.js';
|
|
42
|
-
import '../chunk-
|
|
37
|
+
import '../chunk-MISI3T6V.js';
|
|
38
|
+
import '../chunk-3IHFA2X5.js';
|
|
39
|
+
import '../chunk-QVJDYSCT.js';
|
|
40
|
+
import '../chunk-LPQFTXBB.js';
|
|
41
|
+
export { SettingsError } from '../chunk-N2S25NXP.js';
|
|
42
|
+
import '../chunk-T72DAX7R.js';
|
|
43
43
|
export { useTwilight } from '../chunk-DF6FBKDN.js';
|
|
44
44
|
import '../chunk-DGUM43GV.js';
|
|
45
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Writes the native app's insets (status bar, home indicator) to `--app-safe-area-top` and
|
|
3
|
+
* `--app-safe-area-bottom` on `<html>`, for a theme's CSS to read. The values come from the
|
|
4
|
+
* `mobile::ui.safearea` payload, so a re-emit updates them live. Nothing is registered
|
|
5
|
+
* outside the app (`isNativeApp()`): there the variables stay unset and a
|
|
6
|
+
* consumer falls back to `0px`. The app is recognised once the SDK is ready, not just
|
|
7
|
+
* loaded: one that identifies itself through its config has not said so before `init`.
|
|
8
|
+
*
|
|
9
|
+
* `TwilightProvider` calls this rather than the navigation setup, which loads lazily and
|
|
10
|
+
* would attach later than a theme's own root-level listener did.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useNativeSafeArea(): void;
|
|
13
|
+
//# sourceMappingURL=native-safe-area.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-safe-area.d.ts","sourceRoot":"","sources":["../../src/providers/native-safe-area.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAWxC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-6F5QZKIY.js';
|
|
2
|
+
import '../../chunk-MSUGP566.js';
|
|
3
3
|
import '../../chunk-TZ3E5BN4.js';
|
|
4
|
-
import '../../chunk-
|
|
4
|
+
import '../../chunk-SDIQHTDG.js';
|
|
5
5
|
import '../../chunk-ZGHRSRDO.js';
|
|
6
|
-
import '../../chunk-
|
|
7
|
-
import '../../chunk-
|
|
8
|
-
import '../../chunk-
|
|
9
|
-
import '../../chunk-SR4OTLTJ.js';
|
|
6
|
+
import '../../chunk-VX2T7JCB.js';
|
|
7
|
+
import '../../chunk-QVJDYSCT.js';
|
|
8
|
+
import '../../chunk-LPQFTXBB.js';
|
|
10
9
|
import '../../chunk-N2S25NXP.js';
|
|
11
10
|
import '../../chunk-T72DAX7R.js';
|
|
12
11
|
import '../../chunk-DF6FBKDN.js';
|
package/dist/routes/account.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { wallet } from '../chunk-
|
|
2
|
-
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import { notification } from '../chunk-
|
|
5
|
-
import { wishlist } from '../chunk-
|
|
1
|
+
import { wallet } from '../chunk-N3BSUMD7.js';
|
|
2
|
+
export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-6F5QZKIY.js';
|
|
3
|
+
import '../chunk-MSUGP566.js';
|
|
4
|
+
import { notification } from '../chunk-GTG22RZG.js';
|
|
5
|
+
import { wishlist } from '../chunk-P6EOXGUE.js';
|
|
6
6
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import { unauthorized, orUnauthorized } from '../chunk-
|
|
7
|
+
import '../chunk-H2DXJCJP.js';
|
|
8
|
+
import { unauthorized, orUnauthorized } from '../chunk-SDIQHTDG.js';
|
|
9
9
|
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
10
|
-
import { getAuthToken } from '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-SR4OTLTJ.js';
|
|
10
|
+
import { getAuthToken } from '../chunk-VX2T7JCB.js';
|
|
11
|
+
import '../chunk-QVJDYSCT.js';
|
|
12
|
+
import '../chunk-LPQFTXBB.js';
|
|
14
13
|
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
15
14
|
import '../chunk-T72DAX7R.js';
|
|
16
15
|
import '../chunk-DF6FBKDN.js';
|
|
@@ -31,7 +30,7 @@ async function profileLoader(_ctx) {
|
|
|
31
30
|
|
|
32
31
|
// src/routes/account/profile/index.tsx
|
|
33
32
|
var LazyProfilePage = lazy(
|
|
34
|
-
() => import('../ProfilePage-
|
|
33
|
+
() => import('../ProfilePage-SVQRTF55.js').then((m) => ({ default: m.ProfilePage }))
|
|
35
34
|
);
|
|
36
35
|
var ProfilePage = LazyProfilePage;
|
|
37
36
|
var Profile = {
|
|
@@ -73,7 +72,7 @@ async function wishlistLoader(ctx) {
|
|
|
73
72
|
|
|
74
73
|
// src/routes/account/wishlist/index.tsx
|
|
75
74
|
var LazyWishlistPage = lazy(
|
|
76
|
-
() => import('../WishlistPage-
|
|
75
|
+
() => import('../WishlistPage-SYNLUIGO.js').then((m) => ({ default: m.WishlistPage }))
|
|
77
76
|
);
|
|
78
77
|
var WishlistPage = LazyWishlistPage;
|
|
79
78
|
var Wishlist = {
|
|
@@ -115,7 +114,7 @@ async function walletLoader(ctx) {
|
|
|
115
114
|
}
|
|
116
115
|
|
|
117
116
|
// src/routes/account/wallet/index.tsx
|
|
118
|
-
var LazyWalletPage = lazy(() => import('../WalletPage-
|
|
117
|
+
var LazyWalletPage = lazy(() => import('../WalletPage-IG5B33XQ.js').then((m) => ({ default: m.WalletPage })));
|
|
119
118
|
var WalletPage = LazyWalletPage;
|
|
120
119
|
var Wallet = {
|
|
121
120
|
id: RouteId.CUSTOMER_WALLET,
|
|
@@ -151,7 +150,7 @@ async function notificationsLoader(_ctx) {
|
|
|
151
150
|
|
|
152
151
|
// src/routes/account/notifications/index.tsx
|
|
153
152
|
var LazyNotificationsPage = lazy(
|
|
154
|
-
() => import('../NotificationsPage-
|
|
153
|
+
() => import('../NotificationsPage-SEAEJEE7.js').then((m) => ({ default: m.NotificationsPage }))
|
|
155
154
|
);
|
|
156
155
|
var NotificationsPage = LazyNotificationsPage;
|
|
157
156
|
var Notifications = {
|
|
@@ -184,7 +183,7 @@ async function settingsLoader(_ctx) {
|
|
|
184
183
|
|
|
185
184
|
// src/routes/account/settings/index.tsx
|
|
186
185
|
var LazySettingsPage = lazy(
|
|
187
|
-
() => import('../SettingsPage-
|
|
186
|
+
() => import('../SettingsPage-ZVBMBGZL.js').then((m) => ({ default: m.SettingsPage }))
|
|
188
187
|
);
|
|
189
188
|
var SettingsPage = LazySettingsPage;
|
|
190
189
|
var Settings = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/account/profile/loader.ts","../../src/routes/account/profile/index.tsx","../../src/routes/account/wishlist/loader.ts","../../src/routes/account/wishlist/index.tsx","../../src/routes/account/wallet/loader.ts","../../src/routes/account/wallet/index.tsx","../../src/routes/account/notifications/loader.ts","../../src/routes/account/notifications/index.tsx","../../src/routes/account/settings/loader.ts","../../src/routes/account/settings/index.tsx"],"names":["lazy"],"mappings":"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","file":"account.js","sourcesContent":["import type { ProfilePageProps } from './types';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function profileLoader(_ctx: { locale: string }): Promise<ProfilePageProps> {\n if (!getAuthToken()) throw unauthorized();\n const { i18n } = getTwilightContext();\n return {\n page: {\n title: i18n.t('common.titles.profile') || 'Profile',\n slug: RouteId.CUSTOMER_PROFILE,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { profileLoader } from './loader';\nimport type { ProfilePageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyProfilePage = lazy(() =>\n import('./ProfilePage').then((m) => ({ default: m.ProfilePage }))\n);\n\nexport const ProfilePage = LazyProfilePage;\nexport { profileLoader } from './loader';\nexport type { ProfilePageProps } from './types';\n\nexport const Profile = {\n id: RouteId.CUSTOMER_PROFILE,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: ProfilePageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<ProfilePageProps> => {\n const data = await profileLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as ProfilePageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: ProfilePageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyProfilePage,\n} as const;\n","import type { WishlistPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport { wishlist } from '../../../api/wishlist';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function wishlistLoader(ctx: LoaderContext): Promise<WishlistPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const pageNum = Number(ctx.search?.page) || 1;\n const data = await orUnauthorized(wishlist.list({ page: pageNum }));\n\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n title: i18n.t('common.titles.wishlist') || 'Wishlist',\n slug: RouteId.CUSTOMER_WISHLIST,\n },\n query: { page: pageNum },\n products: data.items,\n pagination: {\n next: data.next,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { wishlistLoader } from './loader';\nimport type { WishlistPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyWishlistPage = lazy(() =>\n import('./WishlistPage').then((m) => ({ default: m.WishlistPage }))\n);\n\nexport const WishlistPage = LazyWishlistPage;\nexport { wishlistLoader } from './loader';\nexport type { WishlistPageProps } from './types';\n\nexport const Wishlist = {\n id: RouteId.CUSTOMER_WISHLIST,\n loader: async (\n ctx: LoaderContext,\n extend?: (\n data: WishlistPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<WishlistPageProps> => {\n const data = await wishlistLoader(ctx);\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as WishlistPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: WishlistPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyWishlistPage,\n} as const;\n","import type { WalletPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport { wallet } from '../../../api/wallet';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function walletLoader(ctx: LoaderContext): Promise<WalletPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const pageNum = Number(ctx.search?.page) || 1;\n const data = await orUnauthorized(wallet.list({ page: pageNum }));\n\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n title: i18n.t('common.titles.wallet') || 'Wallet',\n slug: RouteId.CUSTOMER_WALLET,\n },\n query: { page: pageNum },\n transactions: data.items,\n balance: data.balance,\n pagination: {\n next: data.next,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { walletLoader } from './loader';\nimport type { WalletPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyWalletPage = lazy(() => import('./WalletPage').then((m) => ({ default: m.WalletPage })));\n\nexport const WalletPage = LazyWalletPage;\nexport { walletLoader } from './loader';\nexport type { WalletPageProps } from './types';\n\nexport const Wallet = {\n id: RouteId.CUSTOMER_WALLET,\n loader: async (\n ctx: LoaderContext,\n extend?: (\n data: WalletPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<WalletPageProps> => {\n const data = await walletLoader(ctx);\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as WalletPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: WalletPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyWalletPage,\n} as const;\n","import { notification } from '../../../api/notification';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport type { NotificationsPageProps } from './types';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function notificationsLoader(_ctx: {\n locale: string;\n}): Promise<NotificationsPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const i18n = getTwilightContext().i18n;\n const response = await orUnauthorized(notification.list());\n\n return {\n page: {\n title: i18n.t('common.titles.notifications') || 'Notifications',\n slug: RouteId.CUSTOMER_NOTIFICATIONS,\n },\n notifications: response.data,\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { notificationsLoader } from './loader';\nimport type { NotificationsPageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyNotificationsPage = lazy(() =>\n import('./NotificationsPage').then((m) => ({ default: m.NotificationsPage }))\n);\n\nexport const NotificationsPage = LazyNotificationsPage;\nexport { notificationsLoader } from './loader';\nexport type { NotificationsPageProps, Notification } from './types';\n\nexport const Notifications = {\n id: RouteId.CUSTOMER_NOTIFICATIONS,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: NotificationsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<NotificationsPageProps> => {\n const data = await notificationsLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as NotificationsPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: NotificationsPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyNotificationsPage,\n} as const;\n","import type { SettingsPageProps } from './types';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\n\nexport async function settingsLoader(_ctx: { locale: string }): Promise<SettingsPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const { i18n } = getTwilightContext();\n return {\n // Twig's slug for this page; the advertisements API does not filter it, as on Twig.\n page: { title: i18n.t('common.titles.settings') || 'Settings', slug: 'customer-settings' },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { settingsLoader } from './loader';\nimport type { SettingsPageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazySettingsPage = lazy(() =>\n import('./SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\n\nexport const SettingsPage = LazySettingsPage;\nexport { settingsLoader } from './loader';\nexport type { SettingsPageProps } from './types';\n\nexport const Settings = {\n id: RouteId.CUSTOMER_SETTINGS,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: SettingsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<SettingsPageProps> => {\n const data = await settingsLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as SettingsPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: SettingsPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazySettingsPage,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/routes/account/profile/loader.ts","../../src/routes/account/profile/index.tsx","../../src/routes/account/wishlist/loader.ts","../../src/routes/account/wishlist/index.tsx","../../src/routes/account/wallet/loader.ts","../../src/routes/account/wallet/index.tsx","../../src/routes/account/notifications/loader.ts","../../src/routes/account/notifications/index.tsx","../../src/routes/account/settings/loader.ts","../../src/routes/account/settings/index.tsx"],"names":["lazy"],"mappings":"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","file":"account.js","sourcesContent":["import type { ProfilePageProps } from './types';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function profileLoader(_ctx: { locale: string }): Promise<ProfilePageProps> {\n if (!getAuthToken()) throw unauthorized();\n const { i18n } = getTwilightContext();\n return {\n page: {\n title: i18n.t('common.titles.profile') || 'Profile',\n slug: RouteId.CUSTOMER_PROFILE,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { profileLoader } from './loader';\nimport type { ProfilePageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyProfilePage = lazy(() =>\n import('./ProfilePage').then((m) => ({ default: m.ProfilePage }))\n);\n\nexport const ProfilePage = LazyProfilePage;\nexport { profileLoader } from './loader';\nexport type { ProfilePageProps } from './types';\n\nexport const Profile = {\n id: RouteId.CUSTOMER_PROFILE,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: ProfilePageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<ProfilePageProps> => {\n const data = await profileLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as ProfilePageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: ProfilePageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyProfilePage,\n} as const;\n","import type { WishlistPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport { wishlist } from '../../../api/wishlist';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function wishlistLoader(ctx: LoaderContext): Promise<WishlistPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const pageNum = Number(ctx.search?.page) || 1;\n const data = await orUnauthorized(wishlist.list({ page: pageNum }));\n\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n title: i18n.t('common.titles.wishlist') || 'Wishlist',\n slug: RouteId.CUSTOMER_WISHLIST,\n },\n query: { page: pageNum },\n products: data.items,\n pagination: {\n next: data.next,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { wishlistLoader } from './loader';\nimport type { WishlistPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyWishlistPage = lazy(() =>\n import('./WishlistPage').then((m) => ({ default: m.WishlistPage }))\n);\n\nexport const WishlistPage = LazyWishlistPage;\nexport { wishlistLoader } from './loader';\nexport type { WishlistPageProps } from './types';\n\nexport const Wishlist = {\n id: RouteId.CUSTOMER_WISHLIST,\n loader: async (\n ctx: LoaderContext,\n extend?: (\n data: WishlistPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<WishlistPageProps> => {\n const data = await wishlistLoader(ctx);\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as WishlistPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: WishlistPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyWishlistPage,\n} as const;\n","import type { WalletPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport { wallet } from '../../../api/wallet';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function walletLoader(ctx: LoaderContext): Promise<WalletPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const pageNum = Number(ctx.search?.page) || 1;\n const data = await orUnauthorized(wallet.list({ page: pageNum }));\n\n const i18n = getTwilightContext().i18n;\n return {\n page: {\n title: i18n.t('common.titles.wallet') || 'Wallet',\n slug: RouteId.CUSTOMER_WALLET,\n },\n query: { page: pageNum },\n transactions: data.items,\n balance: data.balance,\n pagination: {\n next: data.next,\n },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { walletLoader } from './loader';\nimport type { WalletPageProps } from './types';\nimport type { LoaderContext } from '../../types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyWalletPage = lazy(() => import('./WalletPage').then((m) => ({ default: m.WalletPage })));\n\nexport const WalletPage = LazyWalletPage;\nexport { walletLoader } from './loader';\nexport type { WalletPageProps } from './types';\n\nexport const Wallet = {\n id: RouteId.CUSTOMER_WALLET,\n loader: async (\n ctx: LoaderContext,\n extend?: (\n data: WalletPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<WalletPageProps> => {\n const data = await walletLoader(ctx);\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as WalletPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: WalletPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyWalletPage,\n} as const;\n","import { notification } from '../../../api/notification';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { orUnauthorized, unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\nimport type { NotificationsPageProps } from './types';\nimport { RouteId } from '../../../router/route-ids';\n\nexport async function notificationsLoader(_ctx: {\n locale: string;\n}): Promise<NotificationsPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const i18n = getTwilightContext().i18n;\n const response = await orUnauthorized(notification.list());\n\n return {\n page: {\n title: i18n.t('common.titles.notifications') || 'Notifications',\n slug: RouteId.CUSTOMER_NOTIFICATIONS,\n },\n notifications: response.data,\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { notificationsLoader } from './loader';\nimport type { NotificationsPageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazyNotificationsPage = lazy(() =>\n import('./NotificationsPage').then((m) => ({ default: m.NotificationsPage }))\n);\n\nexport const NotificationsPage = LazyNotificationsPage;\nexport { notificationsLoader } from './loader';\nexport type { NotificationsPageProps, Notification } from './types';\n\nexport const Notifications = {\n id: RouteId.CUSTOMER_NOTIFICATIONS,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: NotificationsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<NotificationsPageProps> => {\n const data = await notificationsLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as NotificationsPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: NotificationsPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazyNotificationsPage,\n} as const;\n","import type { SettingsPageProps } from './types';\nimport { getTwilightContext } from '../../../twilight/context';\nimport { unauthorized } from '../../../providers/NavigationProvider';\nimport { getAuthToken } from '../../../api/client';\n\nexport async function settingsLoader(_ctx: { locale: string }): Promise<SettingsPageProps> {\n if (!getAuthToken()) throw unauthorized();\n const { i18n } = getTwilightContext();\n return {\n // Twig's slug for this page; the advertisements API does not filter it, as on Twig.\n page: { title: i18n.t('common.titles.settings') || 'Settings', slug: 'customer-settings' },\n };\n}\n","import type { HeadDescriptor } from '../../../utils/head';\nimport { buildHreflangAlternates } from '../../../utils/baseHead';\nimport { lazy } from 'react';\nimport { settingsLoader } from './loader';\nimport type { SettingsPageProps } from './types';\nimport type { TwilightContext } from '../../../twilight/context';\nimport { RouteId } from '../../../router/route-ids';\n\nconst LazySettingsPage = lazy(() =>\n import('./SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\n\nexport const SettingsPage = LazySettingsPage;\nexport { settingsLoader } from './loader';\nexport type { SettingsPageProps } from './types';\n\nexport const Settings = {\n id: RouteId.CUSTOMER_SETTINGS,\n loader: async (\n _ctx: { locale?: string },\n extend?: (\n data: SettingsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n ): Promise<SettingsPageProps> => {\n const data = await settingsLoader({ locale: _ctx.locale ?? 'ar' });\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as SettingsPageProps;\n }\n return data;\n },\n head: (ctx: TwilightContext, data: SettingsPageProps): HeadDescriptor => ({\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n }),\n Component: LazySettingsPage,\n} as const;\n"]}
|
package/dist/routes/blog.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { blog } from '../chunk-
|
|
1
|
+
import { blog } from '../chunk-7W7SLN5M.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-SDIQHTDG.js';
|
|
4
4
|
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-SR4OTLTJ.js';
|
|
5
|
+
import '../chunk-VX2T7JCB.js';
|
|
6
|
+
import '../chunk-QVJDYSCT.js';
|
|
7
|
+
import '../chunk-LPQFTXBB.js';
|
|
9
8
|
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
10
9
|
import '../chunk-T72DAX7R.js';
|
|
11
10
|
import '../chunk-DF6FBKDN.js';
|
|
@@ -135,18 +134,18 @@ async function blogTagLoader({
|
|
|
135
134
|
}
|
|
136
135
|
|
|
137
136
|
// src/routes/blog/index.tsx
|
|
138
|
-
var LazyBlogPage = lazy(() => import('../BlogPage-
|
|
137
|
+
var LazyBlogPage = lazy(() => import('../BlogPage-5Z4X3Y2H.js').then((m) => ({ default: m.BlogPage })));
|
|
139
138
|
var LazyBlogSinglePage = lazy(
|
|
140
|
-
() => import('../BlogSinglePage-
|
|
139
|
+
() => import('../BlogSinglePage-NSNVBBUS.js').then((m) => ({ default: m.BlogSinglePage }))
|
|
141
140
|
);
|
|
142
141
|
var LazyBlogAuthorPage = lazy(
|
|
143
|
-
() => import('../BlogAuthorPage-
|
|
142
|
+
() => import('../BlogAuthorPage-YWR52G5S.js').then((m) => ({ default: m.BlogAuthorPage }))
|
|
144
143
|
);
|
|
145
144
|
var LazyBlogCategoryPage = lazy(
|
|
146
|
-
() => import('../BlogCategoryPage-
|
|
145
|
+
() => import('../BlogCategoryPage-N644DZTN.js').then((m) => ({ default: m.BlogCategoryPage }))
|
|
147
146
|
);
|
|
148
147
|
var LazyBlogTagPage = lazy(
|
|
149
|
-
() => import('../BlogTagPage-
|
|
148
|
+
() => import('../BlogTagPage-GRYZRHDL.js').then((m) => ({ default: m.BlogTagPage }))
|
|
150
149
|
);
|
|
151
150
|
var BlogPage = LazyBlogPage;
|
|
152
151
|
var BlogSinglePage = LazyBlogSinglePage;
|
package/dist/routes/blog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/blog/loader.ts","../../src/routes/blog/index.tsx"],"names":[],"mappings":"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","file":"blog.js","sourcesContent":["import { blog } from '../../api/blog';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport type { Breadcrumb } from '../../types';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\n\nexport async function blogLoader(): Promise<BlogPageProps> {\n const i18n = getTwilightContext().i18n;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n ];\n\n const page = {\n slug: RouteId.BLOG_INDEX,\n title: i18n.t('blocks.footer.blog') || 'Blog',\n breadcrumbs,\n };\n\n try {\n const overview = await blog.get();\n return {\n page,\n articles: overview.articles,\n categories: overview.categories,\n slides: overview.slides,\n popular: overview.popular,\n };\n } catch (_error) {\n return {\n page,\n articles: [],\n categories: [],\n slides: [],\n popular: [],\n };\n }\n}\n\nexport async function blogSingleLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogSinglePageProps> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const article = await blog.articles.find(id);\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: article.name, url: article.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_SINGLE,\n id: article.id,\n title: article.name,\n breadcrumbs,\n },\n article,\n related: article.related,\n };\n}\n\nexport async function blogAuthorLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<BlogAuthorLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ author: id }), blog.get()]);\n const author = response.author;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: author.name, url: author.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_INDEX_AUTHOR,\n id: author.name,\n title: author.name,\n breadcrumbs,\n },\n author,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogCategoryLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogCategoryLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n blog.articles.list({ category: id }),\n blog.get(),\n ]);\n const category = response.category;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: category.name, url: category.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_CATEGORY, id: category.id, title: category.name, breadcrumbs },\n blogCategory: category,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogTagLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogTagLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ tag: id }), blog.get()]);\n const tag = response.tag;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: tag.name, url: tag.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_TAG, id: tag.id, title: tag.name, breadcrumbs },\n blogTag: tag,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategory as BlogCategoryType,\n CategoryMeta,\n BlogTag as BlogTagType,\n BlogAuthor as BlogAuthorType,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nconst LazyBlogPage = lazy(() => import('./BlogPage').then((m) => ({ default: m.BlogPage })));\nconst LazyBlogSinglePage = lazy(() =>\n import('./BlogSinglePage').then((m) => ({ default: m.BlogSinglePage }))\n);\nconst LazyBlogAuthorPage = lazy(() =>\n import('./BlogAuthorPage').then((m) => ({ default: m.BlogAuthorPage }))\n);\nconst LazyBlogCategoryPage = lazy(() =>\n import('./BlogCategoryPage').then((m) => ({ default: m.BlogCategoryPage }))\n);\nconst LazyBlogTagPage = lazy(() =>\n import('./BlogTagPage').then((m) => ({ default: m.BlogTagPage }))\n);\n\nexport const BlogPage = LazyBlogPage;\nexport const BlogSinglePage = LazyBlogSinglePage;\nexport const BlogAuthorPage = LazyBlogAuthorPage;\nexport const BlogCategoryPage = LazyBlogCategoryPage;\nexport const BlogTagPage = LazyBlogTagPage;\nexport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nexport type {\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n BlogPageProps,\n BlogSinglePageProps,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategoryType,\n CategoryMeta,\n BlogTagType,\n BlogAuthorType,\n};\n\nasync function blogLoaderWithExtend(\n _ctx?: { locale?: string },\n extend?: (\n data: BlogPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogPageProps> {\n const data = await blogLoader();\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as BlogPageProps;\n }\n return data;\n}\n\nfunction blogHead(ctx: TwilightContext, data: BlogPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogSingleLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogSinglePageProps,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogSinglePageProps> {\n const data = await blogSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogSinglePageProps;\n }\n return data;\n}\n\nfunction blogSingleHead(ctx: TwilightContext, data: BlogSinglePageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.article.meta?.title ?? data.article.name,\n description: data.article.meta?.description ?? data.article.description,\n canonical: data.article.meta?.canonical ?? data.article.url,\n openGraph: {\n title: data.article.meta?.title ?? data.article.name,\n images: data.article.meta?.og_image ?? data.article.image,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogAuthorLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: BlogAuthorLoaderData,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogAuthorLoaderData> {\n const data = await blogAuthorLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogAuthorLoaderData;\n }\n return data;\n}\n\nfunction blogAuthorHead(ctx: TwilightContext, data: BlogAuthorLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.author.name,\n description: `Articles by ${data.author.name}`,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogCategoryLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogCategoryLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogCategoryLoaderData> {\n const data = await blogCategoryLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogCategoryLoaderData;\n }\n return data;\n}\n\nfunction blogCategoryHead(ctx: TwilightContext, data: BlogCategoryLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogCategory.meta?.title ?? data.blogCategory.name,\n description: data.blogCategory.meta?.description ?? `Articles in ${data.blogCategory.name}`,\n canonical: data.blogCategory.meta?.canonical ?? data.blogCategory.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogTagLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogTagLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogTagLoaderData> {\n const data = await blogTagLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogTagLoaderData;\n }\n return data;\n}\n\nfunction blogTagHead(ctx: TwilightContext, data: BlogTagLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogTag.name,\n description: `Articles tagged with ${data.blogTag.name}`,\n canonical: data.blogTag.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Blog = {\n id: RouteId.BLOG_INDEX,\n loader: blogLoaderWithExtend,\n head: blogHead,\n Component: LazyBlogPage,\n} as const;\nexport const BlogSingle = {\n id: RouteId.BLOG_SINGLE,\n loader: blogSingleLoaderWithExtend,\n head: blogSingleHead,\n Component: LazyBlogSinglePage,\n} as const;\nexport const BlogAuthorRoute = {\n id: RouteId.BLOG_INDEX_AUTHOR,\n loader: blogAuthorLoaderWithExtend,\n head: blogAuthorHead,\n Component: LazyBlogAuthorPage,\n} as const;\nexport const BlogCategoryRoute = {\n id: RouteId.BLOG_INDEX_CATEGORY,\n loader: blogCategoryLoaderWithExtend,\n head: blogCategoryHead,\n Component: LazyBlogCategoryPage,\n} as const;\nexport const BlogTagRoute = {\n id: RouteId.BLOG_INDEX_TAG,\n loader: blogTagLoaderWithExtend,\n head: blogTagHead,\n Component: LazyBlogTagPage,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/routes/blog/loader.ts","../../src/routes/blog/index.tsx"],"names":[],"mappings":"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","file":"blog.js","sourcesContent":["import { blog } from '../../api/blog';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\nimport type { Breadcrumb } from '../../types';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\n\nexport async function blogLoader(): Promise<BlogPageProps> {\n const i18n = getTwilightContext().i18n;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n ];\n\n const page = {\n slug: RouteId.BLOG_INDEX,\n title: i18n.t('blocks.footer.blog') || 'Blog',\n breadcrumbs,\n };\n\n try {\n const overview = await blog.get();\n return {\n page,\n articles: overview.articles,\n categories: overview.categories,\n slides: overview.slides,\n popular: overview.popular,\n };\n } catch (_error) {\n return {\n page,\n articles: [],\n categories: [],\n slides: [],\n popular: [],\n };\n }\n}\n\nexport async function blogSingleLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogSinglePageProps> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const article = await blog.articles.find(id);\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: article.name, url: article.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_SINGLE,\n id: article.id,\n title: article.name,\n breadcrumbs,\n },\n article,\n related: article.related,\n };\n}\n\nexport async function blogAuthorLoader({\n params,\n}: {\n params: IdParams;\n}): Promise<BlogAuthorLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ author: id }), blog.get()]);\n const author = response.author;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: author.name, url: author.url },\n ];\n\n return {\n page: {\n slug: RouteId.BLOG_INDEX_AUTHOR,\n id: author.name,\n title: author.name,\n breadcrumbs,\n },\n author,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogCategoryLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogCategoryLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([\n blog.articles.list({ category: id }),\n blog.get(),\n ]);\n const category = response.category;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: category.name, url: category.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_CATEGORY, id: category.id, title: category.name, breadcrumbs },\n blogCategory: category,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n\nexport async function blogTagLoader({\n params,\n}: {\n params: SlugIdParams;\n}): Promise<BlogTagLoaderData> {\n const { id } = params;\n const i18n = getTwilightContext().i18n;\n\n const [response, overview] = await Promise.all([blog.articles.list({ tag: id }), blog.get()]);\n const tag = response.tag;\n\n const breadcrumbs: Breadcrumb[] = [\n { name: i18n.t('common.titles.home'), url: '/' },\n { name: i18n.t('blocks.footer.blog'), url: '/blog' },\n { name: tag.name, url: tag.url },\n ];\n\n return {\n page: { slug: RouteId.BLOG_INDEX_TAG, id: tag.id, title: tag.name, breadcrumbs },\n blogTag: tag,\n categories: overview.categories,\n articles: response.data,\n cursor: response.cursor,\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nimport type {\n BlogPageProps,\n BlogSinglePageProps,\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategory as BlogCategoryType,\n CategoryMeta,\n BlogTag as BlogTagType,\n BlogAuthor as BlogAuthorType,\n} from './types';\nimport type { IdParams, SlugIdParams } from '../types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nconst LazyBlogPage = lazy(() => import('./BlogPage').then((m) => ({ default: m.BlogPage })));\nconst LazyBlogSinglePage = lazy(() =>\n import('./BlogSinglePage').then((m) => ({ default: m.BlogSinglePage }))\n);\nconst LazyBlogAuthorPage = lazy(() =>\n import('./BlogAuthorPage').then((m) => ({ default: m.BlogAuthorPage }))\n);\nconst LazyBlogCategoryPage = lazy(() =>\n import('./BlogCategoryPage').then((m) => ({ default: m.BlogCategoryPage }))\n);\nconst LazyBlogTagPage = lazy(() =>\n import('./BlogTagPage').then((m) => ({ default: m.BlogTagPage }))\n);\n\nexport const BlogPage = LazyBlogPage;\nexport const BlogSinglePage = LazyBlogSinglePage;\nexport const BlogAuthorPage = LazyBlogAuthorPage;\nexport const BlogCategoryPage = LazyBlogCategoryPage;\nexport const BlogTagPage = LazyBlogTagPage;\nexport {\n blogLoader,\n blogSingleLoader,\n blogAuthorLoader,\n blogCategoryLoader,\n blogTagLoader,\n} from './loader';\nexport type {\n BlogAuthorLoaderData,\n BlogCategoryLoaderData,\n BlogTagLoaderData,\n BlogPageProps,\n BlogSinglePageProps,\n ArticleSummary,\n ArticleDetail,\n ArticleStats,\n ArticleMeta,\n BlogCategoryType,\n CategoryMeta,\n BlogTagType,\n BlogAuthorType,\n};\n\nasync function blogLoaderWithExtend(\n _ctx?: { locale?: string },\n extend?: (\n data: BlogPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogPageProps> {\n const data = await blogLoader();\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as BlogPageProps;\n }\n return data;\n}\n\nfunction blogHead(ctx: TwilightContext, data: BlogPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogSingleLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogSinglePageProps,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogSinglePageProps> {\n const data = await blogSingleLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogSinglePageProps;\n }\n return data;\n}\n\nfunction blogSingleHead(ctx: TwilightContext, data: BlogSinglePageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.article.meta?.title ?? data.article.name,\n description: data.article.meta?.description ?? data.article.description,\n canonical: data.article.meta?.canonical ?? data.article.url,\n openGraph: {\n title: data.article.meta?.title ?? data.article.name,\n images: data.article.meta?.og_image ?? data.article.image,\n },\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogAuthorLoaderWithExtend(\n ctx: { params: IdParams; locale?: string },\n extend?: (\n data: BlogAuthorLoaderData,\n ctx: { params: IdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogAuthorLoaderData> {\n const data = await blogAuthorLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogAuthorLoaderData;\n }\n return data;\n}\n\nfunction blogAuthorHead(ctx: TwilightContext, data: BlogAuthorLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.author.name,\n description: `Articles by ${data.author.name}`,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogCategoryLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogCategoryLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogCategoryLoaderData> {\n const data = await blogCategoryLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogCategoryLoaderData;\n }\n return data;\n}\n\nfunction blogCategoryHead(ctx: TwilightContext, data: BlogCategoryLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogCategory.meta?.title ?? data.blogCategory.name,\n description: data.blogCategory.meta?.description ?? `Articles in ${data.blogCategory.name}`,\n canonical: data.blogCategory.meta?.canonical ?? data.blogCategory.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nasync function blogTagLoaderWithExtend(\n ctx: { params: SlugIdParams; locale?: string },\n extend?: (\n data: BlogTagLoaderData,\n ctx: { params: SlugIdParams }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BlogTagLoaderData> {\n const data = await blogTagLoader({ params: ctx.params });\n\n if (extend) {\n const extra = await extend(data, ctx);\n return { ...data, ...extra } as BlogTagLoaderData;\n }\n return data;\n}\n\nfunction blogTagHead(ctx: TwilightContext, data: BlogTagLoaderData): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.blogTag.name,\n description: `Articles tagged with ${data.blogTag.name}`,\n canonical: data.blogTag.url,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Blog = {\n id: RouteId.BLOG_INDEX,\n loader: blogLoaderWithExtend,\n head: blogHead,\n Component: LazyBlogPage,\n} as const;\nexport const BlogSingle = {\n id: RouteId.BLOG_SINGLE,\n loader: blogSingleLoaderWithExtend,\n head: blogSingleHead,\n Component: LazyBlogSinglePage,\n} as const;\nexport const BlogAuthorRoute = {\n id: RouteId.BLOG_INDEX_AUTHOR,\n loader: blogAuthorLoaderWithExtend,\n head: blogAuthorHead,\n Component: LazyBlogAuthorPage,\n} as const;\nexport const BlogCategoryRoute = {\n id: RouteId.BLOG_INDEX_CATEGORY,\n loader: blogCategoryLoaderWithExtend,\n head: blogCategoryHead,\n Component: LazyBlogCategoryPage,\n} as const;\nexport const BlogTagRoute = {\n id: RouteId.BLOG_INDEX_TAG,\n loader: blogTagLoaderWithExtend,\n head: blogTagHead,\n Component: LazyBlogTagPage,\n} as const;\n"]}
|
package/dist/routes/brands.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { brand } from '../chunk-
|
|
1
|
+
import { brand } from '../chunk-5H4NIOTY.js';
|
|
2
2
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-SDIQHTDG.js';
|
|
4
4
|
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-SR4OTLTJ.js';
|
|
5
|
+
import '../chunk-VX2T7JCB.js';
|
|
6
|
+
import '../chunk-QVJDYSCT.js';
|
|
7
|
+
import '../chunk-LPQFTXBB.js';
|
|
9
8
|
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
10
9
|
import '../chunk-T72DAX7R.js';
|
|
11
10
|
import '../chunk-DF6FBKDN.js';
|
|
@@ -24,7 +23,7 @@ async function brandsLoader() {
|
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
// src/routes/brands/index.tsx
|
|
27
|
-
var LazyBrandsPage = lazy(() => import('../BrandsPage-
|
|
26
|
+
var LazyBrandsPage = lazy(() => import('../BrandsPage-3Q4ZYOT7.js').then((m) => ({ default: m.BrandsPage })));
|
|
28
27
|
var BrandsPage = LazyBrandsPage;
|
|
29
28
|
async function brandsLoaderWithExtend(_ctx, extend) {
|
|
30
29
|
const data = await brandsLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/routes/brands/loader.ts","../../src/routes/brands/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/routes/brands/loader.ts","../../src/routes/brands/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,eAAsB,YAAA,GAAyC;AAC7D,EAAA,MAAM,EAAE,KAAA,EAAO,IAAA,EAAK,GAAI,MAAM,MAAM,IAAA,EAAK;AACzC,EAAA,MAAM,IAAA,GAAO,oBAAmB,CAAE,IAAA;AAClC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,CAAQ,YAAA,EAAc,OAAO,IAAA,CAAK,CAAA,CAAE,sBAAsB,CAAA,IAAK,QAAA,EAAS;AAAA,IACtF,MAAA,EAAQ,KAAA;AAAA,IACR,UAAA,EAAY,EAAE,IAAA;AAAK,GACrB;AACF;;;ACJA,IAAM,cAAA,GAAiB,IAAA,CAAK,MAAM,OAAO,2BAAc,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,MAAO,EAAE,OAAA,EAAS,CAAA,CAAE,UAAA,GAAa,CAAC,CAAA;AAE1F,IAAM,UAAA,GAAa;AAI1B,eAAe,sBAAA,CACb,MACA,MAAA,EAI0B;AAC1B,EAAA,MAAM,IAAA,GAAO,MAAM,YAAA,EAAa;AAEhC,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAM,MAAA,CAAO,IAAA,EAAM,EAAE,MAAA,EAAQ,IAAI,CAAA;AAC/C,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,EAAM;AAAA,EAC7B;AACA,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,UAAA,CAAW,KAAsB,IAAA,EAAuC;AAC/E,EAAA,MAAM,IAAA,GAAuB;AAAA,IAC3B,KAAA,EAAO,KAAK,IAAA,CAAK,KAAA;AAAA,IACjB,WAAA,EAAa,KAAK,IAAA,CAAK,WAAA;AAAA,IACvB,oBAAoB,uBAAA,CAAwB,GAAA,CAAI,QAAA,EAAU,GAAA,CAAI,SAAS,QAAQ;AAAA,GACjF;AAEA,EAAA,OAAO,IAAA;AACT;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,IAAI,OAAA,CAAQ,YAAA;AAAA,EACZ,MAAA,EAAQ,sBAAA;AAAA,EACR,IAAA,EAAM,UAAA;AAAA,EACN,SAAA,EAAW;AACb","file":"brands.js","sourcesContent":["import type { BrandsPageProps } from './types';\nimport { brand } from '../../api/brands';\nimport { getTwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\nexport async function brandsLoader(): Promise<BrandsPageProps> {\n const { items, next } = await brand.list();\n const i18n = getTwilightContext().i18n;\n return {\n page: { slug: RouteId.BRANDS_INDEX, title: i18n.t('common.titles.brands') || 'Brands' },\n brands: items,\n pagination: { next },\n };\n}\n","import type { HeadDescriptor } from '../../utils/head';\nimport { buildHreflangAlternates } from '../../utils/baseHead';\nimport { lazy } from 'react';\nimport { brandsLoader } from './loader';\nimport type { BrandsPageProps } from './types';\nimport type { TwilightContext } from '../../twilight/context';\nimport { RouteId } from '../../router/route-ids';\n\n// Lazy-load components for code-splitting\nconst LazyBrandsPage = lazy(() => import('./BrandsPage').then((m) => ({ default: m.BrandsPage })));\n\nexport const BrandsPage = LazyBrandsPage;\nexport { brandsLoader };\nexport type { BrandsPageProps, Brand, BrandsGroup } from './types';\n\nasync function brandsLoaderWithExtend(\n _ctx?: { locale?: string },\n extend?: (\n data: BrandsPageProps,\n ctx: { params: Record<string, never> }\n ) => Promise<Record<string, unknown>> | Record<string, unknown>\n): Promise<BrandsPageProps> {\n const data = await brandsLoader();\n\n if (extend) {\n const extra = await extend(data, { params: {} });\n return { ...data, ...extra } as BrandsPageProps;\n }\n return data;\n}\n\nfunction brandsHead(ctx: TwilightContext, data: BrandsPageProps): HeadDescriptor {\n const base: HeadDescriptor = {\n title: data.page.title,\n description: data.page.description,\n alternateLanguages: buildHreflangAlternates(ctx.settings, ctx.location.pathname),\n };\n\n return base;\n}\n\nexport const Brands = {\n id: RouteId.BRANDS_INDEX,\n loader: brandsLoaderWithExtend,\n head: brandsHead,\n Component: LazyBrandsPage,\n} as const;\n"]}
|
package/dist/routes/cart.js
CHANGED
|
@@ -1,36 +1,32 @@
|
|
|
1
|
-
import { cart } from '../chunk-
|
|
2
|
-
import { loyalty } from '../chunk-
|
|
1
|
+
import { cart } from '../chunk-NFE2H5JE.js';
|
|
2
|
+
import { loyalty } from '../chunk-7PYHB3PP.js';
|
|
3
3
|
import { CartSkeleton } from '../chunk-N7CCSGZF.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-R2BAI6QI.js';
|
|
5
5
|
import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-
|
|
10
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-2JL4S2LE.js';
|
|
7
|
+
import '../chunk-5HOD4BKK.js';
|
|
8
|
+
import '../chunk-H2DXJCJP.js';
|
|
9
|
+
import { LazySeoCartWidget, LazyCartItem, LazyCartSummary } from '../chunk-IHZVVSPW.js';
|
|
10
|
+
import '../chunk-GVJHDJW7.js';
|
|
11
11
|
import '../chunk-342EPVXN.js';
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
12
|
+
import '../chunk-BQURS54V.js';
|
|
13
|
+
import '../chunk-ILMX45PO.js';
|
|
14
14
|
import '../chunk-JKIRRMBU.js';
|
|
15
15
|
import '../chunk-2JV6WZ6O.js';
|
|
16
|
-
import '../chunk-
|
|
16
|
+
import '../chunk-A32NANNC.js';
|
|
17
17
|
import '../chunk-VVZNW5CB.js';
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
18
|
+
import '../chunk-HBTIZWT2.js';
|
|
19
|
+
import '../chunk-SDIQHTDG.js';
|
|
20
20
|
import { RouteId } from '../chunk-ZGHRSRDO.js';
|
|
21
|
-
import '../chunk-
|
|
21
|
+
import '../chunk-DIVEHHMD.js';
|
|
22
22
|
import '../chunk-C5X6CVXC.js';
|
|
23
|
-
import '../chunk-
|
|
24
|
-
import '../chunk-
|
|
25
|
-
import '../chunk-
|
|
23
|
+
import '../chunk-VYJDRAWX.js';
|
|
24
|
+
import '../chunk-FGROIU3Y.js';
|
|
25
|
+
import '../chunk-VX2T7JCB.js';
|
|
26
26
|
import '../chunk-TP3LCGE7.js';
|
|
27
27
|
import '../chunk-Z653O7MX.js';
|
|
28
28
|
import '../chunk-ZCH7W7DZ.js';
|
|
29
|
-
import '../chunk-
|
|
30
|
-
import '../chunk-RCHTHIIZ.js';
|
|
31
|
-
import '../chunk-TYLKNVQA.js';
|
|
32
|
-
import '../chunk-SR4OTLTJ.js';
|
|
33
|
-
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
29
|
+
import '../chunk-OGVUFMLX.js';
|
|
34
30
|
import '../chunk-JWXJPJBO.js';
|
|
35
31
|
import '../chunk-CW625T2E.js';
|
|
36
32
|
import '../chunk-7V36I5GT.js';
|
|
@@ -38,11 +34,10 @@ import '../chunk-BVSJPBJ6.js';
|
|
|
38
34
|
import '../chunk-GBWCXUPD.js';
|
|
39
35
|
import '../chunk-OAMIDZKW.js';
|
|
40
36
|
import { useTranslation } from '../chunk-TYNZ5B2B.js';
|
|
41
|
-
import '../chunk-T72DAX7R.js';
|
|
42
37
|
import '../chunk-RJPPO3ET.js';
|
|
43
38
|
import { HookSlot } from '../chunk-Q7VWURUR.js';
|
|
44
39
|
import '../chunk-GU2KUQVD.js';
|
|
45
|
-
import { LazyBreadcrumb, LazyNoContent } from '../chunk-
|
|
40
|
+
import { LazyBreadcrumb, LazyNoContent } from '../chunk-5O6PTKI5.js';
|
|
46
41
|
import '../chunk-AXW67SY7.js';
|
|
47
42
|
import '../chunk-BYMOPN2S.js';
|
|
48
43
|
import '../chunk-SKLEJJ6M.js';
|
|
@@ -50,7 +45,12 @@ import '../chunk-6BZ5TKEV.js';
|
|
|
50
45
|
import '../chunk-FZKRSGLP.js';
|
|
51
46
|
import '../chunk-CUG6VOLM.js';
|
|
52
47
|
import '../chunk-HX3YKS5W.js';
|
|
53
|
-
import '../chunk-
|
|
48
|
+
import '../chunk-MISI3T6V.js';
|
|
49
|
+
import '../chunk-3IHFA2X5.js';
|
|
50
|
+
import '../chunk-QVJDYSCT.js';
|
|
51
|
+
import '../chunk-LPQFTXBB.js';
|
|
52
|
+
import { getTwilightContext } from '../chunk-N2S25NXP.js';
|
|
53
|
+
import '../chunk-T72DAX7R.js';
|
|
54
54
|
import { useTwilight } from '../chunk-DF6FBKDN.js';
|
|
55
55
|
import '../chunk-DGUM43GV.js';
|
|
56
56
|
import { useQuery } from '@tanstack/react-query';
|