@salla.sa/twilight-theme-engine 1.0.45 → 1.0.47

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.
Files changed (263) hide show
  1. package/dist/{AddToCartForm-QBPE4QIU.js → AddToCartForm-NICDUAS3.js} +3 -3
  2. package/dist/{AddToCartForm-QBPE4QIU.js.map → AddToCartForm-NICDUAS3.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-X3I7KLML.js → BlogAuthorPage-NKPS4CQ2.js} +16 -15
  4. package/dist/BlogAuthorPage-NKPS4CQ2.js.map +1 -0
  5. package/dist/{BlogCategoryPage-F3ORUZAF.js → BlogCategoryPage-FSCFBS36.js} +16 -15
  6. package/dist/BlogCategoryPage-FSCFBS36.js.map +1 -0
  7. package/dist/{BlogPage-G7AOQDP2.js → BlogPage-OZTHYA3G.js} +14 -13
  8. package/dist/BlogPage-OZTHYA3G.js.map +1 -0
  9. package/dist/{BlogSinglePage-VP4ZLQPA.js → BlogSinglePage-KC67IUL7.js} +14 -13
  10. package/dist/BlogSinglePage-KC67IUL7.js.map +1 -0
  11. package/dist/{BlogTagPage-WCHB3VL2.js → BlogTagPage-N7JLIRKV.js} +16 -15
  12. package/dist/BlogTagPage-N7JLIRKV.js.map +1 -0
  13. package/dist/{BrandsPage-MR3RNHNS.js → BrandsPage-5SC62L6S.js} +14 -13
  14. package/dist/BrandsPage-5SC62L6S.js.map +1 -0
  15. package/dist/{Breadcrumb-QCWPUUEQ.js → Breadcrumb-W64WMO56.js} +14 -13
  16. package/dist/Breadcrumb-W64WMO56.js.map +1 -0
  17. package/dist/{CartItem-M2FEFI23.js → CartItem-UOVSSW5O.js} +14 -13
  18. package/dist/CartItem-UOVSSW5O.js.map +1 -0
  19. package/dist/{CartSummary-RND3CQYW.js → CartSummary-4V3L56U7.js} +14 -13
  20. package/dist/CartSummary-4V3L56U7.js.map +1 -0
  21. package/dist/{Copyright-YVUGHPR6.js → Copyright-OCQCOUFS.js} +3 -3
  22. package/dist/{Copyright-YVUGHPR6.js.map → Copyright-OCQCOUFS.js.map} +1 -1
  23. package/dist/{CustomerLayout-B7HTCSMV.js → CustomerLayout-PLJTAXCP.js} +14 -13
  24. package/dist/CustomerLayout-PLJTAXCP.js.map +1 -0
  25. package/dist/{Footer-JOBYWULB.js → Footer-QD7ASWFT.js} +14 -13
  26. package/dist/{Footer-JOBYWULB.js.map → Footer-QD7ASWFT.js.map} +1 -1
  27. package/dist/{Header-TE35DMNI.js → Header-M5GOR6XZ.js} +7 -6
  28. package/dist/{Header-TE35DMNI.js.map → Header-M5GOR6XZ.js.map} +1 -1
  29. package/dist/{LoyaltyPage-26NMNBJV.js → LoyaltyPage-C7FKYLIW.js} +15 -14
  30. package/dist/LoyaltyPage-C7FKYLIW.js.map +1 -0
  31. package/dist/{MainMenu-4ZZEDUBZ.js → MainMenu-MMAYRKYE.js} +8 -7
  32. package/dist/MainMenu-MMAYRKYE.js.map +1 -0
  33. package/dist/{MasterLayout-AELGECHE.js → MasterLayout-SCTQ42ID.js} +14 -13
  34. package/dist/{MasterLayout-AELGECHE.js.map → MasterLayout-SCTQ42ID.js.map} +1 -1
  35. package/dist/{MobileMenu-GFEOQWO6.js → MobileMenu-J34MVD6W.js} +15 -14
  36. package/dist/MobileMenu-J34MVD6W.js.map +1 -0
  37. package/dist/{NotificationsPage-226QGY4Q.js → NotificationsPage-KF6AIPK3.js} +14 -13
  38. package/dist/NotificationsPage-KF6AIPK3.js.map +1 -0
  39. package/dist/{OrderSinglePage-44VBTQQS.js → OrderSinglePage-LP7FUHKL.js} +18 -16
  40. package/dist/OrderSinglePage-LP7FUHKL.js.map +1 -0
  41. package/dist/{OrdersPage-NUQUDEAK.js → OrdersPage-A3K5BDBZ.js} +15 -14
  42. package/dist/OrdersPage-A3K5BDBZ.js.map +1 -0
  43. package/dist/{PageSingle-76O4HAYZ.js → PageSingle-FHHC5QDA.js} +3 -3
  44. package/dist/{PageSingle-76O4HAYZ.js.map → PageSingle-FHHC5QDA.js.map} +1 -1
  45. package/dist/{ProductDetails-WTXNHY2S.js → ProductDetails-AF3I5FQQ.js} +3 -3
  46. package/dist/{ProductDetails-WTXNHY2S.js.map → ProductDetails-AF3I5FQQ.js.map} +1 -1
  47. package/dist/{ProfilePage-K7ZEU6IF.js → ProfilePage-RXQIUTU4.js} +14 -13
  48. package/dist/ProfilePage-RXQIUTU4.js.map +1 -0
  49. package/dist/{SeoCartWidget-6LY5YQKA.js → SeoCartWidget-72U3UQKH.js} +14 -13
  50. package/dist/SeoCartWidget-72U3UQKH.js.map +1 -0
  51. package/dist/{SettingsPage-NDZAS5PQ.js → SettingsPage-65CZ2LNG.js} +14 -13
  52. package/dist/SettingsPage-65CZ2LNG.js.map +1 -0
  53. package/dist/{StoreClosedNotification-CU2OVCIG.js → StoreClosedNotification-4KJVEGPE.js} +15 -14
  54. package/dist/{StoreClosedNotification-CU2OVCIG.js.map → StoreClosedNotification-4KJVEGPE.js.map} +1 -1
  55. package/dist/{TestimonialsPage-ICQGRIXS.js → TestimonialsPage-NGCHKB4F.js} +3 -3
  56. package/dist/{TestimonialsPage-ICQGRIXS.js.map → TestimonialsPage-NGCHKB4F.js.map} +1 -1
  57. package/dist/{ThankYouPage-WIHRO3DC.js → ThankYouPage-A7IWCMXJ.js} +14 -13
  58. package/dist/ThankYouPage-A7IWCMXJ.js.map +1 -0
  59. package/dist/{WalletPage-YD4TKPGA.js → WalletPage-FNGL7Z3Z.js} +15 -14
  60. package/dist/WalletPage-FNGL7Z3Z.js.map +1 -0
  61. package/dist/{WishlistPage-3UNTMS2B.js → WishlistPage-KDLBETWD.js} +16 -15
  62. package/dist/WishlistPage-KDLBETWD.js.map +1 -0
  63. package/dist/api/apps.js +5 -4
  64. package/dist/api/brands.js +6 -5
  65. package/dist/api/cart.js +6 -5
  66. package/dist/api/category.js +6 -5
  67. package/dist/api/client.js +4 -3
  68. package/dist/api/home.js +5 -4
  69. package/dist/api/loyalty.js +6 -5
  70. package/dist/api/menu.js +5 -4
  71. package/dist/api/notification.js +5 -4
  72. package/dist/api/order.js +6 -5
  73. package/dist/api/page.js +6 -5
  74. package/dist/api/product.js +6 -5
  75. package/dist/api/profile.js +4 -3
  76. package/dist/api/profile.js.map +1 -1
  77. package/dist/api/store.js +5 -4
  78. package/dist/api/translations.js +5 -4
  79. package/dist/api/user.js +5 -4
  80. package/dist/api/wishlist.js +7 -6
  81. package/dist/chunk-3FIWHGCZ.js +101 -0
  82. package/dist/chunk-3FIWHGCZ.js.map +1 -0
  83. package/dist/{chunk-E5EH32L7.js → chunk-3MHDV5JS.js} +3 -3
  84. package/dist/{chunk-E5EH32L7.js.map → chunk-3MHDV5JS.js.map} +1 -1
  85. package/dist/{chunk-KOZYZQH4.js → chunk-3XIITSKM.js} +4 -4
  86. package/dist/{chunk-KOZYZQH4.js.map → chunk-3XIITSKM.js.map} +1 -1
  87. package/dist/{chunk-5TRRUV7N.js → chunk-4D44TJ72.js} +3 -3
  88. package/dist/{chunk-5TRRUV7N.js.map → chunk-4D44TJ72.js.map} +1 -1
  89. package/dist/{chunk-UWWYR3UX.js → chunk-65Z2ZDKZ.js} +6 -6
  90. package/dist/{chunk-UWWYR3UX.js.map → chunk-65Z2ZDKZ.js.map} +1 -1
  91. package/dist/{chunk-AGT5BKY4.js → chunk-AVPIY3Y4.js} +7 -7
  92. package/dist/{chunk-AGT5BKY4.js.map → chunk-AVPIY3Y4.js.map} +1 -1
  93. package/dist/{chunk-XLJPUFN4.js → chunk-CPQXPECC.js} +5 -5
  94. package/dist/{chunk-XLJPUFN4.js.map → chunk-CPQXPECC.js.map} +1 -1
  95. package/dist/{chunk-PNXUBS5X.js → chunk-DTWFNS3F.js} +16 -15
  96. package/dist/chunk-DTWFNS3F.js.map +1 -0
  97. package/dist/{chunk-ZNWNJZSM.js → chunk-EMKO3C2V.js} +4 -4
  98. package/dist/{chunk-ZNWNJZSM.js.map → chunk-EMKO3C2V.js.map} +1 -1
  99. package/dist/{chunk-KFH3OBFW.js → chunk-GXNQX4Z2.js} +4 -4
  100. package/dist/{chunk-KFH3OBFW.js.map → chunk-GXNQX4Z2.js.map} +1 -1
  101. package/dist/chunk-HNSZ6VBK.js +14 -0
  102. package/dist/{chunk-I2UBYEUG.js.map → chunk-HNSZ6VBK.js.map} +1 -1
  103. package/dist/{chunk-TMR7TZMB.js → chunk-ICNOLZNT.js} +4 -4
  104. package/dist/{chunk-TMR7TZMB.js.map → chunk-ICNOLZNT.js.map} +1 -1
  105. package/dist/{chunk-2AGMXJVP.js → chunk-IH3TQ3LD.js} +4 -4
  106. package/dist/{chunk-2AGMXJVP.js.map → chunk-IH3TQ3LD.js.map} +1 -1
  107. package/dist/{chunk-6KI2QCPL.js → chunk-JD4J2ZB6.js} +3 -3
  108. package/dist/{chunk-6KI2QCPL.js.map → chunk-JD4J2ZB6.js.map} +1 -1
  109. package/dist/{chunk-NX6BEOXW.js → chunk-JEJR23P4.js} +4 -4
  110. package/dist/{chunk-NX6BEOXW.js.map → chunk-JEJR23P4.js.map} +1 -1
  111. package/dist/{chunk-XLGVT7QF.js → chunk-JK77XRXR.js} +13 -9
  112. package/dist/chunk-JK77XRXR.js.map +1 -0
  113. package/dist/{chunk-XTOXFAP7.js → chunk-KT2MUSRN.js} +3 -3
  114. package/dist/{chunk-XTOXFAP7.js.map → chunk-KT2MUSRN.js.map} +1 -1
  115. package/dist/{chunk-ME727LL4.js → chunk-KV5R4LKM.js} +3 -3
  116. package/dist/{chunk-ME727LL4.js.map → chunk-KV5R4LKM.js.map} +1 -1
  117. package/dist/{chunk-3644MRQI.js → chunk-L42W6YS3.js} +5 -5
  118. package/dist/{chunk-3644MRQI.js.map → chunk-L42W6YS3.js.map} +1 -1
  119. package/dist/{chunk-G6F5DCCP.js → chunk-LKBWIN26.js} +3 -3
  120. package/dist/{chunk-G6F5DCCP.js.map → chunk-LKBWIN26.js.map} +1 -1
  121. package/dist/{chunk-CCCKRNO4.js → chunk-MENDTTOA.js} +3 -3
  122. package/dist/{chunk-CCCKRNO4.js.map → chunk-MENDTTOA.js.map} +1 -1
  123. package/dist/{chunk-AZ5HAIYQ.js → chunk-O6XXHXC4.js} +5 -4
  124. package/dist/chunk-O6XXHXC4.js.map +1 -0
  125. package/dist/{chunk-2TEGEKIQ.js → chunk-OKP6LUT7.js} +4 -4
  126. package/dist/{chunk-2TEGEKIQ.js.map → chunk-OKP6LUT7.js.map} +1 -1
  127. package/dist/{chunk-QG2Q6HB5.js → chunk-P4DUWQU4.js} +3 -3
  128. package/dist/{chunk-QG2Q6HB5.js.map → chunk-P4DUWQU4.js.map} +1 -1
  129. package/dist/{chunk-6XWMNQ52.js → chunk-PJWFEMBX.js} +15 -4
  130. package/dist/chunk-PJWFEMBX.js.map +1 -0
  131. package/dist/{chunk-OGGWNPF3.js → chunk-PZL3JWM2.js} +3 -3
  132. package/dist/{chunk-OGGWNPF3.js.map → chunk-PZL3JWM2.js.map} +1 -1
  133. package/dist/{chunk-6MGDRMZM.js → chunk-QKIQ3K24.js} +4 -4
  134. package/dist/{chunk-6MGDRMZM.js.map → chunk-QKIQ3K24.js.map} +1 -1
  135. package/dist/{chunk-BWIESZJK.js → chunk-QUUSMVCP.js} +3 -3
  136. package/dist/{chunk-BWIESZJK.js.map → chunk-QUUSMVCP.js.map} +1 -1
  137. package/dist/{chunk-MLIJWD6B.js → chunk-QVPMWMPP.js} +35 -14
  138. package/dist/chunk-QVPMWMPP.js.map +1 -0
  139. package/dist/{chunk-X26WB7AG.js → chunk-R6M6RM6U.js} +3 -3
  140. package/dist/{chunk-X26WB7AG.js.map → chunk-R6M6RM6U.js.map} +1 -1
  141. package/dist/{chunk-J5J64BAN.js → chunk-U325BK62.js} +4 -4
  142. package/dist/{chunk-J5J64BAN.js.map → chunk-U325BK62.js.map} +1 -1
  143. package/dist/{chunk-G4M73JU5.js → chunk-UQRLBMIO.js} +6 -6
  144. package/dist/{chunk-G4M73JU5.js.map → chunk-UQRLBMIO.js.map} +1 -1
  145. package/dist/{chunk-RBISDOPR.js → chunk-UV5BRJH4.js} +4 -4
  146. package/dist/{chunk-RBISDOPR.js.map → chunk-UV5BRJH4.js.map} +1 -1
  147. package/dist/{chunk-ULQMJUO2.js → chunk-WHOWSSX4.js} +4 -4
  148. package/dist/{chunk-ULQMJUO2.js.map → chunk-WHOWSSX4.js.map} +1 -1
  149. package/dist/{chunk-CG3AM4DH.js → chunk-WITIL2MK.js} +5 -5
  150. package/dist/{chunk-CG3AM4DH.js.map → chunk-WITIL2MK.js.map} +1 -1
  151. package/dist/{chunk-QIC6DSWU.js → chunk-WL5CWJVZ.js} +4 -4
  152. package/dist/{chunk-QIC6DSWU.js.map → chunk-WL5CWJVZ.js.map} +1 -1
  153. package/dist/{chunk-2KZORZZN.js → chunk-WMSOSA74.js} +5 -5
  154. package/dist/{chunk-2KZORZZN.js.map → chunk-WMSOSA74.js.map} +1 -1
  155. package/dist/{chunk-JBXTU5NM.js → chunk-XTMHHLNK.js} +62 -78
  156. package/dist/chunk-XTMHHLNK.js.map +1 -0
  157. package/dist/{chunk-RIZOT5FN.js → chunk-Z74NUTEI.js} +3 -3
  158. package/dist/{chunk-RIZOT5FN.js.map → chunk-Z74NUTEI.js.map} +1 -1
  159. package/dist/components/cart/index.js +1 -1
  160. package/dist/components/common/index.js +1 -1
  161. package/dist/components/drawer/index.js +12 -11
  162. package/dist/components/home/index.js +15 -14
  163. package/dist/components/layout/index.js +5 -5
  164. package/dist/components/product/index.js +13 -12
  165. package/dist/components/store/index.js +14 -13
  166. package/dist/components/store/index.js.map +1 -1
  167. package/dist/document-class-IESLLQCD.js +26 -0
  168. package/dist/{document-class-G34XZMVK.js.map → document-class-IESLLQCD.js.map} +1 -1
  169. package/dist/hooks/index.js +12 -11
  170. package/dist/hooks/useGtm.js +12 -11
  171. package/dist/hooks/useMoney.js +12 -11
  172. package/dist/hooks/useStore.js +12 -11
  173. package/dist/hooks/useUser.js +6 -5
  174. package/dist/index.js +12 -11
  175. package/dist/index.js.map +1 -1
  176. package/dist/{navigation-D7QS3NK2.js → navigation-BCTD7TIG.js} +5 -4
  177. package/dist/navigation-BCTD7TIG.js.map +1 -0
  178. package/dist/{navigation-DQNNT2LY.js → navigation-DF2RT7D6.js} +6 -5
  179. package/dist/{navigation-DQNNT2LY.js.map → navigation-DF2RT7D6.js.map} +1 -1
  180. package/dist/{not-found-6PX2EO7T.js → not-found-3OWRDBD3.js} +14 -13
  181. package/dist/not-found-3OWRDBD3.js.map +1 -0
  182. package/dist/providers/NavigationProvider.d.ts +9 -2
  183. package/dist/providers/NavigationProvider.d.ts.map +1 -1
  184. package/dist/providers/index.js +12 -11
  185. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  186. package/dist/routes/account/orders.js +7 -6
  187. package/dist/routes/account.js +16 -15
  188. package/dist/routes/account.js.map +1 -1
  189. package/dist/routes/blog.js +11 -10
  190. package/dist/routes/blog.js.map +1 -1
  191. package/dist/routes/brands.js +7 -6
  192. package/dist/routes/brands.js.map +1 -1
  193. package/dist/routes/cart.js +20 -19
  194. package/dist/routes/cart.js.map +1 -1
  195. package/dist/routes/home.js +17 -16
  196. package/dist/routes/index.js +4 -3
  197. package/dist/routes/loyalty.js +7 -6
  198. package/dist/routes/loyalty.js.map +1 -1
  199. package/dist/routes/page.js +7 -6
  200. package/dist/routes/page.js.map +1 -1
  201. package/dist/routes/product-listing/ProductListPage.d.ts.map +1 -1
  202. package/dist/routes/product-listing.js +22 -21
  203. package/dist/routes/product-listing.js.map +1 -1
  204. package/dist/routes/product.js +15 -14
  205. package/dist/routes/product.js.map +1 -1
  206. package/dist/routes/root/beforeLoad.d.ts.map +1 -1
  207. package/dist/routes/seo-redirects.js +4 -3
  208. package/dist/routes/testimonials.js +2 -2
  209. package/dist/routes/thank-you.js +7 -6
  210. package/dist/routes/thank-you.js.map +1 -1
  211. package/dist/skeleton.js +17 -16
  212. package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
  213. package/dist/tanstack/router.d.ts.map +1 -1
  214. package/dist/tanstack/store-base.d.ts +20 -0
  215. package/dist/tanstack/store-base.d.ts.map +1 -0
  216. package/dist/tanstack.js +18 -17
  217. package/dist/tanstack.js.map +1 -1
  218. package/dist/twilight/context.d.ts +10 -0
  219. package/dist/twilight/context.d.ts.map +1 -1
  220. package/dist/utils/cookies.d.ts +56 -0
  221. package/dist/utils/cookies.d.ts.map +1 -1
  222. package/dist/utils/index.js +5 -4
  223. package/dist/utils/index.js.map +1 -1
  224. package/dist/utils/runtime-env.d.ts +11 -0
  225. package/dist/utils/runtime-env.d.ts.map +1 -1
  226. package/dist/utils/store-base.d.ts +62 -0
  227. package/dist/utils/store-base.d.ts.map +1 -0
  228. package/dist/utils/store-identity.d.ts +38 -3
  229. package/dist/utils/store-identity.d.ts.map +1 -1
  230. package/dist/vite/index.js +2 -2
  231. package/package.json +1 -1
  232. package/dist/BlogAuthorPage-X3I7KLML.js.map +0 -1
  233. package/dist/BlogCategoryPage-F3ORUZAF.js.map +0 -1
  234. package/dist/BlogPage-G7AOQDP2.js.map +0 -1
  235. package/dist/BlogSinglePage-VP4ZLQPA.js.map +0 -1
  236. package/dist/BlogTagPage-WCHB3VL2.js.map +0 -1
  237. package/dist/BrandsPage-MR3RNHNS.js.map +0 -1
  238. package/dist/Breadcrumb-QCWPUUEQ.js.map +0 -1
  239. package/dist/CartItem-M2FEFI23.js.map +0 -1
  240. package/dist/CartSummary-RND3CQYW.js.map +0 -1
  241. package/dist/CustomerLayout-B7HTCSMV.js.map +0 -1
  242. package/dist/LoyaltyPage-26NMNBJV.js.map +0 -1
  243. package/dist/MainMenu-4ZZEDUBZ.js.map +0 -1
  244. package/dist/MobileMenu-GFEOQWO6.js.map +0 -1
  245. package/dist/NotificationsPage-226QGY4Q.js.map +0 -1
  246. package/dist/OrderSinglePage-44VBTQQS.js.map +0 -1
  247. package/dist/OrdersPage-NUQUDEAK.js.map +0 -1
  248. package/dist/ProfilePage-K7ZEU6IF.js.map +0 -1
  249. package/dist/SeoCartWidget-6LY5YQKA.js.map +0 -1
  250. package/dist/SettingsPage-NDZAS5PQ.js.map +0 -1
  251. package/dist/ThankYouPage-WIHRO3DC.js.map +0 -1
  252. package/dist/WalletPage-YD4TKPGA.js.map +0 -1
  253. package/dist/WishlistPage-3UNTMS2B.js.map +0 -1
  254. package/dist/chunk-6XWMNQ52.js.map +0 -1
  255. package/dist/chunk-AZ5HAIYQ.js.map +0 -1
  256. package/dist/chunk-I2UBYEUG.js +0 -14
  257. package/dist/chunk-JBXTU5NM.js.map +0 -1
  258. package/dist/chunk-MLIJWD6B.js.map +0 -1
  259. package/dist/chunk-PNXUBS5X.js.map +0 -1
  260. package/dist/chunk-XLGVT7QF.js.map +0 -1
  261. package/dist/document-class-G34XZMVK.js +0 -25
  262. package/dist/navigation-D7QS3NK2.js.map +0 -1
  263. package/dist/not-found-6PX2EO7T.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { NextJsLinkAdapter } from './chunk-HTGBIA7K.js';
2
- import { NavigationProvider, defaultNavigate } from './chunk-XLGVT7QF.js';
2
+ import { NavigationProvider, defaultNavigate } from './chunk-JK77XRXR.js';
3
3
  import './chunk-MTONGOJD.js';
4
- import './chunk-6XWMNQ52.js';
4
+ import './chunk-XTMHHLNK.js';
5
+ import './chunk-PJWFEMBX.js';
5
6
  import './chunk-T72DAX7R.js';
6
7
  import { LinkProvider } from './chunk-BYMOPN2S.js';
7
8
  import './chunk-DF6FBKDN.js';
@@ -13,5 +14,5 @@ function NavigationSetup({ children }) {
13
14
  }
14
15
 
15
16
  export { NavigationSetup };
16
- //# sourceMappingURL=navigation-D7QS3NK2.js.map
17
- //# sourceMappingURL=navigation-D7QS3NK2.js.map
17
+ //# sourceMappingURL=navigation-BCTD7TIG.js.map
18
+ //# sourceMappingURL=navigation-BCTD7TIG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/nextjs/navigation.tsx"],"names":[],"mappings":";;;;;;;;;;;AASO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAA4B;AACrE,EAAA,uBACE,GAAA,CAAC,sBAAmB,QAAA,EAAU,eAAA,EAC5B,8BAAC,YAAA,EAAA,EAAa,OAAA,EAAS,iBAAA,EAAoB,QAAA,EAAS,CAAA,EACtD,CAAA;AAEJ","file":"navigation-BCTD7TIG.js","sourcesContent":["import { NavigationProvider, defaultNavigate } from '../providers/NavigationProvider';\nimport { LinkProvider } from '../providers/LinkProvider';\nimport { NextJsLinkAdapter } from './link';\nimport type { ReactNode } from 'react';\n\n/**\n * Next.js navigation setup - wraps children with NavigationProvider and LinkProvider.\n * Called by TwilightProvider when client.framework === 'nextjs'.\n */\nexport function NavigationSetup({ children }: { children: ReactNode }) {\n return (\n <NavigationProvider navigate={defaultNavigate}>\n <LinkProvider adapter={NextJsLinkAdapter}>{children}</LinkProvider>\n </NavigationProvider>\n );\n}\n"]}
@@ -1,10 +1,11 @@
1
- export { NavigationSetup, TanStackNavigationProvider } from './chunk-BWIESZJK.js';
2
- import './chunk-XLGVT7QF.js';
1
+ export { NavigationSetup, TanStackNavigationProvider } from './chunk-QUUSMVCP.js';
2
+ import './chunk-JK77XRXR.js';
3
3
  import './chunk-MTONGOJD.js';
4
- import './chunk-6XWMNQ52.js';
4
+ import './chunk-XTMHHLNK.js';
5
+ import './chunk-PJWFEMBX.js';
5
6
  import './chunk-T72DAX7R.js';
6
7
  import './chunk-BYMOPN2S.js';
7
8
  import './chunk-DF6FBKDN.js';
8
9
  import './chunk-DGUM43GV.js';
9
- //# sourceMappingURL=navigation-DQNNT2LY.js.map
10
- //# sourceMappingURL=navigation-DQNNT2LY.js.map
10
+ //# sourceMappingURL=navigation-DF2RT7D6.js.map
11
+ //# sourceMappingURL=navigation-DF2RT7D6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-DQNNT2LY.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"navigation-DF2RT7D6.js"}
@@ -1,19 +1,20 @@
1
- import './chunk-PNXUBS5X.js';
2
- import './chunk-UWWYR3UX.js';
1
+ import './chunk-DTWFNS3F.js';
2
+ import './chunk-65Z2ZDKZ.js';
3
3
  import './chunk-JKIRRMBU.js';
4
4
  import './chunk-2JV6WZ6O.js';
5
5
  import './chunk-6IATCGID.js';
6
- import './chunk-E5EH32L7.js';
6
+ import './chunk-3MHDV5JS.js';
7
7
  import './chunk-VVZNW5CB.js';
8
- import './chunk-6KI2QCPL.js';
9
- import './chunk-XLGVT7QF.js';
8
+ import './chunk-JD4J2ZB6.js';
9
+ import './chunk-JK77XRXR.js';
10
10
  import './chunk-MTONGOJD.js';
11
11
  import './chunk-C5X6CVXC.js';
12
- import './chunk-6MGDRMZM.js';
13
- import './chunk-RIZOT5FN.js';
14
- import './chunk-AZ5HAIYQ.js';
15
- import './chunk-JBXTU5NM.js';
16
- import './chunk-6XWMNQ52.js';
12
+ import './chunk-QKIQ3K24.js';
13
+ import './chunk-Z74NUTEI.js';
14
+ import './chunk-O6XXHXC4.js';
15
+ import './chunk-3FIWHGCZ.js';
16
+ import './chunk-XTMHHLNK.js';
17
+ import './chunk-PJWFEMBX.js';
17
18
  import './chunk-TP3LCGE7.js';
18
19
  import './chunk-Z653O7MX.js';
19
20
  import './chunk-ZCH7W7DZ.js';
@@ -29,7 +30,7 @@ import './chunk-YMVLYYLU.js';
29
30
  import './chunk-RJPPO3ET.js';
30
31
  import { HookSlot } from './chunk-Q7VWURUR.js';
31
32
  import './chunk-GU2KUQVD.js';
32
- import { LazyErrorPage } from './chunk-G6F5DCCP.js';
33
+ import { LazyErrorPage } from './chunk-LKBWIN26.js';
33
34
  import './chunk-AXW67SY7.js';
34
35
  import './chunk-BYMOPN2S.js';
35
36
  import './chunk-SKLEJJ6M.js';
@@ -70,5 +71,5 @@ function NotFoundPage(props = {}) {
70
71
  }
71
72
 
72
73
  export { NotFoundPage };
73
- //# sourceMappingURL=not-found-6PX2EO7T.js.map
74
- //# sourceMappingURL=not-found-6PX2EO7T.js.map
74
+ //# sourceMappingURL=not-found-3OWRDBD3.js.map
75
+ //# sourceMappingURL=not-found-3OWRDBD3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/routes/not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,SAAS,YAAA,CAAa,KAAA,GAA2B,EAAC,EAAG;AAC1D,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,MAAM;AAAA,IACJ,KAAA,GAAQ,CAAA,CAAE,mBAAmB,CAAA,IAAK,gBAAA;AAAA,IAClC,OAAA,GAAU,CAAA,CAAE,8BAA8B,CAAA,IACxC,gEAAA;AAAA,IACF,YAAA,GAAe,IAAA;AAAA,IACf,YAAA,GAAe,CAAA,CAAE,2BAA2B,CAAA,IAAK,cAAA;AAAA,IACjD;AAAA,GACF,GAAI,KAAA;AAEJ,EAAA,uBACE,IAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAM,GAAA;AAAA,MACN,KAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,EAAY,YAAA;AAAA,MACZ,UAAA,EAAY,YAAA;AAAA,MACZ,aAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,gBAAA,EAAiB,CAAA;AAAA,wBAChC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kBAAA,EAAmB,CAAA;AAAA,wBAClC,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,cAAA,EAAe;AAAA;AAAA;AAAA,GAChC;AAEJ","file":"not-found-3OWRDBD3.js","sourcesContent":["import type { ComponentType, ReactNode } from 'react';\nimport { HookSlot } from '../hooks';\nimport { useTranslation } from '../providers/I18nProvider';\nimport { ErrorPage } from '../components/common';\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\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 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"]}
@@ -186,11 +186,18 @@ export declare function NavigationInterceptor(): null;
186
186
  * Returns `null` when the URL is not on the same origin as the store,
187
187
  * keeping this helper safe against open-redirect misuse.
188
188
  *
189
+ * The path is the application's, not the address on Salla's host: a store served
190
+ * under its username there (`https://demostore.salla.sa/ar/dev-…/`) hands out links
191
+ * carrying that segment, and it is removed. On a host where the store is the root
192
+ * of every URL, the router adds its own segment back when it navigates.
193
+ *
189
194
  * @param href - The URL to resolve
190
195
  * @param storeUrl - The store's base URL
196
+ * @param username - The store's username, which tells that segment apart from a
197
+ * locale spelled the same way (see `withoutStoreUrlBase`)
191
198
  * @returns The relative path string, or null if the URL is external
192
199
  */
193
- export declare function resolveRelativePath(href: string, storeUrl: string): string | null;
200
+ export declare function resolveRelativePath(href: string, storeUrl: string, username?: string | null): string | null;
194
201
  /**
195
202
  * shouldIntercept - Determine if an anchor click should be intercepted by SPA router
196
203
  *
@@ -206,7 +213,7 @@ export declare function shouldIntercept(anchor: HTMLAnchorElement, event: MouseE
206
213
  * Hook for navigation interception using framework-agnostic navigate function.
207
214
  * Framework adapters call this with their navigate implementation.
208
215
  */
209
- export declare function useNavigationInterceptor(navigate: NavigateFn, storeUrl: string | undefined): void;
216
+ export declare function useNavigationInterceptor(navigate: NavigateFn, storeUrl: string | undefined, username?: string): void;
210
217
  export interface ClientNav {
211
218
  /** Framework adapter to use for client-side navigation. @default 'tanstack' */
212
219
  framework?: 'tanstack' | 'nextjs';
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProvider.d.ts","sourceRoot":"","sources":["../../src/providers/NavigationProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAyC,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAInG,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,YAAY,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;AAEtE,oDAAoD;AACpD,qBAAa,aAAc,SAAQ,KAAK;IAE7B,IAAI,EAAE,MAAM;IACZ,OAAO;gBADP,IAAI,EAAE,MAAM,EACZ,OAAO,UAAQ;CAKzB;AAED,6CAA6C;AAC7C,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,iDAAiD;AACjD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,eAAe,EAAE,UAG7B,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,OAAO;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,KAU5E,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,KAElD,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,KAEtD,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,eAAO,IAAI,QAAQ,aAvBuB,MAAM,KAAG,KAuBd,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,eAAO,IAAI,YAAY,aA/BuB,MAAM,KAAG,KA+BV,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,eAAO,IAAI,QAAQ,SAlEmB,MAAM,SAAS;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,KAkExC,CAAC;AAEtC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;CAC7C,GAAG,IAAI,CAIP;AAID;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOhE;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUvE;AAID,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,UAAU,CAAC;CACtB;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,mGAEA;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAExC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAG1F;AAID;uCACuC;AACvC,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,oCAAoC;AACpC,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,gDAAgD;AAChD,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,4CAA4C;AAC5C,wBAAgB,SAAS,IAAI,OAAO,CAGnC;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED,sCAAsC;AACtC,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjF;AAOD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAwBrF;AAID;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA8GjG;AAID,MAAM,WAAW,SAAS;IACxB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"NavigationProvider.d.ts","sourceRoot":"","sources":["../../src/providers/NavigationProvider.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,20 @@
1
- export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-PNXUBS5X.js';
2
- import '../chunk-UWWYR3UX.js';
1
+ export { TwilightProvider, registerDocumentSync, routeDocumentSyncs } from '../chunk-DTWFNS3F.js';
2
+ import '../chunk-65Z2ZDKZ.js';
3
3
  import '../chunk-JKIRRMBU.js';
4
4
  import '../chunk-2JV6WZ6O.js';
5
5
  import '../chunk-6IATCGID.js';
6
- import '../chunk-E5EH32L7.js';
6
+ import '../chunk-3MHDV5JS.js';
7
7
  import '../chunk-VVZNW5CB.js';
8
- import '../chunk-6KI2QCPL.js';
9
- export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-XLGVT7QF.js';
8
+ import '../chunk-JD4J2ZB6.js';
9
+ export { NavigationInterceptor, NavigationProvider, NotFoundError, RedirectError, UnauthorizedError, configureNavigation, notFound, orThrow, orUnauthorized, redirect, unauthorized, useIsBlog, useIsBrands, useIsCart, useIsCustomer, useIsHome, useIsProduct, useIsSearch, useLocation, useNavigate, useRouteId } from '../chunk-JK77XRXR.js';
10
10
  export { RouteId } from '../chunk-MTONGOJD.js';
11
11
  import '../chunk-C5X6CVXC.js';
12
- import '../chunk-6MGDRMZM.js';
13
- import '../chunk-RIZOT5FN.js';
14
- import '../chunk-AZ5HAIYQ.js';
15
- import '../chunk-JBXTU5NM.js';
16
- export { SettingsError } from '../chunk-6XWMNQ52.js';
12
+ import '../chunk-QKIQ3K24.js';
13
+ import '../chunk-Z74NUTEI.js';
14
+ import '../chunk-O6XXHXC4.js';
15
+ import '../chunk-3FIWHGCZ.js';
16
+ import '../chunk-XTMHHLNK.js';
17
+ export { SettingsError } from '../chunk-PJWFEMBX.js';
17
18
  import '../chunk-TP3LCGE7.js';
18
19
  import '../chunk-Z653O7MX.js';
19
20
  import '../chunk-ZCH7W7DZ.js';
@@ -29,7 +30,7 @@ import '../chunk-YMVLYYLU.js';
29
30
  import '../chunk-RJPPO3ET.js';
30
31
  import '../chunk-Q7VWURUR.js';
31
32
  import '../chunk-GU2KUQVD.js';
32
- import '../chunk-G6F5DCCP.js';
33
+ import '../chunk-LKBWIN26.js';
33
34
  import '../chunk-AXW67SY7.js';
34
35
  export { LinkProvider, LinkProviderError, createLinkWithAdapter, useLinkAdapter } from '../chunk-BYMOPN2S.js';
35
36
  import '../chunk-SKLEJJ6M.js';
@@ -1 +1 @@
1
- {"version":3,"file":"OrderSinglePage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrderSinglePage.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAkBrD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,+BAwhB9D"}
1
+ {"version":3,"file":"OrderSinglePage.d.ts","sourceRoot":"","sources":["../../../../src/routes/account/orders/OrderSinglePage.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAkBrD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,+BA2hB9D"}
@@ -1,11 +1,12 @@
1
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-AGT5BKY4.js';
2
- import '../../chunk-2TEGEKIQ.js';
1
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../../chunk-AVPIY3Y4.js';
2
+ import '../../chunk-OKP6LUT7.js';
3
3
  import '../../chunk-TZ3E5BN4.js';
4
- import '../../chunk-XLGVT7QF.js';
4
+ import '../../chunk-JK77XRXR.js';
5
5
  import '../../chunk-MTONGOJD.js';
6
- import '../../chunk-AZ5HAIYQ.js';
7
- import '../../chunk-JBXTU5NM.js';
8
- import '../../chunk-6XWMNQ52.js';
6
+ import '../../chunk-O6XXHXC4.js';
7
+ import '../../chunk-3FIWHGCZ.js';
8
+ import '../../chunk-XTMHHLNK.js';
9
+ import '../../chunk-PJWFEMBX.js';
9
10
  import '../../chunk-T72DAX7R.js';
10
11
  import '../../chunk-DF6FBKDN.js';
11
12
  import '../../chunk-DGUM43GV.js';
@@ -1,15 +1,16 @@
1
- import { wallet } from '../chunk-OGGWNPF3.js';
2
- export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-AGT5BKY4.js';
3
- import '../chunk-2TEGEKIQ.js';
4
- import { notification } from '../chunk-CCCKRNO4.js';
5
- import { wishlist } from '../chunk-KOZYZQH4.js';
1
+ import { wallet } from '../chunk-PZL3JWM2.js';
2
+ export { OrderSingle, OrderSinglePage, Orders, OrdersPage, orderSingleLoader, ordersLoader } from '../chunk-AVPIY3Y4.js';
3
+ import '../chunk-OKP6LUT7.js';
4
+ import { notification } from '../chunk-MENDTTOA.js';
5
+ import { wishlist } from '../chunk-3XIITSKM.js';
6
6
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
7
- import '../chunk-XLJPUFN4.js';
8
- import { unauthorized, orUnauthorized } from '../chunk-XLGVT7QF.js';
7
+ import '../chunk-CPQXPECC.js';
8
+ import { unauthorized, orUnauthorized } from '../chunk-JK77XRXR.js';
9
9
  import { RouteId } from '../chunk-MTONGOJD.js';
10
- import '../chunk-AZ5HAIYQ.js';
11
- import '../chunk-JBXTU5NM.js';
12
- import { getTwilightContext } from '../chunk-6XWMNQ52.js';
10
+ import '../chunk-O6XXHXC4.js';
11
+ import '../chunk-3FIWHGCZ.js';
12
+ import '../chunk-XTMHHLNK.js';
13
+ import { getTwilightContext } from '../chunk-PJWFEMBX.js';
13
14
  import '../chunk-T72DAX7R.js';
14
15
  import '../chunk-DF6FBKDN.js';
15
16
  import '../chunk-DGUM43GV.js';
@@ -29,7 +30,7 @@ async function profileLoader(_ctx) {
29
30
 
30
31
  // src/routes/account/profile/index.tsx
31
32
  var LazyProfilePage = lazy(
32
- () => import('../ProfilePage-K7ZEU6IF.js').then((m) => ({ default: m.ProfilePage }))
33
+ () => import('../ProfilePage-RXQIUTU4.js').then((m) => ({ default: m.ProfilePage }))
33
34
  );
34
35
  var ProfilePage = LazyProfilePage;
35
36
  var Profile = {
@@ -70,7 +71,7 @@ async function wishlistLoader(ctx) {
70
71
 
71
72
  // src/routes/account/wishlist/index.tsx
72
73
  var LazyWishlistPage = lazy(
73
- () => import('../WishlistPage-3UNTMS2B.js').then((m) => ({ default: m.WishlistPage }))
74
+ () => import('../WishlistPage-KDLBETWD.js').then((m) => ({ default: m.WishlistPage }))
74
75
  );
75
76
  var WishlistPage = LazyWishlistPage;
76
77
  var Wishlist = {
@@ -111,7 +112,7 @@ async function walletLoader(ctx) {
111
112
  }
112
113
 
113
114
  // src/routes/account/wallet/index.tsx
114
- var LazyWalletPage = lazy(() => import('../WalletPage-YD4TKPGA.js').then((m) => ({ default: m.WalletPage })));
115
+ var LazyWalletPage = lazy(() => import('../WalletPage-FNGL7Z3Z.js').then((m) => ({ default: m.WalletPage })));
115
116
  var WalletPage = LazyWalletPage;
116
117
  var Wallet = {
117
118
  id: RouteId.CUSTOMER_WALLET,
@@ -146,7 +147,7 @@ async function notificationsLoader(_ctx) {
146
147
 
147
148
  // src/routes/account/notifications/index.tsx
148
149
  var LazyNotificationsPage = lazy(
149
- () => import('../NotificationsPage-226QGY4Q.js').then((m) => ({ default: m.NotificationsPage }))
150
+ () => import('../NotificationsPage-KF6AIPK3.js').then((m) => ({ default: m.NotificationsPage }))
150
151
  );
151
152
  var NotificationsPage = LazyNotificationsPage;
152
153
  var Notifications = {
@@ -178,7 +179,7 @@ async function settingsLoader(_ctx) {
178
179
 
179
180
  // src/routes/account/settings/index.tsx
180
181
  var LazySettingsPage = lazy(
181
- () => import('../SettingsPage-NDZAS5PQ.js').then((m) => ({ default: m.SettingsPage }))
182
+ () => import('../SettingsPage-65CZ2LNG.js').then((m) => ({ default: m.SettingsPage }))
182
183
  );
183
184
  var SettingsPage = LazySettingsPage;
184
185
  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';\n\nexport async function profileLoader(_ctx: { locale: string }): Promise<ProfilePageProps> {\n const { authToken, i18n } = getTwilightContext();\n if (!authToken) throw unauthorized();\n return {\n page: {\n title: i18n.t('common.titles.profile') || 'Profile',\n slug: '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 } from '../../../providers/NavigationProvider';\n\nexport async function wishlistLoader(ctx: LoaderContext): Promise<WishlistPageProps> {\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: '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 } from '../../../providers/NavigationProvider';\n\nexport async function walletLoader(ctx: LoaderContext): Promise<WalletPageProps> {\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: '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 } from '../../../providers/NavigationProvider';\nimport type { NotificationsPageProps } from './types';\n\nexport async function notificationsLoader(_ctx: {\n locale: string;\n}): Promise<NotificationsPageProps> {\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: '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';\n\nexport async function settingsLoader(_ctx: { locale: string }): Promise<SettingsPageProps> {\n const { authToken, i18n } = getTwilightContext();\n if (!authToken) throw unauthorized();\n return {\n page: { title: i18n.t('common.titles.settings') || 'Settings', slug: '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';\n\nexport async function profileLoader(_ctx: { locale: string }): Promise<ProfilePageProps> {\n const { authToken, i18n } = getTwilightContext();\n if (!authToken) throw unauthorized();\n return {\n page: {\n title: i18n.t('common.titles.profile') || 'Profile',\n slug: '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 } from '../../../providers/NavigationProvider';\n\nexport async function wishlistLoader(ctx: LoaderContext): Promise<WishlistPageProps> {\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: '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 } from '../../../providers/NavigationProvider';\n\nexport async function walletLoader(ctx: LoaderContext): Promise<WalletPageProps> {\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: '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 } from '../../../providers/NavigationProvider';\nimport type { NotificationsPageProps } from './types';\n\nexport async function notificationsLoader(_ctx: {\n locale: string;\n}): Promise<NotificationsPageProps> {\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: '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';\n\nexport async function settingsLoader(_ctx: { locale: string }): Promise<SettingsPageProps> {\n const { authToken, i18n } = getTwilightContext();\n if (!authToken) throw unauthorized();\n return {\n page: { title: i18n.t('common.titles.settings') || 'Settings', slug: '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,10 +1,11 @@
1
- import { blog } from '../chunk-NX6BEOXW.js';
1
+ import { blog } from '../chunk-JEJR23P4.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
- import '../chunk-XLGVT7QF.js';
3
+ import '../chunk-JK77XRXR.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-AZ5HAIYQ.js';
6
- import '../chunk-JBXTU5NM.js';
7
- import { getTwilightContext } from '../chunk-6XWMNQ52.js';
5
+ import '../chunk-O6XXHXC4.js';
6
+ import '../chunk-3FIWHGCZ.js';
7
+ import '../chunk-XTMHHLNK.js';
8
+ import { getTwilightContext } from '../chunk-PJWFEMBX.js';
8
9
  import '../chunk-T72DAX7R.js';
9
10
  import '../chunk-DF6FBKDN.js';
10
11
  import '../chunk-DGUM43GV.js';
@@ -133,18 +134,18 @@ async function blogTagLoader({
133
134
  }
134
135
 
135
136
  // src/routes/blog/index.tsx
136
- var LazyBlogPage = lazy(() => import('../BlogPage-G7AOQDP2.js').then((m) => ({ default: m.BlogPage })));
137
+ var LazyBlogPage = lazy(() => import('../BlogPage-OZTHYA3G.js').then((m) => ({ default: m.BlogPage })));
137
138
  var LazyBlogSinglePage = lazy(
138
- () => import('../BlogSinglePage-VP4ZLQPA.js').then((m) => ({ default: m.BlogSinglePage }))
139
+ () => import('../BlogSinglePage-KC67IUL7.js').then((m) => ({ default: m.BlogSinglePage }))
139
140
  );
140
141
  var LazyBlogAuthorPage = lazy(
141
- () => import('../BlogAuthorPage-X3I7KLML.js').then((m) => ({ default: m.BlogAuthorPage }))
142
+ () => import('../BlogAuthorPage-NKPS4CQ2.js').then((m) => ({ default: m.BlogAuthorPage }))
142
143
  );
143
144
  var LazyBlogCategoryPage = lazy(
144
- () => import('../BlogCategoryPage-F3ORUZAF.js').then((m) => ({ default: m.BlogCategoryPage }))
145
+ () => import('../BlogCategoryPage-FSCFBS36.js').then((m) => ({ default: m.BlogCategoryPage }))
145
146
  );
146
147
  var LazyBlogTagPage = lazy(
147
- () => import('../BlogTagPage-WCHB3VL2.js').then((m) => ({ default: m.BlogTagPage }))
148
+ () => import('../BlogTagPage-N7JLIRKV.js').then((m) => ({ default: m.BlogTagPage }))
148
149
  );
149
150
  var BlogPage = LazyBlogPage;
150
151
  var BlogSinglePage = LazyBlogSinglePage;
@@ -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"]}
@@ -1,10 +1,11 @@
1
- import { brand } from '../chunk-2AGMXJVP.js';
1
+ import { brand } from '../chunk-IH3TQ3LD.js';
2
2
  import { buildHreflangAlternates } from '../chunk-TZ3E5BN4.js';
3
- import '../chunk-XLGVT7QF.js';
3
+ import '../chunk-JK77XRXR.js';
4
4
  import { RouteId } from '../chunk-MTONGOJD.js';
5
- import '../chunk-AZ5HAIYQ.js';
6
- import '../chunk-JBXTU5NM.js';
7
- import { getTwilightContext } from '../chunk-6XWMNQ52.js';
5
+ import '../chunk-O6XXHXC4.js';
6
+ import '../chunk-3FIWHGCZ.js';
7
+ import '../chunk-XTMHHLNK.js';
8
+ import { getTwilightContext } from '../chunk-PJWFEMBX.js';
8
9
  import '../chunk-T72DAX7R.js';
9
10
  import '../chunk-DF6FBKDN.js';
10
11
  import '../chunk-DGUM43GV.js';
@@ -33,7 +34,7 @@ async function brandsLoader() {
33
34
  }
34
35
 
35
36
  // src/routes/brands/index.tsx
36
- var LazyBrandsPage = lazy(() => import('../BrandsPage-MR3RNHNS.js').then((m) => ({ default: m.BrandsPage })));
37
+ var LazyBrandsPage = lazy(() => import('../BrandsPage-5SC62L6S.js').then((m) => ({ default: m.BrandsPage })));
37
38
  var BrandsPage = LazyBrandsPage;
38
39
  async function brandsLoaderWithExtend(_ctx, extend) {
39
40
  const data = await brandsLoader();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/routes/brands/loader.ts","../../src/routes/brands/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAKA,eAAsB,YAAA,GAAyC;AAC7D,EAAA,MAAM,IAAA,GAAO,MAAM,KAAA,CAAM,IAAA,EAAK;AAC9B,EAAA,MAAM,MAAM,kBAAA,EAAmB;AAE/B,EAAA,MAAM,cAAc,MAAmB;AACrC,IAAA,IAAI,CAAC,IAAA,EAAM,OAAO,EAAC;AACnB,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,IAAA;AAAA,MAAK,CAAC,CAAA,EAAG,CAAA,KAC5C,CAAA,CAAE,aAAA,CAAc,GAAG,GAAA,CAAI,MAAA,KAAW,IAAA,GAAO,IAAA,GAAO,IAAI;AAAA,KACtD;AACA,IAAA,MAAM,gBAA6B,EAAC;AACpC,IAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAC1B,MAAA,aAAA,CAAc,GAAG,CAAA,GAAI,IAAA,CAAK,GAAG,CAAA;AAAA,IAC/B,CAAC,CAAA;AACD,IAAA,OAAO,aAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,OAAO,GAAA,CAAI,IAAA;AACjB,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,IAAA,GAAO,WAAA,EAAY,GAAI;AAAC,GAClC;AACF;;;ACjBA,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 { BrandsGroup, 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 data = await brand.list();\n const ctx = getTwilightContext();\n\n const groupBrands = (): BrandsGroup => {\n if (!data) return {};\n const sortedKeys = Object.keys(data).sort((a, b) =>\n a.localeCompare(b, ctx.locale === 'ar' ? 'ar' : 'en')\n );\n const sortedGrouped: BrandsGroup = {};\n sortedKeys.forEach((key) => {\n sortedGrouped[key] = data[key];\n });\n return sortedGrouped;\n };\n\n const i18n = ctx.i18n;\n return {\n page: { slug: RouteId.BRANDS_INDEX, title: i18n.t('common.titles.brands') || 'Brands' },\n brands: data ? groupBrands() : {},\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"]}
1
+ {"version":3,"sources":["../../src/routes/brands/loader.ts","../../src/routes/brands/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,eAAsB,YAAA,GAAyC;AAC7D,EAAA,MAAM,IAAA,GAAO,MAAM,KAAA,CAAM,IAAA,EAAK;AAC9B,EAAA,MAAM,MAAM,kBAAA,EAAmB;AAE/B,EAAA,MAAM,cAAc,MAAmB;AACrC,IAAA,IAAI,CAAC,IAAA,EAAM,OAAO,EAAC;AACnB,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,IAAA;AAAA,MAAK,CAAC,CAAA,EAAG,CAAA,KAC5C,CAAA,CAAE,aAAA,CAAc,GAAG,GAAA,CAAI,MAAA,KAAW,IAAA,GAAO,IAAA,GAAO,IAAI;AAAA,KACtD;AACA,IAAA,MAAM,gBAA6B,EAAC;AACpC,IAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,GAAA,KAAQ;AAC1B,MAAA,aAAA,CAAc,GAAG,CAAA,GAAI,IAAA,CAAK,GAAG,CAAA;AAAA,IAC/B,CAAC,CAAA;AACD,IAAA,OAAO,aAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,OAAO,GAAA,CAAI,IAAA;AACjB,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,IAAA,GAAO,WAAA,EAAY,GAAI;AAAC,GAClC;AACF;;;ACjBA,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 { BrandsGroup, 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 data = await brand.list();\n const ctx = getTwilightContext();\n\n const groupBrands = (): BrandsGroup => {\n if (!data) return {};\n const sortedKeys = Object.keys(data).sort((a, b) =>\n a.localeCompare(b, ctx.locale === 'ar' ? 'ar' : 'en')\n );\n const sortedGrouped: BrandsGroup = {};\n sortedKeys.forEach((key) => {\n sortedGrouped[key] = data[key];\n });\n return sortedGrouped;\n };\n\n const i18n = ctx.i18n;\n return {\n page: { slug: RouteId.BRANDS_INDEX, title: i18n.t('common.titles.brands') || 'Brands' },\n brands: data ? groupBrands() : {},\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"]}