@salla.sa/twilight-theme-engine 1.0.63 → 1.0.65

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 (223) hide show
  1. package/dist/{AddToCartForm-365O6IQY.js → AddToCartForm-NKXOZ6TW.js} +3 -3
  2. package/dist/{AddToCartForm-365O6IQY.js.map → AddToCartForm-NKXOZ6TW.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-QIII3YRK.js → BlogAuthorPage-GQPWTGT2.js} +9 -9
  4. package/dist/{BlogAuthorPage-QIII3YRK.js.map → BlogAuthorPage-GQPWTGT2.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-HNGWYTN6.js → BlogCategoryPage-LTSZDBIZ.js} +9 -9
  6. package/dist/{BlogCategoryPage-HNGWYTN6.js.map → BlogCategoryPage-LTSZDBIZ.js.map} +1 -1
  7. package/dist/{BlogPage-7NGO5VLL.js → BlogPage-QN7QL562.js} +7 -7
  8. package/dist/{BlogPage-7NGO5VLL.js.map → BlogPage-QN7QL562.js.map} +1 -1
  9. package/dist/{BlogSinglePage-Y42LPA2L.js → BlogSinglePage-7GVVVVBL.js} +7 -7
  10. package/dist/{BlogSinglePage-Y42LPA2L.js.map → BlogSinglePage-7GVVVVBL.js.map} +1 -1
  11. package/dist/{BlogTagPage-ZCFYLXH6.js → BlogTagPage-QKYXFRET.js} +9 -9
  12. package/dist/{BlogTagPage-ZCFYLXH6.js.map → BlogTagPage-QKYXFRET.js.map} +1 -1
  13. package/dist/{BrandsPage-PPJVASUW.js → BrandsPage-LF5NVBUE.js} +8 -8
  14. package/dist/{BrandsPage-PPJVASUW.js.map → BrandsPage-LF5NVBUE.js.map} +1 -1
  15. package/dist/{Breadcrumb-4DUAJK3V.js → Breadcrumb-E7KDHZX4.js} +7 -7
  16. package/dist/{Breadcrumb-4DUAJK3V.js.map → Breadcrumb-E7KDHZX4.js.map} +1 -1
  17. package/dist/{CartItem-T4N3HMXU.js → CartItem-RB5CTJT6.js} +7 -7
  18. package/dist/{CartItem-T4N3HMXU.js.map → CartItem-RB5CTJT6.js.map} +1 -1
  19. package/dist/{CartSummary-Z25JDFWN.js → CartSummary-JCYQ2SQD.js} +12 -7
  20. package/dist/CartSummary-JCYQ2SQD.js.map +1 -0
  21. package/dist/{Copyright-WNJIDKSR.js → Copyright-XXSKQ3TB.js} +3 -3
  22. package/dist/{Copyright-WNJIDKSR.js.map → Copyright-XXSKQ3TB.js.map} +1 -1
  23. package/dist/{CustomerLayout-A6DVYYC3.js → CustomerLayout-CBFF4QEB.js} +27 -11
  24. package/dist/CustomerLayout-CBFF4QEB.js.map +1 -0
  25. package/dist/{Footer-3YBOSAO5.js → Footer-NFN2EMI2.js} +7 -7
  26. package/dist/{Footer-3YBOSAO5.js.map → Footer-NFN2EMI2.js.map} +1 -1
  27. package/dist/{Header-6M7TVMSW.js → Header-THQIZ2IR.js} +5 -5
  28. package/dist/{Header-6M7TVMSW.js.map → Header-THQIZ2IR.js.map} +1 -1
  29. package/dist/{LoyaltyPage-XQJ6RDT6.js → LoyaltyPage-5SLR7TJX.js} +7 -7
  30. package/dist/{LoyaltyPage-XQJ6RDT6.js.map → LoyaltyPage-5SLR7TJX.js.map} +1 -1
  31. package/dist/{LoyaltyPointsPage-K75LJNNP.js → LoyaltyPointsPage-HSXFTJUH.js} +3 -3
  32. package/dist/{LoyaltyPointsPage-K75LJNNP.js.map → LoyaltyPointsPage-HSXFTJUH.js.map} +1 -1
  33. package/dist/{MainMenu-V7GPKDTU.js → MainMenu-7SVMOZ6P.js} +3 -3
  34. package/dist/{MainMenu-V7GPKDTU.js.map → MainMenu-7SVMOZ6P.js.map} +1 -1
  35. package/dist/{MasterLayout-MBQ4JM3D.js → MasterLayout-7IHDLNPZ.js} +7 -7
  36. package/dist/{MasterLayout-MBQ4JM3D.js.map → MasterLayout-7IHDLNPZ.js.map} +1 -1
  37. package/dist/{MobileMenu-UFX4ZHW7.js → MobileMenu-7HKRWQBQ.js} +7 -7
  38. package/dist/{MobileMenu-UFX4ZHW7.js.map → MobileMenu-7HKRWQBQ.js.map} +1 -1
  39. package/dist/{NotificationsPage-M3YK2HRM.js → NotificationsPage-4JX7GFXF.js} +7 -7
  40. package/dist/{NotificationsPage-M3YK2HRM.js.map → NotificationsPage-4JX7GFXF.js.map} +1 -1
  41. package/dist/OrderSinglePage-B7TBZ7TX.js +719 -0
  42. package/dist/OrderSinglePage-B7TBZ7TX.js.map +1 -0
  43. package/dist/OrdersPage-XZ2DAJYB.js +68 -0
  44. package/dist/OrdersPage-XZ2DAJYB.js.map +1 -0
  45. package/dist/{PageSingle-HRMSVNHN.js → PageSingle-QWT77P4S.js} +3 -3
  46. package/dist/{PageSingle-HRMSVNHN.js.map → PageSingle-QWT77P4S.js.map} +1 -1
  47. package/dist/{ProductDetails-GAC3NYQM.js → ProductDetails-5IQHNQPS.js} +3 -3
  48. package/dist/{ProductDetails-GAC3NYQM.js.map → ProductDetails-5IQHNQPS.js.map} +1 -1
  49. package/dist/{ProfilePage-33I2XTJ6.js → ProfilePage-R2JDY6BF.js} +7 -7
  50. package/dist/{ProfilePage-33I2XTJ6.js.map → ProfilePage-R2JDY6BF.js.map} +1 -1
  51. package/dist/{SeoCartWidget-AEG2YLEF.js → SeoCartWidget-I2FBWKI4.js} +7 -7
  52. package/dist/{SeoCartWidget-AEG2YLEF.js.map → SeoCartWidget-I2FBWKI4.js.map} +1 -1
  53. package/dist/{SettingsPage-N3M677LP.js → SettingsPage-7X5YPAXL.js} +7 -7
  54. package/dist/{SettingsPage-N3M677LP.js.map → SettingsPage-7X5YPAXL.js.map} +1 -1
  55. package/dist/{StoreClosedNotification-5MTDRRC3.js → StoreClosedNotification-5F4I3N27.js} +8 -8
  56. package/dist/{StoreClosedNotification-5MTDRRC3.js.map → StoreClosedNotification-5F4I3N27.js.map} +1 -1
  57. package/dist/{TestimonialsPage-Z64P6MZX.js → TestimonialsPage-7YXSU33Z.js} +3 -3
  58. package/dist/{TestimonialsPage-Z64P6MZX.js.map → TestimonialsPage-7YXSU33Z.js.map} +1 -1
  59. package/dist/{ThankYouPage-ZXQZMWCX.js → ThankYouPage-7BN53JTK.js} +7 -7
  60. package/dist/{ThankYouPage-ZXQZMWCX.js.map → ThankYouPage-7BN53JTK.js.map} +1 -1
  61. package/dist/{WalletPage-557AU5GH.js → WalletPage-JKXQSYPX.js} +7 -7
  62. package/dist/{WalletPage-557AU5GH.js.map → WalletPage-JKXQSYPX.js.map} +1 -1
  63. package/dist/{WishlistPage-HTDQW2N2.js → WishlistPage-CSFHKERP.js} +9 -9
  64. package/dist/{WishlistPage-HTDQW2N2.js.map → WishlistPage-CSFHKERP.js.map} +1 -1
  65. package/dist/api/brands.js +2 -2
  66. package/dist/api/cart.d.ts +5 -0
  67. package/dist/api/cart.d.ts.map +1 -1
  68. package/dist/api/cart.js +2 -2
  69. package/dist/api/category.js +2 -2
  70. package/dist/api/loyalty.js +2 -2
  71. package/dist/api/order.d.ts +22 -0
  72. package/dist/api/order.d.ts.map +1 -1
  73. package/dist/api/order.js +2 -2
  74. package/dist/api/page.js +2 -2
  75. package/dist/api/product.js +2 -2
  76. package/dist/api/wishlist.js +3 -3
  77. package/dist/{chunk-Q5UYV2EN.js → chunk-24QOBDMC.js} +8 -4
  78. package/dist/chunk-24QOBDMC.js.map +1 -0
  79. package/dist/{chunk-KILNHLWE.js → chunk-2BRCE7MK.js} +4 -4
  80. package/dist/{chunk-KILNHLWE.js.map → chunk-2BRCE7MK.js.map} +1 -1
  81. package/dist/{chunk-YEY3SO23.js → chunk-2QNDO2OY.js} +12 -3
  82. package/dist/chunk-2QNDO2OY.js.map +1 -0
  83. package/dist/{chunk-LUTMPFRW.js → chunk-347K33DP.js} +3 -3
  84. package/dist/{chunk-LUTMPFRW.js.map → chunk-347K33DP.js.map} +1 -1
  85. package/dist/{chunk-KHRIGLYL.js → chunk-43XFO6KF.js} +3 -3
  86. package/dist/{chunk-KHRIGLYL.js.map → chunk-43XFO6KF.js.map} +1 -1
  87. package/dist/{chunk-EIJXSBL6.js → chunk-55VTMG2H.js} +31 -51
  88. package/dist/chunk-55VTMG2H.js.map +1 -0
  89. package/dist/{chunk-UFPZXWGM.js → chunk-65JM62NV.js} +4 -4
  90. package/dist/{chunk-UFPZXWGM.js.map → chunk-65JM62NV.js.map} +1 -1
  91. package/dist/{chunk-HSVGQ2DV.js → chunk-6AV7RQ6H.js} +27 -21
  92. package/dist/chunk-6AV7RQ6H.js.map +1 -0
  93. package/dist/{chunk-KWHCKGLL.js → chunk-A6SKDX5E.js} +3 -3
  94. package/dist/{chunk-KWHCKGLL.js.map → chunk-A6SKDX5E.js.map} +1 -1
  95. package/dist/chunk-D5UIBY3V.js +47 -0
  96. package/dist/chunk-D5UIBY3V.js.map +1 -0
  97. package/dist/{chunk-Y7HKVYDG.js → chunk-EBMMJWX6.js} +7 -7
  98. package/dist/{chunk-Y7HKVYDG.js.map → chunk-EBMMJWX6.js.map} +1 -1
  99. package/dist/{chunk-YLPI4HDD.js → chunk-FY573DJA.js} +6 -6
  100. package/dist/{chunk-YLPI4HDD.js.map → chunk-FY573DJA.js.map} +1 -1
  101. package/dist/{chunk-EXKTSWBC.js → chunk-GRV7ELSP.js} +5 -5
  102. package/dist/{chunk-EXKTSWBC.js.map → chunk-GRV7ELSP.js.map} +1 -1
  103. package/dist/{chunk-PE3LLBNR.js → chunk-GXDBY4WB.js} +3 -3
  104. package/dist/{chunk-PE3LLBNR.js.map → chunk-GXDBY4WB.js.map} +1 -1
  105. package/dist/{chunk-I62RENKM.js → chunk-KBQXQKPZ.js} +14 -2
  106. package/dist/chunk-KBQXQKPZ.js.map +1 -0
  107. package/dist/{chunk-IC7YN4OQ.js → chunk-OJPJP7ML.js} +3 -3
  108. package/dist/{chunk-IC7YN4OQ.js.map → chunk-OJPJP7ML.js.map} +1 -1
  109. package/dist/{chunk-VLBQPVHM.js → chunk-P6DV6EHM.js} +3 -3
  110. package/dist/{chunk-VLBQPVHM.js.map → chunk-P6DV6EHM.js.map} +1 -1
  111. package/dist/{chunk-NPEI4SAZ.js → chunk-PDMVQCEV.js} +3 -3
  112. package/dist/{chunk-NPEI4SAZ.js.map → chunk-PDMVQCEV.js.map} +1 -1
  113. package/dist/{chunk-W66OHTSM.js → chunk-QYUYQPXN.js} +3 -3
  114. package/dist/{chunk-W66OHTSM.js.map → chunk-QYUYQPXN.js.map} +1 -1
  115. package/dist/{chunk-XFCJM6RN.js → chunk-RWTZH6G3.js} +16 -12
  116. package/dist/chunk-RWTZH6G3.js.map +1 -0
  117. package/dist/{chunk-OBSAH7K6.js → chunk-SVPXQCOA.js} +12 -4
  118. package/dist/chunk-SVPXQCOA.js.map +1 -0
  119. package/dist/{chunk-4KTY2FT6.js → chunk-UEKIAED3.js} +6 -6
  120. package/dist/{chunk-4KTY2FT6.js.map → chunk-UEKIAED3.js.map} +1 -1
  121. package/dist/{chunk-UH5ZXDEO.js → chunk-WF7DYPR6.js} +3 -3
  122. package/dist/{chunk-UH5ZXDEO.js.map → chunk-WF7DYPR6.js.map} +1 -1
  123. package/dist/chunk-XMZPFHE7.js +14 -0
  124. package/dist/{chunk-JKT44Y2M.js.map → chunk-XMZPFHE7.js.map} +1 -1
  125. package/dist/{chunk-S3CC2YGF.js → chunk-ZBARSETM.js} +3 -3
  126. package/dist/{chunk-S3CC2YGF.js.map → chunk-ZBARSETM.js.map} +1 -1
  127. package/dist/components/cart/CartSummary.d.ts.map +1 -1
  128. package/dist/components/cart/index.js +1 -1
  129. package/dist/components/common/index.js +1 -1
  130. package/dist/components/drawer/index.js +5 -5
  131. package/dist/components/home/index.js +8 -8
  132. package/dist/components/layout/CustomerLayout.d.ts.map +1 -1
  133. package/dist/components/layout/index.js +1 -1
  134. package/dist/components/product/index.js +6 -6
  135. package/dist/components/store/index.js +7 -7
  136. package/dist/components/toast/Toaster.d.ts.map +1 -1
  137. package/dist/components/toast/index.js +1 -1
  138. package/dist/{document-class-SKCL6IJF.js → document-class-ZLPAWZEX.js} +5 -5
  139. package/dist/{document-class-SKCL6IJF.js.map → document-class-ZLPAWZEX.js.map} +1 -1
  140. package/dist/hooks/index.js +5 -5
  141. package/dist/hooks/useGtm.js +5 -5
  142. package/dist/hooks/useMoney.d.ts +3 -3
  143. package/dist/hooks/useMoney.d.ts.map +1 -1
  144. package/dist/hooks/useMoney.js +5 -5
  145. package/dist/hooks/useStore.js +5 -5
  146. package/dist/index.js +5 -5
  147. package/dist/{navigation-YKRXGGSL.js → navigation-DU3BF72V.js} +3 -3
  148. package/dist/{navigation-YKRXGGSL.js.map → navigation-DU3BF72V.js.map} +1 -1
  149. package/dist/{navigation-ESPAHRXM.js → navigation-WB75NC6Y.js} +4 -4
  150. package/dist/{navigation-ESPAHRXM.js.map → navigation-WB75NC6Y.js.map} +1 -1
  151. package/dist/{not-found-KBOXJ3AG.js → not-found-MA54AXJB.js} +8 -8
  152. package/dist/{not-found-KBOXJ3AG.js.map → not-found-MA54AXJB.js.map} +1 -1
  153. package/dist/providers/NavigationProvider.d.ts.map +1 -1
  154. package/dist/providers/index.js +5 -5
  155. package/dist/providers/twilight-init.d.ts.map +1 -1
  156. package/dist/routes/account/notifications/loader.d.ts.map +1 -1
  157. package/dist/routes/account/orders/OrderSinglePage.d.ts +7 -1
  158. package/dist/routes/account/orders/OrderSinglePage.d.ts.map +1 -1
  159. package/dist/routes/account/orders/OrdersPage.d.ts +2 -1
  160. package/dist/routes/account/orders/OrdersPage.d.ts.map +1 -1
  161. package/dist/routes/account/orders/loader.d.ts.map +1 -1
  162. package/dist/routes/account/orders/single/OrderActions.d.ts +7 -0
  163. package/dist/routes/account/orders/single/OrderActions.d.ts.map +1 -0
  164. package/dist/routes/account/orders/single/OrderHeader.d.ts +8 -0
  165. package/dist/routes/account/orders/single/OrderHeader.d.ts.map +1 -0
  166. package/dist/routes/account/orders/single/OrderItemRow.d.ts +9 -0
  167. package/dist/routes/account/orders/single/OrderItemRow.d.ts.map +1 -0
  168. package/dist/routes/account/orders/single/OrderSections.d.ts +23 -0
  169. package/dist/routes/account/orders/single/OrderSections.d.ts.map +1 -0
  170. package/dist/routes/account/orders/single/types.d.ts +53 -0
  171. package/dist/routes/account/orders/single/types.d.ts.map +1 -0
  172. package/dist/routes/account/orders/types.d.ts +3 -0
  173. package/dist/routes/account/orders/types.d.ts.map +1 -1
  174. package/dist/routes/account/orders.js +3 -3
  175. package/dist/routes/account/profile/loader.d.ts.map +1 -1
  176. package/dist/routes/account/settings/loader.d.ts.map +1 -1
  177. package/dist/routes/account/wallet/loader.d.ts.map +1 -1
  178. package/dist/routes/account/wishlist/loader.d.ts.map +1 -1
  179. package/dist/routes/account.js +16 -15
  180. package/dist/routes/account.js.map +1 -1
  181. package/dist/routes/blog.js +7 -7
  182. package/dist/routes/brands.js +3 -3
  183. package/dist/routes/cart/CartPage.d.ts.map +1 -1
  184. package/dist/routes/cart.js +14 -18
  185. package/dist/routes/cart.js.map +1 -1
  186. package/dist/routes/home.js +9 -9
  187. package/dist/routes/index.js +2 -2
  188. package/dist/routes/loyalty.js +4 -4
  189. package/dist/routes/page.js +3 -3
  190. package/dist/routes/product-listing.js +12 -11
  191. package/dist/routes/product-listing.js.map +1 -1
  192. package/dist/routes/product.js +8 -8
  193. package/dist/routes/seo-redirects.d.ts +4 -0
  194. package/dist/routes/seo-redirects.d.ts.map +1 -1
  195. package/dist/routes/seo-redirects.js +2 -2
  196. package/dist/routes/testimonials.js +1 -1
  197. package/dist/routes/thank-you.js +3 -3
  198. package/dist/skeleton.js +9 -9
  199. package/dist/tanstack/document-class.d.ts.map +1 -1
  200. package/dist/tanstack/router.d.ts.map +1 -1
  201. package/dist/tanstack.js +6 -6
  202. package/dist/types/salla-sdk.d.ts +1 -1
  203. package/dist/types/salla-sdk.d.ts.map +1 -1
  204. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  205. package/dist/vite/index.js +12 -2
  206. package/dist/vite/index.js.map +1 -1
  207. package/package.json +1 -1
  208. package/dist/CartSummary-Z25JDFWN.js.map +0 -1
  209. package/dist/CustomerLayout-A6DVYYC3.js.map +0 -1
  210. package/dist/OrderSinglePage-7LIUMNRB.js +0 -502
  211. package/dist/OrderSinglePage-7LIUMNRB.js.map +0 -1
  212. package/dist/OrdersPage-WI4OSGBF.js +0 -252
  213. package/dist/OrdersPage-WI4OSGBF.js.map +0 -1
  214. package/dist/chunk-EIJXSBL6.js.map +0 -1
  215. package/dist/chunk-HSVGQ2DV.js.map +0 -1
  216. package/dist/chunk-I62RENKM.js.map +0 -1
  217. package/dist/chunk-IIYK56TI.js +0 -29
  218. package/dist/chunk-IIYK56TI.js.map +0 -1
  219. package/dist/chunk-JKT44Y2M.js +0 -14
  220. package/dist/chunk-OBSAH7K6.js.map +0 -1
  221. package/dist/chunk-Q5UYV2EN.js.map +0 -1
  222. package/dist/chunk-XFCJM6RN.js.map +0 -1
  223. package/dist/chunk-YEY3SO23.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/routes/account/orders/OrderSinglePage.tsx"],"names":["ContentSkeleton","order"],"mappings":"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","file":"OrderSinglePage-7LIUMNRB.js","sourcesContent":["import { useState, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaOrderDetails } from '@salla.sa/twilight-components-react/order-details';\nimport { SallaRatingStars } from '@salla.sa/twilight-components-react/rating-stars';\nimport { SallaRatingModal } from '@salla.sa/twilight-components-react/rating-modal';\nimport { SallaModal } from '@salla.sa/twilight-components-react/modal';\nimport { SallaEditOrderButton } from '@salla.sa/twilight-components-react/edit-order-button';\nimport { SallaOrderBranch } from '@salla.sa/twilight-components-react/order-branch';\nimport { SallaOrderTotalsCard } from '@salla.sa/twilight-components-react/order-totals-card';\nimport { HookSlot, useUser, useDate, usePageConfig } from '../../../hooks';\nimport { useAsyncFn } from '../../../hooks/useAsyncFn';\nimport { useMoney } from '../../../hooks/useMoney';\nimport type { OrderSinglePageProps } from '../types';\nimport { useTwilight } from '../../../providers/twilight-context';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\n\nimport { Link, Image } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { order as orderApi } from '../../../api/order';\n\nconst ContentSkeleton = memo(function ContentSkeleton() {\n return (\n <div className=\"animate-pulse bg-white rounded-md p-5 space-y-3\">\n <div className=\"h-4 bg-gray-200 rounded w-1/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-2/3\" />\n <div className=\"h-4 bg-gray-200 rounded w-1/2\" />\n </div>\n );\n});\n\nexport function OrderSinglePage({ order, page }: OrderSinglePageProps) {\n const { t, direction } = useTranslation();\n // `<salla-order-branch>` reads the order id from `salla.config.page.id`, which the router\n // only sets on client-side navigations — seed it so a direct load works too.\n usePageConfig(page);\n const { store } = useTwilight();\n const { data: user } = useUser();\n const navigate = useNavigate();\n const location = useLocation();\n const { format: formatDate } = useDate();\n const { format } = useMoney();\n const [showReorderModal, setShowReorderModal] = useState(false);\n const [showCancelModal, setShowCancelModal] = useState(false);\n\n const { data: shipments, isLoading: isLoadingShipments } = useQuery({\n ...orderApi.queries.shipments(String(order.id)),\n enabled: order.features.shippable,\n });\n const { data: ratings, isLoading: isLoadingRatings } = useQuery({\n ...orderApi.queries.ratings(String(order.id)),\n enabled: order.actions.rateable,\n });\n\n const [reorderState, handleReorder] = useAsyncFn(async () => {\n // Pass the order id explicitly: salla.js falls back to `salla.config.get('page.id')`,\n // which this SSR theme never sets, so a bare call would hit `reorder/undefined`.\n await window.salla?.order.createCartFromOrder(Number(order.id));\n setShowReorderModal(false);\n navigate('/cart');\n }, [navigate, order.id]);\n\n const [cancelState, handleCancel] = useAsyncFn(async () => {\n await window.salla?.order.cancel(Number(order.id));\n setShowCancelModal(false);\n // Invalidate current route to refetch order data. The router's own location,\n // not `window.location`: on a host where the store is the root, the address bar\n // carries the store segment and `navigate` would add it a second time.\n navigate(location.pathname, { replace: true });\n }, [navigate, order.id, location.pathname]);\n\n return (\n <div className=\"space-y-4\">\n <HookSlot name=\"customer:orders.single.details.start\" />\n\n {/* Gift orders are tagged; the edit button gates itself (edit window / order state). */}\n <div className=\"flex items-center justify-between gap-3 flex-wrap\">\n {order.type === 'buy_as_gift' || order.source?.type === 'buy_as_gift' ? (\n <span className=\"inline-block text-primary\">\n <i className=\"sicon-gift-sharing\"></i>&nbsp;{t('pages.orders.gift_tag', 'Gift order')}\n </span>\n ) : (\n <span />\n )}\n <SallaEditOrderButton orderId={String(order.id)} />\n </div>\n\n {/* Order Details Table */}\n <table className=\"min-w-full rounded-md overflow-hidden\">\n <tbody>\n <tr className=\"bg-white overflow-hidden flex md:table-row flex-row md:flex-row flex-wrap md:flex-no-wrap py-1.5 md:py-0\">\n <td className=\"single-order-header-item w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <div className=\"rtl:ml-2 ltr:mr-2 font-normal text-gray-400\">\n {t('pages.orders.date')}\n </div>\n <b>{formatDate(order.created_at.date)}</b>\n </td>\n\n <td className=\"single-order-header-item flex justify-between items-center w-full md:w-auto px-3 md:px-6 py-2 md:py-4 md:h-20 whitespace-nowrap text-sm\">\n <span\n className=\"text-primary inline-flex items-center rtl:space-x-reverse space-x-1\"\n style={{ color: order.status.color }}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`}></i>}\n <span>{order.status.name}</span>\n </span>\n\n <div className=\"flex items-center justify-between\">\n {order.type === 'quote' && (\n <span className=\"text-red-500 ml-4\">\n {t('pages.orders.your_order_is_under_review')}\n </span>\n )}\n\n <div className=\"flex space-x-2 rtl:space-x-reverse text-start flex-none px-2\">\n {order.urls.digital_content && (\n <a\n href={order.urls.digital_content}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.digital')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n )}\n {order.urls.tracking?.map((trackingUrl) => (\n <a\n key={trackingUrl}\n href={trackingUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--small\"\n >\n <span className=\"salla-button-text\">\n {t('pages.orders.tracking')}\n <i\n className={\n user && direction === 'rtl'\n ? 'sicon-arrow-up-left'\n : 'sicon-arrow-up-right'\n }\n ></i>\n </span>\n </a>\n ))}\n </div>\n\n {order.urls.receipt && (\n <SallaButton\n fill=\"outline\"\n size=\"small\"\n onClick={() =>\n window.open(\n order.urls.receipt,\n '_blank',\n 'toolbar=yes, scrollbars=yes, resizable=yes, width=900, height=700'\n )\n }\n >\n <i className=\"sicon-printer2 v-align\"></i>\n {t('pages.orders.print')}\n </SallaButton>\n )}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n\n {/* Pickup branch details — renders nothing for orders that aren't pickable */}\n <SallaOrderBranch stackCards />\n\n {/* Refund Message */}\n {order.refund_message && (\n <div className=\"min-w-full rounded-md overflow-hidden\">\n <div className=\"bg-white flex items-center gap-1 rounded-md px-3 py-5 md:px-5\">\n <i className=\"sicon-refund h-6 w-6\"></i>\n <p\n className=\"font-medium text-base\"\n dangerouslySetInnerHTML={{ __html: order.refund_message }}\n />\n </div>\n </div>\n )}\n\n {/* Rating Message */}\n {order.actions.rateable && (\n <div className=\"rating-header gradient-bg center-between\">\n <div>\n <h2 className=\"font-bold mb-1\">{t('pages.order.order_rating_title')}</h2>\n <p className=\"text-sm\">{t('pages.order.order_rating_message')}</p>\n </div>\n <SallaButton\n color=\"light\"\n className=\"btn--rounded-full !text-primary\"\n onClick={() => window.salla?.event.dispatch('rating::open')}\n >\n {t('pages.rating.rate')}\n </SallaButton>\n </div>\n )}\n\n {/* Rating Update Info Banner */}\n {store.settings?.rating?.allow_update && ratings && ratings.length > 0 && (\n <div className=\"flex items-start gap-2 bg-blue-50 border border-blue-200 text-blue-500 px-2 py-3 rounded-md text-sm\">\n <i className=\"sicon-info\"></i>\n <p>\n {t('pages.order.can_edit_or_delete_your_review_within')}{' '}\n {store.settings?.rating?.update_period} {t('pages.order.days_since_added')}.\n </p>\n </div>\n )}\n\n {/* Order Shipments */}\n {order.features.shippable &&\n (isLoadingShipments ? (\n <ContentSkeleton />\n ) : (\n shipments?.map((shipment) => (\n <div key={shipment.id} className=\"shipping-orders\">\n <div className=\"flex flex-col md:flex-row justify-between md:items-center bg-white px-5 py-3 border-b border-gray-100 rounded-t-md text-sm space-y-4 md:space-y-0\">\n <div className=\"flex items-center space-x-2 rtl:space-x-reverse\">\n <Image\n src={shipment.logo}\n className=\"max-w-16 max-h-8\"\n alt={shipment.name}\n aspectRatio=\"2/1\"\n />\n <span>{shipment.name}</span>\n </div>\n <div className=\"flex space-x-5 rtl:space-x-reverse\">\n {shipment.number && (\n <span>\n {t('pages.orders.shipment_no')}:{' '}\n <span className=\"font-bold\">{shipment.number}</span>\n </span>\n )}\n {shipment.tracking_url && (\n <a\n href={shipment.tracking_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"salla-button salla-button--link\"\n >\n <span className=\"sicon-shipping rtl:ml-1 ltr:mr-1\"></span>\n {t('pages.orders.tracking_url')}\n </a>\n )}\n </div>\n </div>\n </div>\n ))\n ))}\n\n {/* Order Items */}\n {order.items.map((item) => (\n <div\n key={item.id}\n data-order-item-id={item.id}\n data-order-item-product-id={item.product?.id}\n className=\"order-item bg-white p-5 border-b border-gray-100 first:rounded-t-md last:rounded-b-md last:border-none\"\n >\n <div className=\"mb-5 last:mb-0\">\n {item.product ? (\n <div className=\"flex rtl:space-x-reverse space-x-5 mb-4\">\n <Link to={item.product.url} className=\"shrink-0\">\n <Image\n src={item.image || '/images/placeholder.png'}\n alt={item.name}\n className={`w-18 h-14 object-${item.image ? 'cover' : 'contain'} rounded-md`}\n />\n </Link>\n <div>\n <Link\n to={item.product.url}\n className=\"block leading-5 mb-1.5 md:text-base font-semibold transition-colors text-gray-500 hover:text-primary\"\n >\n {item.name}\n </Link>\n <b>\n {format(item.amounts.amount?.amount, {\n currency: item.amounts.amount?.currency,\n })}\n </b>\n </div>\n </div>\n ) : (\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">{item.name}</span>\n <b>\n {format(item.amounts.amount?.amount, { currency: item.amounts.amount?.currency })}\n </b>\n </div>\n )}\n\n <div className=\"w-full flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.quantity', 'Quantity')}\n </span>\n <b>{item.quantity}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.products.price', 'Price')}\n </span>\n <b>{format(item.amounts.cost?.amount, { currency: item.amounts.cost?.currency })}</b>\n </div>\n <div className=\"flex justify-between text-sm py-2.5\">\n <span className=\"w-40 inline-block font-normal\">\n {t('pages.cart.total', 'Total')}\n </span>\n <b>\n {format(item.amounts.total?.amount, { currency: item.amounts.total?.currency })}\n </b>\n </div>\n </div>\n\n {/* Availability Date */}\n {item.availability_date && (\n <div className=\"flex gap-2 text-sm py-2.5 text-blue-500\">\n <i className=\"sicon-info\"></i>\n <span>\n {t('pages.products.expected_to_be')}: <b>{item.availability_date}</b>\n </span>\n </div>\n )}\n\n {/* Booking / Reservations */}\n {item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0 && (\n <>\n {item.booking_location && (\n <ul className=\"font-medium text-xs text-gray-600\">\n <li className=\"py-1 flex justify-between items-baseline\">\n <span className=\"mt-5 mb-3.5 text-sm font-bold\">\n {t('common.elements.location')}\n </span>\n <span className=\"text-unicode\">{item.booking_location}</span>\n </li>\n </ul>\n )}\n <h3 className=\"mt-5 mb-3.5 text-sm font-bold\">\n {(item.product_reservations as unknown[]).length > 1\n ? t('pages.cart.reservations')\n : t('pages.cart.item_options')}\n </h3>\n <div className=\"rounded-md p-4 border border-gray-200 mb-2\">\n <SallaOrderDetails orderDetails={JSON.stringify(item)} />\n </div>\n </>\n )}\n\n {/* Order details (sub-products / options) — for non-booking items */}\n {!(\n item.product?.type === 'booking' &&\n item.product_reservations &&\n (item.product_reservations as unknown[]).length > 0\n ) && <SallaOrderDetails orderDetails={JSON.stringify(item)} />}\n\n {/* Product options (e.g. custom fields the merchant added to the\n product) — item.options exists on the API response but nothing\n rendered it; SallaOrderDetails above doesn't cover this data. */}\n {item.options && item.options.length > 0 && (\n <div className=\"mt-3\">\n <h3 className=\"mb-2 text-sm font-bold\">\n {t('pages.cart.item_options', 'Product Options')}\n </h3>\n <div className=\"rounded-md border border-gray-200 divide-y divide-gray-200\">\n {item.options.map((option) => (\n <div\n key={option.name}\n className=\"flex items-center justify-between gap-4 px-4 py-2.5 text-sm\"\n >\n <span className=\"font-normal text-gray-500\">{option.name}</span>\n {option.is_image ? (\n <Image\n src={option.value}\n alt={option.name}\n className=\"h-7 w-7 rounded-md object-cover\"\n />\n ) : option.color ? (\n <span className=\"inline-flex items-center gap-2\">\n <span\n className=\"h-4 w-4 rounded-full border border-gray-200\"\n style={{ backgroundColor: option.color }}\n />\n <b>{option.value}</b>\n </span>\n ) : (\n <b>{option.value}</b>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {item.note && (\n <p className=\"mt-3 text-sm text-gray-500\">\n <span>{t('common.elements.note', 'Note')}: </span>\n {item.note}\n </p>\n )}\n\n {/* Attachments */}\n {item.attachments && item.attachments.length > 0 && (\n <div className=\"flow-root rounded-md px-4 border border-gray-200\">\n <dl className=\"text-sm text-dark divide-y divide-border-color\">\n {item.attachments.map((attachment) => (\n <div\n key={`${attachment.type}:${attachment.url}`}\n className=\"py-3.5 md:flex items-center justify-between\"\n >\n <dt className=\"mb-2 md:mb-0\">{t('pages.products.attachments')}</dt>\n <dd\n className={`font-medium ${attachment.type === 'image' ? 'text-gray-900' : 'text-xs'}`}\n >\n {attachment.type === 'image' && attachment.url ? (\n <div className=\"flex rtl:space-x-reverse space-x-2.5\">\n <a href={attachment.url} target=\"_blank\" rel=\"noopener noreferrer\">\n <Image\n className=\"h-7 w-7 object-cover rounded-md\"\n src={attachment.url}\n alt={item.name}\n />\n </a>\n </div>\n ) : (\n <a href={attachment.url}>{t('pages.orders.file_url')}</a>\n )}\n </dd>\n </div>\n ))}\n </dl>\n </div>\n )}\n </div>\n ))}\n\n {/* Order Totals */}\n <SallaOrderTotalsCard amounts={JSON.stringify(order.amounts)} {...({} as any)} />\n\n {/* Reorder & Cancel Actions */}\n {(order.actions.reorderable || order.actions.cancellable || order.actions.payable) && (\n <div className=\"bg-white rounded-md p-5 divide-y divide-border-color space-y-4\">\n {(order.actions.reorderable || order.actions.payable) && (\n <div className={order.actions.payable ? 'flex-center' : 'center-between'}>\n {order.actions.payable ? (\n (order.payment?.pending_payment_ends_at ?? 0) === 0 ? (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n ) : order.urls.checkout ? (\n <SallaButton width=\"wide\" href={order.urls.checkout}>\n <i className=\"sicon sicon-wallet rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.finish_payment')}</span>\n </SallaButton>\n ) : (\n <span className=\"text-red-500\">{t('pages.orders.pending_payment_expired')}</span>\n )\n ) : user ? (\n <>\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">\n {t('pages.orders.reorder')}\n </h3>\n <p className=\"text-gray-500\">{t('pages.orders.reorder_description')}</p>\n </div>\n <SallaButton onClick={() => setShowReorderModal(true)}>\n <i className=\"sicon sicon-rotate rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.reorder')}</span>\n </SallaButton>\n </>\n ) : null}\n </div>\n )}\n\n {order.actions.cancellable && (\n <div className=\"center-between pt-4\">\n <div className=\"text-sm\">\n <h3 className=\"font-bold text-lg leading-none mb-1\">{t('pages.orders.cancel')}</h3>\n <p className=\"text-gray-500\">{t('pages.order.order_cancelation_desc')}</p>\n </div>\n <SallaButton shape=\"link\" color=\"danger\" onClick={() => setShowCancelModal(true)}>\n <i className=\"sicon sicon-cancel-circle rtl:ml-2 ltr:mr-2\"></i>\n <span>{t('pages.orders.cancel')}</span>\n </SallaButton>\n </div>\n )}\n </div>\n )}\n\n {/* Ratings */}\n {isLoadingRatings ? (\n <ContentSkeleton />\n ) : (\n <>\n {/* Product Ratings (type: \"rating\") */}\n {ratings?.map(\n (rating) =>\n rating.type === 'rating' && (\n <section\n key={rating.id}\n className=\"flex justify-between items-start bg-white p-5 rounded-md\"\n >\n <div>\n <p className=\"mb-2\">{rating.content}</p>\n <SallaRatingStars withLabel size=\"small\" value={rating.rating} />\n {rating.images?.map(\n (img) =>\n img && (\n <Image\n key={img}\n className=\"w-20 h-20 object-cover rounded-md mt-2 mr-2 inline-block\"\n src={img}\n alt=\"\"\n />\n )\n )}\n </div>\n </section>\n )\n )}\n\n {(() => {\n const shippingRating = ratings?.find((r) => r.type === 'shipping');\n return (\n shippingRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_shipping')}</h2>\n <p className=\"mb-2\">{shippingRating.content}</p>\n <SallaRatingStars withLabel value={shippingRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n\n {(() => {\n const testimonialRating = ratings?.find((r) => r.type === 'testimonial');\n return (\n testimonialRating && (\n <section className=\"flex justify-between items-start bg-white p-5 rounded-md\">\n <div>\n <h2 className=\"text-lg font-bold mb-5\">{t('pages.rating.rate_the_store')}</h2>\n <p className=\"mb-2\">{testimonialRating.content}</p>\n <SallaRatingStars withLabel value={testimonialRating.rating} />\n </div>\n </section>\n )\n );\n })()}\n </>\n )}\n\n <HookSlot name=\"customer:orders.single.details.end\" />\n\n {order.actions.rateable && <SallaRatingModal />}\n\n {/* Reorder Modal */}\n {user && order.actions.reorderable && showReorderModal && (\n <SallaModal\n width=\"sm\"\n subTitle={t('pages.orders.reorder_confirmation')}\n iconStyle=\"success\"\n >\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton width=\"wide\" onClick={handleReorder} disabled={reorderState.loading}>\n {reorderState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowReorderModal(false)}\n disabled={reorderState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n\n {/* Cancel Modal */}\n {order.actions.cancellable && showCancelModal && (\n <SallaModal width=\"sm\" subTitle={t('pages.orders.cancel_confirmation')} iconStyle=\"error\">\n <div slot=\"footer\" className=\"grid grid-cols-2 gap-3\">\n <SallaButton\n color=\"danger\"\n className=\"w-full cursor-pointer\"\n onClick={handleCancel}\n disabled={cancelState.loading}\n >\n {cancelState.loading ? (\n <span className=\"loader loader--small\"></span>\n ) : (\n t('common.elements.ok')\n )}\n </SallaButton>\n <SallaButton\n className=\"w-full\"\n fill=\"outline\"\n color=\"light\"\n onClick={() => setShowCancelModal(false)}\n disabled={cancelState.loading}\n >\n {t('common.elements.cancel')}\n </SallaButton>\n </div>\n </SallaModal>\n )}\n </div>\n );\n}\n"]}
@@ -1,252 +0,0 @@
1
- import { order } from './chunk-YEY3SO23.js';
2
- import { useDate, useMoney } from './chunk-EIJXSBL6.js';
3
- import './chunk-4KTY2FT6.js';
4
- import './chunk-JKIRRMBU.js';
5
- import './chunk-2JV6WZ6O.js';
6
- import './chunk-UIOLSYKV.js';
7
- import './chunk-VVZNW5CB.js';
8
- import './chunk-2XGQSJKH.js';
9
- import { useNavigate, useLocation } from './chunk-I62RENKM.js';
10
- import './chunk-ZGHRSRDO.js';
11
- import './chunk-GOPUP26T.js';
12
- import './chunk-C5X6CVXC.js';
13
- import './chunk-UZKTK6YV.js';
14
- import './chunk-5X2UFNKY.js';
15
- import './chunk-P3OPJL6I.js';
16
- import './chunk-WY4IYO3G.js';
17
- import './chunk-TYLKNVQA.js';
18
- import './chunk-SR4OTLTJ.js';
19
- import './chunk-N2S25NXP.js';
20
- import './chunk-TP3LCGE7.js';
21
- import './chunk-Z653O7MX.js';
22
- import './chunk-ZCH7W7DZ.js';
23
- import './chunk-PWBMSGMU.js';
24
- import './chunk-JWXJPJBO.js';
25
- import './chunk-CW625T2E.js';
26
- import './chunk-7V36I5GT.js';
27
- import './chunk-BVSJPBJ6.js';
28
- import './chunk-GBWCXUPD.js';
29
- import './chunk-OAMIDZKW.js';
30
- import { useTranslation } from './chunk-TYNZ5B2B.js';
31
- import './chunk-T72DAX7R.js';
32
- import './chunk-RJPPO3ET.js';
33
- import { HookSlot } from './chunk-Q7VWURUR.js';
34
- import './chunk-GU2KUQVD.js';
35
- import { LazyNoContent } from './chunk-UH5ZXDEO.js';
36
- import { Link } from './chunk-AXW67SY7.js';
37
- import './chunk-BYMOPN2S.js';
38
- import './chunk-SKLEJJ6M.js';
39
- import './chunk-6BZ5TKEV.js';
40
- import './chunk-FZKRSGLP.js';
41
- import './chunk-CUG6VOLM.js';
42
- import './chunk-HX3YKS5W.js';
43
- import './chunk-OBSAH7K6.js';
44
- import './chunk-DF6FBKDN.js';
45
- import './chunk-DGUM43GV.js';
46
- import { useRef, useState, useCallback } from 'react';
47
- import { useCopyToClipboard } from '@uidotdev/usehooks';
48
- import { ItemsList } from '@salla.sa/twilight-components-react';
49
- import { SallaButton } from '@salla.sa/twilight-components-react/button';
50
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
51
-
52
- function statusLabel(slug, t) {
53
- if (slug === "pending") return t("common.titles.pending_orders", "Pending payments");
54
- const words = slug.replace(/[_-]+/g, " ").trim();
55
- return t(`pages.orders.status_${slug}`, words.charAt(0).toUpperCase() + words.slice(1));
56
- }
57
- function mergeStatuses(known, orders) {
58
- const seen = new Map(known.map((status) => [status.slug, status]));
59
- for (const item of orders) {
60
- const slug = item.status?.slug;
61
- if (slug && !seen.has(slug)) seen.set(slug, { slug, name: item.status.name });
62
- }
63
- return seen.size === known.length ? known : Array.from(seen.values());
64
- }
65
- function OrdersFilters({
66
- statuses,
67
- selectedStatus
68
- }) {
69
- const { t } = useTranslation();
70
- const navigate = useNavigate();
71
- const location = useLocation();
72
- const options = selectedStatus && !statuses.some((status) => status.slug === selectedStatus) ? [...statuses, { slug: selectedStatus, name: statusLabel(selectedStatus, t) }] : statuses;
73
- if (options.length === 0) return null;
74
- const setStatus = (slug) => {
75
- const params = new URLSearchParams(location.searchStr);
76
- if (slug) params.set("status", slug);
77
- else params.delete("status");
78
- const search = params.toString();
79
- navigate(location.pathname + (search ? `?${search}` : ""));
80
- };
81
- return /* @__PURE__ */ jsxs("div", { className: "s-orders-filters", role: "group", "aria-label": t("pages.orders.status"), children: [
82
- /* @__PURE__ */ jsx(
83
- "button",
84
- {
85
- type: "button",
86
- "aria-pressed": !selectedStatus,
87
- className: `s-orders-filters-item${!selectedStatus ? " s-orders-filters-item-active" : ""}`,
88
- onClick: () => setStatus(),
89
- children: t("common.elements.all", "All")
90
- }
91
- ),
92
- options.map((status) => /* @__PURE__ */ jsx(
93
- "button",
94
- {
95
- type: "button",
96
- "aria-pressed": selectedStatus === status.slug,
97
- className: `s-orders-filters-item${selectedStatus === status.slug ? " s-orders-filters-item-active" : ""}`,
98
- onClick: () => setStatus(status.slug),
99
- children: status.name
100
- },
101
- status.slug
102
- ))
103
- ] });
104
- }
105
- function OrdersPage({ orders, cursor, query }) {
106
- const { t } = useTranslation();
107
- const cursorRef = useRef(cursor?.next ?? null);
108
- const prevQueryRef = useRef(query);
109
- if (prevQueryRef.current !== query) {
110
- prevQueryRef.current = query;
111
- cursorRef.current = cursor?.next ?? null;
112
- }
113
- const [statuses, setStatuses] = useState(() => mergeStatuses([], orders));
114
- const [seenOrders, setSeenOrders] = useState(orders);
115
- if (seenOrders !== orders) {
116
- setSeenOrders(orders);
117
- setStatuses((known) => mergeStatuses(known, orders));
118
- }
119
- const loader = useCallback(async () => {
120
- if (!cursorRef.current) return { items: [], next: null };
121
- const response = await order.list({
122
- cursor: cursorRef.current,
123
- status: query?.status,
124
- feedback_status: query?.feedback_status
125
- });
126
- cursorRef.current = response.cursor?.next ?? null;
127
- setStatuses((known) => mergeStatuses(known, response.data));
128
- return {
129
- items: response.data,
130
- next: response.cursor?.next ?? null
131
- };
132
- }, [query]);
133
- return /* @__PURE__ */ jsxs(Fragment, { children: [
134
- /* @__PURE__ */ jsx(HookSlot, { name: "customer:orders.index.items.start" }),
135
- /* @__PURE__ */ jsx(OrdersFilters, { statuses, selectedStatus: query?.status }),
136
- orders.length === 0 ? /* @__PURE__ */ jsx(LazyNoContent, { icon: "sicon-packed-box", message: t("pages.orders.non_orders") }) : /* @__PURE__ */ jsx(
137
- ItemsList,
138
- {
139
- items: orders,
140
- loader: cursor?.next ? loader : void 0,
141
- mode: "button",
142
- className: "s-orders-wrapper",
143
- t: (key, fallback) => t(key, fallback ?? ""),
144
- children: (items) => /* @__PURE__ */ jsxs("table", { className: "s-orders-table", children: [
145
- /* @__PURE__ */ jsx("thead", { className: "s-orders-table-head", children: /* @__PURE__ */ jsxs("tr", { className: "s-orders-table-head-tr", children: [
146
- /* @__PURE__ */ jsx("th", { className: "s-orders-table-head-tr-th", scope: "col", children: t("pages.thank_you.order_id") }),
147
- /* @__PURE__ */ jsx("th", { className: "s-orders-table-head-tr-th", scope: "col", children: t("pages.orders.total") }),
148
- /* @__PURE__ */ jsx("th", { className: "s-orders-table-head-tr-th", scope: "col", children: t("pages.orders.date") }),
149
- /* @__PURE__ */ jsx("th", { className: "s-orders-table-head-tr-th", scope: "col", children: t("pages.orders.status") })
150
- ] }) }),
151
- /* @__PURE__ */ jsx("tbody", { className: "s-orders-table-tbody", children: items.map((orderItem) => /* @__PURE__ */ jsx(OrderRow, { order: orderItem }, orderItem.id)) })
152
- ] })
153
- }
154
- ),
155
- /* @__PURE__ */ jsx(HookSlot, { name: "customer:orders.index.items.end" })
156
- ] });
157
- }
158
- function OrderRow({ order: order2 }) {
159
- const { t, isRTL } = useTranslation();
160
- const { format: formatDate } = useDate();
161
- const { format: formatMoney } = useMoney();
162
- const [, copyToClipboard] = useCopyToClipboard();
163
- const [copied, setCopied] = useState(false);
164
- const orderUrl = `/account/orders/${order2.id}`;
165
- const handleCopy = (e) => {
166
- e.preventDefault();
167
- e.stopPropagation();
168
- copyToClipboard(String(order2.reference_id));
169
- setCopied(true);
170
- setTimeout(() => setCopied(false), 1e3);
171
- };
172
- return /* @__PURE__ */ jsxs("tr", { className: "s-orders-table-tbody-tr s-orders-table-tbody-tr-shadow", children: [
173
- /* @__PURE__ */ jsx("td", { className: "s-orders-table-tbody-tr-td", children: /* @__PURE__ */ jsxs("div", { className: "s-orders-table-tbody-tr-td-content", children: [
174
- /* @__PURE__ */ jsxs("span", { className: "s-orders-mobile-title", children: [
175
- t("pages.thank_you.order_id"),
176
- ":"
177
- ] }),
178
- /* @__PURE__ */ jsxs("span", { className: "s-orders-reference-id hidden md:inline-block", children: [
179
- "#",
180
- order2.reference_id
181
- ] }),
182
- /* @__PURE__ */ jsx(Link, { to: orderUrl, "aria-label": t("pages.thank_you.order_id") }),
183
- /* @__PURE__ */ jsx("div", { className: "s-orders-copy-to-clipboard-button flex items-center md:hidden", children: /* @__PURE__ */ jsx(
184
- SallaButton,
185
- {
186
- className: `relative ${copied ? "copied" : "code-to-copy"}`,
187
- color: "dark",
188
- shape: "link",
189
- "data-content": order2.reference_id.toString(),
190
- onClick: handleCopy,
191
- children: isRTL ? /* @__PURE__ */ jsxs(Fragment, { children: [
192
- /* @__PURE__ */ jsx("i", { className: "sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1" }),
193
- /* @__PURE__ */ jsxs("span", { children: [
194
- "#",
195
- order2.reference_id
196
- ] })
197
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
198
- /* @__PURE__ */ jsxs("span", { children: [
199
- "#",
200
- order2.reference_id
201
- ] }),
202
- /* @__PURE__ */ jsx("i", { className: "sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1" })
203
- ] })
204
- }
205
- ) })
206
- ] }) }),
207
- /* @__PURE__ */ jsx("td", { className: "s-orders-table-tbody-tr-td", children: /* @__PURE__ */ jsxs("div", { className: "s-orders-table-tbody-tr-td-content", children: [
208
- /* @__PURE__ */ jsxs("span", { className: "s-orders-mobile-title", children: [
209
- t("pages.orders.total"),
210
- ":"
211
- ] }),
212
- formatMoney(order2.amounts.total.amount, { currency: order2.amounts.total.currency }),
213
- /* @__PURE__ */ jsx(Link, { to: orderUrl, "aria-label": t("pages.orders.total") })
214
- ] }) }),
215
- /* @__PURE__ */ jsx("td", { className: "s-orders-table-tbody-tr-td", children: /* @__PURE__ */ jsxs("div", { className: "s-orders-table-tbody-tr-td-content", children: [
216
- /* @__PURE__ */ jsxs("span", { className: "s-orders-mobile-title", children: [
217
- t("pages.orders.date"),
218
- ":"
219
- ] }),
220
- formatDate(order2.created_at.date),
221
- /* @__PURE__ */ jsx(Link, { to: orderUrl, "aria-label": t("pages.orders.date") })
222
- ] }) }),
223
- /* @__PURE__ */ jsx("td", { className: "s-orders-table-tbody-tr-td", children: /* @__PURE__ */ jsxs("div", { className: "s-orders-table-tbody-tr-td-content", children: [
224
- /* @__PURE__ */ jsxs("span", { className: "s-orders-mobile-title", children: [
225
- t("pages.orders.status"),
226
- ":"
227
- ] }),
228
- /* @__PURE__ */ jsxs(
229
- "span",
230
- {
231
- className: "s-orders-status-container rtl:mr-auto ltr:ml-auto md:mx-0",
232
- style: order2.status.color ? { color: order2.status.color } : void 0,
233
- children: [
234
- order2.status.icon && /* @__PURE__ */ jsx("i", { className: `mt-1 ${order2.status.icon}` }),
235
- /* @__PURE__ */ jsx("span", { children: order2.status.name })
236
- ]
237
- }
238
- ),
239
- /* @__PURE__ */ jsx(
240
- "i",
241
- {
242
- className: `sicon-star2 s-orders-status-rated ${order2.features.is_read ? "s-orders-rated-text" : "s-orders-unrated-text"}`
243
- }
244
- ),
245
- /* @__PURE__ */ jsx(Link, { to: orderUrl, "aria-label": t("pages.orders.status") })
246
- ] }) })
247
- ] });
248
- }
249
-
250
- export { OrdersPage };
251
- //# sourceMappingURL=OrdersPage-WI4OSGBF.js.map
252
- //# sourceMappingURL=OrdersPage-WI4OSGBF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/routes/account/orders/OrdersPage.tsx"],"names":["order"],"mappings":"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","file":"OrdersPage-WI4OSGBF.js","sourcesContent":["import { useState, useRef, useCallback } from 'react';\nimport { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { ItemsList } from '@salla.sa/twilight-components-react';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { HookSlot, useDate, useMoney } from '../../../hooks';\nimport { NoContent, Link } from '../../../components/common';\nimport { useTranslation } from '../../../providers/I18nProvider';\nimport { useNavigate, useLocation } from '../../../providers/NavigationProvider';\nimport { order } from '../../../api/order';\nimport type { OrdersPageProps, OrderListItem } from './types';\n\ntype StatusOption = { slug: string; name: string };\n\n/**\n * Label for a selected status that isn't among the loaded orders (e.g. arriving on\n * `?status=pending` from the account menu, where no order names it). Always a translation\n * key, never a hard-coded string: the \"pending payments\" title for `pending`, otherwise\n * `pages.orders.status_<slug>` (a store or theme can define it for any status), falling back\n * to the slug made readable only when no such key exists.\n */\nfunction statusLabel(slug: string, t: ReturnType<typeof useTranslation>['t']): string {\n if (slug === 'pending') return t('common.titles.pending_orders', 'Pending payments');\n const words = slug.replace(/[_-]+/g, ' ').trim();\n return t(`pages.orders.status_${slug}`, words.charAt(0).toUpperCase() + words.slice(1));\n}\n\n/**\n * Adds the statuses found on `orders` to `known`. Only orders with a status `slug` count:\n * the loader and API filter by that identifier, and a display name (`Pending`, or a\n * localized label) would select nothing.\n */\nfunction mergeStatuses(known: StatusOption[], orders: OrderListItem[]): StatusOption[] {\n const seen = new Map(known.map((status) => [status.slug, status]));\n for (const item of orders) {\n const slug = item.status?.slug;\n if (slug && !seen.has(slug)) seen.set(slug, { slug, name: item.status.name });\n }\n return seen.size === known.length ? known : Array.from(seen.values());\n}\n\n/**\n * Status filter (\"All\" plus every status seen so far), as a labelled group of toggle\n * buttons — it filters one list through the URL, so it isn't a tab widget.\n *\n * There is no \"list every status this store uses\" endpoint, so the options are the\n * statuses seen so far: those on the loaded orders (the parent accumulates them across\n * filter changes and cursor pages) plus the selected one, so \"All\" stays available even\n * when a status has no orders.\n */\nfunction OrdersFilters({\n statuses,\n selectedStatus,\n}: {\n statuses: StatusOption[];\n selectedStatus?: string;\n}) {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const options =\n selectedStatus && !statuses.some((status) => status.slug === selectedStatus)\n ? [...statuses, { slug: selectedStatus, name: statusLabel(selectedStatus, t) }]\n : statuses;\n\n if (options.length === 0) return null;\n\n const setStatus = (slug?: string) => {\n const params = new URLSearchParams(location.searchStr);\n if (slug) params.set('status', slug);\n else params.delete('status');\n const search = params.toString();\n navigate(location.pathname + (search ? `?${search}` : ''));\n };\n\n return (\n <div className=\"s-orders-filters\" role=\"group\" aria-label={t('pages.orders.status')}>\n <button\n type=\"button\"\n aria-pressed={!selectedStatus}\n className={`s-orders-filters-item${!selectedStatus ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus()}\n >\n {t('common.elements.all', 'All')}\n </button>\n {options.map((status) => (\n <button\n key={status.slug}\n type=\"button\"\n aria-pressed={selectedStatus === status.slug}\n className={`s-orders-filters-item${selectedStatus === status.slug ? ' s-orders-filters-item-active' : ''}`}\n onClick={() => setStatus(status.slug)}\n >\n {status.name}\n </button>\n ))}\n </div>\n );\n}\n\nexport function OrdersPage({ orders, cursor, query }: OrdersPageProps) {\n const { t } = useTranslation();\n const cursorRef = useRef<string | null>(cursor?.next ?? null);\n const prevQueryRef = useRef(query);\n if (prevQueryRef.current !== query) {\n prevQueryRef.current = query;\n cursorRef.current = cursor?.next ?? null;\n }\n\n // Statuses seen so far — kept across filter changes and cursor pages so the options\n // don't narrow to the selected status.\n const [statuses, setStatuses] = useState<StatusOption[]>(() => mergeStatuses([], orders));\n // Fold in a new `orders` prop while rendering (React's documented alternative to an\n // effect), so the options never lag a render behind the list.\n const [seenOrders, setSeenOrders] = useState(orders);\n if (seenOrders !== orders) {\n setSeenOrders(orders);\n setStatuses((known) => mergeStatuses(known, orders));\n }\n\n const loader = useCallback(async () => {\n if (!cursorRef.current) return { items: [], next: null };\n\n const response = await order.list({\n cursor: cursorRef.current,\n status: query?.status,\n feedback_status: query?.feedback_status,\n });\n cursorRef.current = response.cursor?.next ?? null;\n setStatuses((known) => mergeStatuses(known, response.data));\n return {\n items: response.data,\n next: response.cursor?.next ?? null,\n };\n }, [query]);\n\n return (\n <>\n <HookSlot name=\"customer:orders.index.items.start\" />\n\n <OrdersFilters statuses={statuses} selectedStatus={query?.status} />\n\n {orders.length === 0 ? (\n <NoContent icon=\"sicon-packed-box\" message={t('pages.orders.non_orders')} />\n ) : (\n <ItemsList\n items={orders}\n loader={cursor?.next ? loader : undefined}\n mode=\"button\"\n className=\"s-orders-wrapper\"\n t={(key, fallback) => t(key, fallback ?? '')}\n >\n {(items: OrderListItem[]) => (\n <table className=\"s-orders-table\">\n <thead className=\"s-orders-table-head\">\n <tr className=\"s-orders-table-head-tr\">\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.thank_you.order_id')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.total')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.date')}\n </th>\n <th className=\"s-orders-table-head-tr-th\" scope=\"col\">\n {t('pages.orders.status')}\n </th>\n </tr>\n </thead>\n <tbody className=\"s-orders-table-tbody\">\n {items.map((orderItem) => (\n <OrderRow key={orderItem.id} order={orderItem} />\n ))}\n </tbody>\n </table>\n )}\n </ItemsList>\n )}\n\n <HookSlot name=\"customer:orders.index.items.end\" />\n </>\n );\n}\n\nfunction OrderRow({ order }: { order: OrderListItem }) {\n const { t, isRTL } = useTranslation();\n const { format: formatDate } = useDate();\n const { format: formatMoney } = useMoney();\n const [, copyToClipboard] = useCopyToClipboard();\n const [copied, setCopied] = useState(false);\n const orderUrl = `/account/orders/${order.id}`;\n\n const handleCopy = (e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n copyToClipboard(String(order.reference_id));\n setCopied(true);\n setTimeout(() => setCopied(false), 1000);\n };\n\n return (\n <tr className=\"s-orders-table-tbody-tr s-orders-table-tbody-tr-shadow\">\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.thank_you.order_id')}:</span>\n <span className=\"s-orders-reference-id hidden md:inline-block\">\n #{order.reference_id}\n </span>\n <Link to={orderUrl} aria-label={t('pages.thank_you.order_id')} />\n <div className=\"s-orders-copy-to-clipboard-button flex items-center md:hidden\">\n <SallaButton\n className={`relative ${copied ? 'copied' : 'code-to-copy'}`}\n color=\"dark\"\n shape=\"link\"\n data-content={order.reference_id.toString()}\n onClick={handleCopy}\n >\n {isRTL ? (\n <>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n <span>#{order.reference_id}</span>\n </>\n ) : (\n <>\n <span>#{order.reference_id}</span>\n <i className=\"sicon-swap-stroke s-orders-copy-to-clipboard-button-icon pointer-events-none rtl:mr-1 ltr:ml-1\" />\n </>\n )}\n </SallaButton>\n </div>\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.total')}:</span>\n {formatMoney(order.amounts.total.amount, { currency: order.amounts.total.currency })}\n <Link to={orderUrl} aria-label={t('pages.orders.total')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.date')}:</span>\n {formatDate(order.created_at.date)}\n <Link to={orderUrl} aria-label={t('pages.orders.date')} />\n </div>\n </td>\n\n <td className=\"s-orders-table-tbody-tr-td\">\n <div className=\"s-orders-table-tbody-tr-td-content\">\n <span className=\"s-orders-mobile-title\">{t('pages.orders.status')}:</span>\n <span\n className=\"s-orders-status-container rtl:mr-auto ltr:ml-auto md:mx-0\"\n style={order.status.color ? { color: order.status.color } : undefined}\n >\n {order.status.icon && <i className={`mt-1 ${order.status.icon}`} />}\n <span>{order.status.name}</span>\n </span>\n <i\n className={`sicon-star2 s-orders-status-rated ${\n order.features.is_read ? 's-orders-rated-text' : 's-orders-unrated-text'\n }`}\n />\n <Link to={orderUrl} aria-label={t('pages.orders.status')} />\n </div>\n </td>\n </tr>\n );\n}\n"]}