@salla.sa/twilight-theme-engine 1.0.0-beta.7 → 1.0.0-beta.9

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 (218) hide show
  1. package/dist/{AddToCartForm-KIIP7WPE.js → AddToCartForm-VS67AFNL.js} +3 -3
  2. package/dist/{AddToCartForm-KIIP7WPE.js.map → AddToCartForm-VS67AFNL.js.map} +1 -1
  3. package/dist/{BlogAuthorPage-MFG3IQPU.js → BlogAuthorPage-276K2KQS.js} +12 -12
  4. package/dist/{BlogAuthorPage-MFG3IQPU.js.map → BlogAuthorPage-276K2KQS.js.map} +1 -1
  5. package/dist/{BlogCategoryPage-UVGE3GHP.js → BlogCategoryPage-GF5PLRG7.js} +12 -12
  6. package/dist/{BlogCategoryPage-UVGE3GHP.js.map → BlogCategoryPage-GF5PLRG7.js.map} +1 -1
  7. package/dist/{BlogPage-UHS6PGXG.js → BlogPage-BU672BXD.js} +10 -10
  8. package/dist/{BlogPage-UHS6PGXG.js.map → BlogPage-BU672BXD.js.map} +1 -1
  9. package/dist/{BlogSinglePage-EKHG3EEB.js → BlogSinglePage-ELV4S5EV.js} +10 -10
  10. package/dist/{BlogSinglePage-EKHG3EEB.js.map → BlogSinglePage-ELV4S5EV.js.map} +1 -1
  11. package/dist/{BlogTagPage-YS7XJXCP.js → BlogTagPage-TXQP6ZOI.js} +12 -12
  12. package/dist/{BlogTagPage-YS7XJXCP.js.map → BlogTagPage-TXQP6ZOI.js.map} +1 -1
  13. package/dist/{BrandsPage-IR6BCOOA.js → BrandsPage-C6ZHC4KC.js} +10 -10
  14. package/dist/{BrandsPage-IR6BCOOA.js.map → BrandsPage-C6ZHC4KC.js.map} +1 -1
  15. package/dist/{Breadcrumb-ZC2CFR3R.js → Breadcrumb-TG4UTNRM.js} +10 -10
  16. package/dist/{Breadcrumb-ZC2CFR3R.js.map → Breadcrumb-TG4UTNRM.js.map} +1 -1
  17. package/dist/{CartItem-3F7WSPBH.js → CartItem-55JV6HDS.js} +10 -10
  18. package/dist/{CartItem-3F7WSPBH.js.map → CartItem-55JV6HDS.js.map} +1 -1
  19. package/dist/{CartSummary-CWNETS3X.js → CartSummary-CUWMHHMD.js} +10 -10
  20. package/dist/{CartSummary-CWNETS3X.js.map → CartSummary-CUWMHHMD.js.map} +1 -1
  21. package/dist/{Copyright-NDRRFPDN.js → Copyright-PG76AVV6.js} +3 -3
  22. package/dist/{Copyright-NDRRFPDN.js.map → Copyright-PG76AVV6.js.map} +1 -1
  23. package/dist/{CustomerLayout-D57CJOKS.js → CustomerLayout-SLNVCNZ6.js} +10 -10
  24. package/dist/{CustomerLayout-D57CJOKS.js.map → CustomerLayout-SLNVCNZ6.js.map} +1 -1
  25. package/dist/{Footer-D7ZEGC6L.js → Footer-MZDSEK57.js} +10 -10
  26. package/dist/{Footer-D7ZEGC6L.js.map → Footer-MZDSEK57.js.map} +1 -1
  27. package/dist/{Header-HF73ZIFG.js → Header-CXFKDTOA.js} +6 -6
  28. package/dist/{Header-HF73ZIFG.js.map → Header-CXFKDTOA.js.map} +1 -1
  29. package/dist/{LoyaltyPage-P7IAFKNS.js → LoyaltyPage-AIA3CUYI.js} +11 -11
  30. package/dist/{LoyaltyPage-P7IAFKNS.js.map → LoyaltyPage-AIA3CUYI.js.map} +1 -1
  31. package/dist/{MainMenu-B7AP2G53.js → MainMenu-T3M5RB7L.js} +11 -11
  32. package/dist/{MainMenu-B7AP2G53.js.map → MainMenu-T3M5RB7L.js.map} +1 -1
  33. package/dist/{MasterLayout-2A2JGJOW.js → MasterLayout-QUBHRA32.js} +10 -10
  34. package/dist/{MasterLayout-2A2JGJOW.js.map → MasterLayout-QUBHRA32.js.map} +1 -1
  35. package/dist/{MobileMenu-NWBLBWXG.js → MobileMenu-6D52JOQA.js} +11 -11
  36. package/dist/{MobileMenu-NWBLBWXG.js.map → MobileMenu-6D52JOQA.js.map} +1 -1
  37. package/dist/{NotificationsPage-RYSVKPHN.js → NotificationsPage-6H45SAS7.js} +10 -10
  38. package/dist/{NotificationsPage-RYSVKPHN.js.map → NotificationsPage-6H45SAS7.js.map} +1 -1
  39. package/dist/{OrderSinglePage-Y4CWIQZG.js → OrderSinglePage-GP2M3YVH.js} +11 -11
  40. package/dist/{OrderSinglePage-Y4CWIQZG.js.map → OrderSinglePage-GP2M3YVH.js.map} +1 -1
  41. package/dist/{OrdersPage-ERZOMNEJ.js → OrdersPage-OQGJLTQP.js} +11 -11
  42. package/dist/{OrdersPage-ERZOMNEJ.js.map → OrdersPage-OQGJLTQP.js.map} +1 -1
  43. package/dist/{PageSingle-2FJRQTTK.js → PageSingle-44NVAUIT.js} +3 -3
  44. package/dist/{PageSingle-2FJRQTTK.js.map → PageSingle-44NVAUIT.js.map} +1 -1
  45. package/dist/{ProductDetails-GJXX7FBT.js → ProductDetails-2JUCRU4W.js} +3 -3
  46. package/dist/{ProductDetails-GJXX7FBT.js.map → ProductDetails-2JUCRU4W.js.map} +1 -1
  47. package/dist/{ProfilePage-7XAPVC5W.js → ProfilePage-XGZ2HCQH.js} +10 -10
  48. package/dist/{ProfilePage-7XAPVC5W.js.map → ProfilePage-XGZ2HCQH.js.map} +1 -1
  49. package/dist/{SeoCartWidget-ZSMB4PZR.js → SeoCartWidget-PDK6IQ2H.js} +10 -10
  50. package/dist/{SeoCartWidget-ZSMB4PZR.js.map → SeoCartWidget-PDK6IQ2H.js.map} +1 -1
  51. package/dist/{SettingsPage-K4KPFS23.js → SettingsPage-VCQNV2PP.js} +10 -10
  52. package/dist/{SettingsPage-K4KPFS23.js.map → SettingsPage-VCQNV2PP.js.map} +1 -1
  53. package/dist/{StoreClosedNotification-FM7OGUVZ.js → StoreClosedNotification-3JRNBNQK.js} +11 -11
  54. package/dist/{StoreClosedNotification-FM7OGUVZ.js.map → StoreClosedNotification-3JRNBNQK.js.map} +1 -1
  55. package/dist/{TestimonialsPage-K5XGI4UL.js → TestimonialsPage-ENMVJ4QG.js} +3 -3
  56. package/dist/{TestimonialsPage-K5XGI4UL.js.map → TestimonialsPage-ENMVJ4QG.js.map} +1 -1
  57. package/dist/{ThankYouPage-2LFEJXD5.js → ThankYouPage-4FTP6E2Y.js} +10 -10
  58. package/dist/{ThankYouPage-2LFEJXD5.js.map → ThankYouPage-4FTP6E2Y.js.map} +1 -1
  59. package/dist/{WalletPage-5T432FV5.js → WalletPage-VKV44EEG.js} +11 -11
  60. package/dist/{WalletPage-5T432FV5.js.map → WalletPage-VKV44EEG.js.map} +1 -1
  61. package/dist/{WishlistPage-3KRCEEJ2.js → WishlistPage-GJZCXQUY.js} +11 -11
  62. package/dist/{WishlistPage-3KRCEEJ2.js.map → WishlistPage-GJZCXQUY.js.map} +1 -1
  63. package/dist/api/apps.js +2 -2
  64. package/dist/api/brands.js +9 -9
  65. package/dist/api/cart.js +9 -9
  66. package/dist/api/category.js +9 -9
  67. package/dist/api/client.d.ts.map +1 -1
  68. package/dist/api/client.js +2 -2
  69. package/dist/api/home.js +3 -3
  70. package/dist/api/loyalty.js +9 -9
  71. package/dist/api/menu.js +3 -3
  72. package/dist/api/notification.js +3 -3
  73. package/dist/api/order.js +9 -9
  74. package/dist/api/page.js +9 -9
  75. package/dist/api/product.js +9 -9
  76. package/dist/api/profile.js +2 -2
  77. package/dist/api/store.js +3 -3
  78. package/dist/api/translations.js +3 -3
  79. package/dist/api/user.js +3 -3
  80. package/dist/api/wishlist.js +3 -3
  81. package/dist/{chunk-M6ICEIWY.js → chunk-2SUOZEX2.js} +3 -3
  82. package/dist/{chunk-M6ICEIWY.js.map → chunk-2SUOZEX2.js.map} +1 -1
  83. package/dist/{chunk-OZEQVDBM.js → chunk-433EFDBW.js} +3 -3
  84. package/dist/{chunk-OZEQVDBM.js.map → chunk-433EFDBW.js.map} +1 -1
  85. package/dist/{chunk-YOAEGGXM.js → chunk-4AYOFKHU.js} +3 -3
  86. package/dist/{chunk-YOAEGGXM.js.map → chunk-4AYOFKHU.js.map} +1 -1
  87. package/dist/{chunk-6Q5BFHFA.js → chunk-5DZ7HLSO.js} +3 -3
  88. package/dist/{chunk-6Q5BFHFA.js.map → chunk-5DZ7HLSO.js.map} +1 -1
  89. package/dist/{chunk-KRX225QA.js → chunk-6LQFMCWK.js} +4 -4
  90. package/dist/{chunk-KRX225QA.js.map → chunk-6LQFMCWK.js.map} +1 -1
  91. package/dist/{chunk-NBHI5X36.js → chunk-7RVUSB5C.js} +4 -4
  92. package/dist/{chunk-NBHI5X36.js.map → chunk-7RVUSB5C.js.map} +1 -1
  93. package/dist/{chunk-7KY4RVH4.js → chunk-C5GWTTB6.js} +4 -4
  94. package/dist/{chunk-7KY4RVH4.js.map → chunk-C5GWTTB6.js.map} +1 -1
  95. package/dist/{chunk-KIOJB7HI.js → chunk-CI4HKXVH.js} +4 -4
  96. package/dist/{chunk-KIOJB7HI.js.map → chunk-CI4HKXVH.js.map} +1 -1
  97. package/dist/{chunk-KXI7DU7Y.js → chunk-D4SRWUMH.js} +4 -4
  98. package/dist/{chunk-KXI7DU7Y.js.map → chunk-D4SRWUMH.js.map} +1 -1
  99. package/dist/{chunk-XUUID4XZ.js → chunk-EB7X4YMZ.js} +4 -4
  100. package/dist/{chunk-XUUID4XZ.js.map → chunk-EB7X4YMZ.js.map} +1 -1
  101. package/dist/{chunk-6NBBXERE.js → chunk-FCZRF6DB.js} +3 -3
  102. package/dist/{chunk-6NBBXERE.js.map → chunk-FCZRF6DB.js.map} +1 -1
  103. package/dist/{chunk-6D7SF3YR.js → chunk-GFMVML6I.js} +3 -3
  104. package/dist/{chunk-6D7SF3YR.js.map → chunk-GFMVML6I.js.map} +1 -1
  105. package/dist/{chunk-F5B7KCTV.js → chunk-GS3G4O2R.js} +4 -4
  106. package/dist/{chunk-F5B7KCTV.js.map → chunk-GS3G4O2R.js.map} +1 -1
  107. package/dist/{chunk-FWZZL6LO.js → chunk-GTM2GV2N.js} +5 -5
  108. package/dist/{chunk-FWZZL6LO.js.map → chunk-GTM2GV2N.js.map} +1 -1
  109. package/dist/{chunk-ERQIOVSF.js → chunk-HL3HSO4R.js} +4 -4
  110. package/dist/{chunk-ERQIOVSF.js.map → chunk-HL3HSO4R.js.map} +1 -1
  111. package/dist/{chunk-FUUWI2B6.js → chunk-IILTG4A6.js} +29 -13
  112. package/dist/chunk-IILTG4A6.js.map +1 -0
  113. package/dist/{chunk-H6J7FTB6.js → chunk-JIJOXZPF.js} +5 -5
  114. package/dist/{chunk-H6J7FTB6.js.map → chunk-JIJOXZPF.js.map} +1 -1
  115. package/dist/{chunk-LSDIFHXZ.js → chunk-O7Z6BIPP.js} +4 -4
  116. package/dist/{chunk-LSDIFHXZ.js.map → chunk-O7Z6BIPP.js.map} +1 -1
  117. package/dist/{chunk-4YQJ27IO.js → chunk-P43TLDS6.js} +4 -4
  118. package/dist/{chunk-4YQJ27IO.js.map → chunk-P43TLDS6.js.map} +1 -1
  119. package/dist/{chunk-TCSNNCRH.js → chunk-Q6MQLAYL.js} +3 -3
  120. package/dist/{chunk-TCSNNCRH.js.map → chunk-Q6MQLAYL.js.map} +1 -1
  121. package/dist/{chunk-7ZAP64PR.js → chunk-REQC7YOE.js} +5 -5
  122. package/dist/{chunk-7ZAP64PR.js.map → chunk-REQC7YOE.js.map} +1 -1
  123. package/dist/{chunk-77PLWFVT.js → chunk-S6AVEFCN.js} +43 -23
  124. package/dist/chunk-S6AVEFCN.js.map +1 -0
  125. package/dist/{chunk-KN7CD7ZL.js → chunk-SAZBQNQK.js} +7 -7
  126. package/dist/{chunk-KN7CD7ZL.js.map → chunk-SAZBQNQK.js.map} +1 -1
  127. package/dist/{chunk-F7MTREKM.js → chunk-SSQ75CKA.js} +4 -4
  128. package/dist/{chunk-F7MTREKM.js.map → chunk-SSQ75CKA.js.map} +1 -1
  129. package/dist/{chunk-7LP7D75V.js → chunk-SUFCEN4T.js} +3 -3
  130. package/dist/{chunk-7LP7D75V.js.map → chunk-SUFCEN4T.js.map} +1 -1
  131. package/dist/{chunk-EX5U2RKM.js → chunk-THXWAZX2.js} +16 -11
  132. package/dist/chunk-THXWAZX2.js.map +1 -0
  133. package/dist/{chunk-2TB2LTL2.js → chunk-TQUHDSKQ.js} +11 -3
  134. package/dist/chunk-TQUHDSKQ.js.map +1 -0
  135. package/dist/{chunk-PDLXJYO3.js → chunk-TWAHYRKI.js} +4 -4
  136. package/dist/{chunk-PDLXJYO3.js.map → chunk-TWAHYRKI.js.map} +1 -1
  137. package/dist/{chunk-TLB7XC4D.js → chunk-U33UQAWO.js} +6 -6
  138. package/dist/{chunk-TLB7XC4D.js.map → chunk-U33UQAWO.js.map} +1 -1
  139. package/dist/{chunk-KIPZQN3Y.js → chunk-W4CSWDEH.js} +7 -2
  140. package/dist/chunk-W4CSWDEH.js.map +1 -0
  141. package/dist/{chunk-I5Z4NJBB.js → chunk-WA5QBFRU.js} +4 -4
  142. package/dist/{chunk-I5Z4NJBB.js.map → chunk-WA5QBFRU.js.map} +1 -1
  143. package/dist/{chunk-EHKTHLXK.js → chunk-YRKMHN7W.js} +3 -3
  144. package/dist/{chunk-EHKTHLXK.js.map → chunk-YRKMHN7W.js.map} +1 -1
  145. package/dist/{chunk-KCKHA75V.js → chunk-YU36GBMB.js} +3 -3
  146. package/dist/{chunk-KCKHA75V.js.map → chunk-YU36GBMB.js.map} +1 -1
  147. package/dist/chunk-ZOCDYJPX.js +14 -0
  148. package/dist/{chunk-BGF4LMSE.js.map → chunk-ZOCDYJPX.js.map} +1 -1
  149. package/dist/{chunk-SFR5V2QH.js → chunk-ZZ7Q5LEG.js} +3 -3
  150. package/dist/{chunk-SFR5V2QH.js.map → chunk-ZZ7Q5LEG.js.map} +1 -1
  151. package/dist/components/cart/index.js +1 -1
  152. package/dist/components/common/index.js +1 -1
  153. package/dist/components/drawer/index.js +8 -8
  154. package/dist/components/home/index.js +11 -11
  155. package/dist/components/layout/index.js +5 -5
  156. package/dist/components/product/ProductGallery.d.ts.map +1 -1
  157. package/dist/components/product/index.js +9 -9
  158. package/dist/components/store/index.js +10 -10
  159. package/dist/{document-class-NEP4TMDL.js → document-class-V5XSWLMX.js} +10 -10
  160. package/dist/{document-class-NEP4TMDL.js.map → document-class-V5XSWLMX.js.map} +1 -1
  161. package/dist/hooks/index.d.ts +1 -0
  162. package/dist/hooks/index.d.ts.map +1 -1
  163. package/dist/hooks/index.js +8 -8
  164. package/dist/hooks/useGtm.js +8 -8
  165. package/dist/hooks/useIsMobile.d.ts +2 -0
  166. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  167. package/dist/hooks/useMoney.js +8 -8
  168. package/dist/hooks/useStore.js +8 -8
  169. package/dist/hooks/useUser.js +4 -4
  170. package/dist/index.d.ts +2 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +9 -9
  173. package/dist/{navigation-MAZHULIR.js → navigation-77T2NTFS.js} +5 -5
  174. package/dist/{navigation-MAZHULIR.js.map → navigation-77T2NTFS.js.map} +1 -1
  175. package/dist/{navigation-BXQW7Z4X.js → navigation-JPUI67XY.js} +4 -4
  176. package/dist/{navigation-BXQW7Z4X.js.map → navigation-JPUI67XY.js.map} +1 -1
  177. package/dist/{not-found-VAZJJIEX.js → not-found-73ZVE5QO.js} +10 -10
  178. package/dist/{not-found-VAZJJIEX.js.map → not-found-73ZVE5QO.js.map} +1 -1
  179. package/dist/providers/TwilightProvider.d.ts.map +1 -1
  180. package/dist/providers/index.js +8 -8
  181. package/dist/providers/twilight-init.d.ts +1 -0
  182. package/dist/providers/twilight-init.d.ts.map +1 -1
  183. package/dist/providers/twilight.types.d.ts +1 -0
  184. package/dist/providers/twilight.types.d.ts.map +1 -1
  185. package/dist/routes/account/orders.js +10 -10
  186. package/dist/routes/account.js +18 -18
  187. package/dist/routes/blog.js +14 -14
  188. package/dist/routes/brands.js +10 -10
  189. package/dist/routes/cart.js +16 -16
  190. package/dist/routes/home.js +13 -13
  191. package/dist/routes/index.js +9 -9
  192. package/dist/routes/loyalty.js +10 -10
  193. package/dist/routes/page.js +10 -10
  194. package/dist/routes/product-listing.js +14 -14
  195. package/dist/routes/product.js +11 -11
  196. package/dist/routes/root/beforeLoad.d.ts +2 -0
  197. package/dist/routes/root/beforeLoad.d.ts.map +1 -1
  198. package/dist/routes/seo-redirects.js +9 -9
  199. package/dist/routes/testimonials.js +2 -2
  200. package/dist/routes/thank-you.js +10 -10
  201. package/dist/skeleton.js +13 -13
  202. package/dist/tanstack/middleware/twilight.d.ts.map +1 -1
  203. package/dist/tanstack/router.d.ts.map +1 -1
  204. package/dist/tanstack.js +28 -13
  205. package/dist/tanstack.js.map +1 -1
  206. package/dist/twilight/context.d.ts +1 -0
  207. package/dist/twilight/context.d.ts.map +1 -1
  208. package/dist/utils/index.js +2 -2
  209. package/dist/vite/adapters/tanstack.adapter.d.ts.map +1 -1
  210. package/dist/vite/index.js +6 -6
  211. package/dist/vite/index.js.map +1 -1
  212. package/package.json +1 -1
  213. package/dist/chunk-2TB2LTL2.js.map +0 -1
  214. package/dist/chunk-77PLWFVT.js.map +0 -1
  215. package/dist/chunk-BGF4LMSE.js +0 -14
  216. package/dist/chunk-EX5U2RKM.js.map +0 -1
  217. package/dist/chunk-FUUWI2B6.js.map +0 -1
  218. package/dist/chunk-KIPZQN3Y.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":"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","file":"LoyaltyPage-P7IAFKNS.js","sourcesContent":["import { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { SallaLoyalty } from '@salla.sa/twilight-components-react/loyalty';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaSlider } from '@salla.sa/twilight-components-react/slider';\nimport type { LoyaltyPageProps } from './types';\nimport { Breadcrumb, Link, Image } from '../../components/common';\nimport { useTranslation } from '../../providers/i18n';\nimport { useUser } from '../../hooks';\nimport { useQuery } from '@tanstack/react-query';\nimport { loyalty } from '../../api/loyalty';\n\nexport function LoyaltyPage({ loyalty: loyaltyData, page }: LoyaltyPageProps) {\n const { data: user } = useUser();\n const { t } = useTranslation();\n const [, copyToClipboard] = useCopyToClipboard();\n const { data: customerPoints } = useQuery(loyalty.queries.points());\n\n return (\n <>\n <div\n className=\"h-62 -mb-52 w-full bg-primary rtl:right-0 ltr:left-0 relative -z-1 bg-cover bg-no-repeat bg-center\"\n style={{ backgroundImage: loyaltyData.image ? `url(${loyaltyData.image})` : undefined }}\n >\n <div className=\"overlay h-full w-full bg-black opacity-50 absolute top-0 left-0\"></div>\n </div>\n\n <div className=\"container space-y-8 lg:space-y-16\">\n <Breadcrumb page={page} />\n\n {/* Loyalty Banner */}\n <div className=\"loyalty__banner\">\n <div className=\"loyalty__banner-inner\">\n <i className=\"sicon-star2 star-anime text-amber-400 text-7xl\"></i>\n <div className=\"loyalty__banner-content\">\n <div className=\"info\">\n <h1>{loyaltyData.name}</h1>\n <p>{loyaltyData.description}</p>\n {customerPoints != null && (\n <div className=\"loyalty-points\">\n {t('pages.loyalty_program.you_have')}{' '}\n <span className=\"count-number count-anime\">{customerPoints}</span>{' '}\n {t('pages.loyalty_program.point')}\n </div>\n )}\n </div>\n\n <SallaLoyalty customerPoints={customerPoints ?? undefined}>\n <span slot=\"widget\">\n <SallaButton\n onClick={() =>\n (\n document.querySelector('salla-loyalty') as HTMLElement & {\n open: () => void;\n }\n )?.open()\n }\n >\n {t('pages.loyalty_program.exchange_points')}\n </SallaButton>\n </span>\n </SallaLoyalty>\n </div>\n </div>\n\n {/* Background stars */}\n <div className=\"loyalty-star loyalty-star--first\">\n <i className=\"sicon-star2\"></i>\n </div>\n <div className=\"loyalty-star loyalty-star--second\">\n <i className=\"sicon-star2\"></i>\n </div>\n </div>\n\n {/* Ways to get points */}\n <section className=\"points-ways pt-6\">\n <div className=\"s-block__title\">\n <h2>{t('pages.loyalty_program.ways_to_get_points')}</h2>\n </div>\n <div className=\"points-ways__list\">\n {loyaltyData.points.map((point, index) => (\n <div key={index} className=\"way-item\">\n <div className=\"flex rtl:space-x-reverse space-x-4\">\n <span\n className={`way-item__icon ${point.icon || 'sicon-star'}`}\n style={{ color: point.color }}\n >\n <span style={{ backgroundColor: point.color }}></span>\n </span>\n <div className=\"way-item__content\">\n <h3 style={{ color: point.color }}>\n {point.points} {t('pages.loyalty_program.point')}\n </h3>\n <p>{point.description}</p>\n </div>\n </div>\n\n {user?.type === 'user' && (\n <div className=\"way-item__action\">\n {point.type === 'share' && point.url ? (\n <div className=\"border relative border-primary rounded-3xl h-[34px] text-center pr-14 pl-5\">\n <SallaButton\n onClick={() => point.url && copyToClipboard(point.url)}\n shape=\"link\"\n className=\"absolute w-12 top-0 right-0 h-full px-3 !pt-1 border-l border-primary hover:opacity-80\"\n ariaLabel={t('pages.loyalty_program.copy_link')}\n >\n <i className=\"copy-icon sicon-swap-fill\"></i>\n </SallaButton>\n <h3\n className=\"font-bold text-sm leading-8 whitespace-nowrap text-ellipsis overflow-hidden text-primary\"\n dir=\"ltr\"\n >\n {point.url}\n </h3>\n </div>\n ) : point.type === 'profile' ? (\n <div className=\"text-green-500 text-center border relative border-green-300 rounded-3xl bg-green-50 min-h-[34px] w-full pt-1 px-4\">\n <i className=\"sicon-check-circle d-inline-block\"></i>\n <span className=\"break-all\">{t('pages.loyalty_program.completed')}</span>\n </div>\n ) : (\n <SallaButton\n fill=\"outline\"\n width=\"wide\"\n href={point.url}\n className=\"!rounded-3xl text-sm !py-1.5\"\n >\n {point.name}\n </SallaButton>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n </section>\n\n {/* Prizes */}\n {loyaltyData.prizes.map((prizeGroup, index) => (\n <div key={index}>\n <SallaSlider\n type=\"carousel\"\n loop={prizeGroup.items.length < 4 ? false : true}\n blockTitle={prizeGroup.title}\n id={`loyalty-slider-${prizeGroup.type}`}\n sliderConfig={{ watchOverflow: true }}\n >\n <div slot=\"items\">\n {prizeGroup.items.map((prize) => (\n <div key={prize.id} className=\"slide--one-fourth\">\n <div className=\"product-entry flex-col\">\n {prize.url ? (\n <Link to={prize.url} className=\"product-entry__image h-40\">\n <Image\n className=\"sm:h-full w-full object-cover rounded-t-md\"\n src={prize.image}\n alt={prize.name}\n aspectRatio=\"1/1\"\n />\n </Link>\n ) : (\n <Image\n className=\"sm:h-full w-full object-cover rounded-t-md\"\n src={prize.image}\n alt={prize.name}\n aspectRatio=\"1/1\"\n />\n )}\n <div className=\"flex-1 p-5\">\n <h3 className=\"product-entry__title leading-6 mb-2.5\">\n {prize.url ? <Link to={prize.url}>{prize.name}</Link> : prize.name}\n </h3>\n {prize.description && (\n <p className=\"text-sm leading-6\">{prize.description}</p>\n )}\n </div>\n {user?.type === 'user' && (\n <div className=\"font-bold text-primary p-4 text-center border-t\">\n {prize.cost_points} {t('pages.loyalty_program.point')}\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n </SallaSlider>\n </div>\n ))}\n </div>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/loyalty/LoyaltyPage.tsx"],"names":[],"mappings":"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","file":"LoyaltyPage-AIA3CUYI.js","sourcesContent":["import { useCopyToClipboard } from '@uidotdev/usehooks';\nimport { SallaLoyalty } from '@salla.sa/twilight-components-react/loyalty';\nimport { SallaButton } from '@salla.sa/twilight-components-react/button';\nimport { SallaSlider } from '@salla.sa/twilight-components-react/slider';\nimport type { LoyaltyPageProps } from './types';\nimport { Breadcrumb, Link, Image } from '../../components/common';\nimport { useTranslation } from '../../providers/i18n';\nimport { useUser } from '../../hooks';\nimport { useQuery } from '@tanstack/react-query';\nimport { loyalty } from '../../api/loyalty';\n\nexport function LoyaltyPage({ loyalty: loyaltyData, page }: LoyaltyPageProps) {\n const { data: user } = useUser();\n const { t } = useTranslation();\n const [, copyToClipboard] = useCopyToClipboard();\n const { data: customerPoints } = useQuery(loyalty.queries.points());\n\n return (\n <>\n <div\n className=\"h-62 -mb-52 w-full bg-primary rtl:right-0 ltr:left-0 relative -z-1 bg-cover bg-no-repeat bg-center\"\n style={{ backgroundImage: loyaltyData.image ? `url(${loyaltyData.image})` : undefined }}\n >\n <div className=\"overlay h-full w-full bg-black opacity-50 absolute top-0 left-0\"></div>\n </div>\n\n <div className=\"container space-y-8 lg:space-y-16\">\n <Breadcrumb page={page} />\n\n {/* Loyalty Banner */}\n <div className=\"loyalty__banner\">\n <div className=\"loyalty__banner-inner\">\n <i className=\"sicon-star2 star-anime text-amber-400 text-7xl\"></i>\n <div className=\"loyalty__banner-content\">\n <div className=\"info\">\n <h1>{loyaltyData.name}</h1>\n <p>{loyaltyData.description}</p>\n {customerPoints != null && (\n <div className=\"loyalty-points\">\n {t('pages.loyalty_program.you_have')}{' '}\n <span className=\"count-number count-anime\">{customerPoints}</span>{' '}\n {t('pages.loyalty_program.point')}\n </div>\n )}\n </div>\n\n <SallaLoyalty customerPoints={customerPoints ?? undefined}>\n <span slot=\"widget\">\n <SallaButton\n onClick={() =>\n (\n document.querySelector('salla-loyalty') as HTMLElement & {\n open: () => void;\n }\n )?.open()\n }\n >\n {t('pages.loyalty_program.exchange_points')}\n </SallaButton>\n </span>\n </SallaLoyalty>\n </div>\n </div>\n\n {/* Background stars */}\n <div className=\"loyalty-star loyalty-star--first\">\n <i className=\"sicon-star2\"></i>\n </div>\n <div className=\"loyalty-star loyalty-star--second\">\n <i className=\"sicon-star2\"></i>\n </div>\n </div>\n\n {/* Ways to get points */}\n <section className=\"points-ways pt-6\">\n <div className=\"s-block__title\">\n <h2>{t('pages.loyalty_program.ways_to_get_points')}</h2>\n </div>\n <div className=\"points-ways__list\">\n {loyaltyData.points.map((point, index) => (\n <div key={index} className=\"way-item\">\n <div className=\"flex rtl:space-x-reverse space-x-4\">\n <span\n className={`way-item__icon ${point.icon || 'sicon-star'}`}\n style={{ color: point.color }}\n >\n <span style={{ backgroundColor: point.color }}></span>\n </span>\n <div className=\"way-item__content\">\n <h3 style={{ color: point.color }}>\n {point.points} {t('pages.loyalty_program.point')}\n </h3>\n <p>{point.description}</p>\n </div>\n </div>\n\n {user?.type === 'user' && (\n <div className=\"way-item__action\">\n {point.type === 'share' && point.url ? (\n <div className=\"border relative border-primary rounded-3xl h-[34px] text-center pr-14 pl-5\">\n <SallaButton\n onClick={() => point.url && copyToClipboard(point.url)}\n shape=\"link\"\n className=\"absolute w-12 top-0 right-0 h-full px-3 !pt-1 border-l border-primary hover:opacity-80\"\n ariaLabel={t('pages.loyalty_program.copy_link')}\n >\n <i className=\"copy-icon sicon-swap-fill\"></i>\n </SallaButton>\n <h3\n className=\"font-bold text-sm leading-8 whitespace-nowrap text-ellipsis overflow-hidden text-primary\"\n dir=\"ltr\"\n >\n {point.url}\n </h3>\n </div>\n ) : point.type === 'profile' ? (\n <div className=\"text-green-500 text-center border relative border-green-300 rounded-3xl bg-green-50 min-h-[34px] w-full pt-1 px-4\">\n <i className=\"sicon-check-circle d-inline-block\"></i>\n <span className=\"break-all\">{t('pages.loyalty_program.completed')}</span>\n </div>\n ) : (\n <SallaButton\n fill=\"outline\"\n width=\"wide\"\n href={point.url}\n className=\"!rounded-3xl text-sm !py-1.5\"\n >\n {point.name}\n </SallaButton>\n )}\n </div>\n )}\n </div>\n ))}\n </div>\n </section>\n\n {/* Prizes */}\n {loyaltyData.prizes.map((prizeGroup, index) => (\n <div key={index}>\n <SallaSlider\n type=\"carousel\"\n loop={prizeGroup.items.length < 4 ? false : true}\n blockTitle={prizeGroup.title}\n id={`loyalty-slider-${prizeGroup.type}`}\n sliderConfig={{ watchOverflow: true }}\n >\n <div slot=\"items\">\n {prizeGroup.items.map((prize) => (\n <div key={prize.id} className=\"slide--one-fourth\">\n <div className=\"product-entry flex-col\">\n {prize.url ? (\n <Link to={prize.url} className=\"product-entry__image h-40\">\n <Image\n className=\"sm:h-full w-full object-cover rounded-t-md\"\n src={prize.image}\n alt={prize.name}\n aspectRatio=\"1/1\"\n />\n </Link>\n ) : (\n <Image\n className=\"sm:h-full w-full object-cover rounded-t-md\"\n src={prize.image}\n alt={prize.name}\n aspectRatio=\"1/1\"\n />\n )}\n <div className=\"flex-1 p-5\">\n <h3 className=\"product-entry__title leading-6 mb-2.5\">\n {prize.url ? <Link to={prize.url}>{prize.name}</Link> : prize.name}\n </h3>\n {prize.description && (\n <p className=\"text-sm leading-6\">{prize.description}</p>\n )}\n </div>\n {user?.type === 'user' && (\n <div className=\"font-bold text-primary p-4 text-center border-t\">\n {prize.cost_points} {t('pages.loyalty_program.point')}\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n </SallaSlider>\n </div>\n ))}\n </div>\n </>\n );\n}\n"]}
@@ -1,16 +1,16 @@
1
- import { menu } from './chunk-NBHI5X36.js';
2
- import './chunk-FUUWI2B6.js';
3
- import './chunk-TLB7XC4D.js';
1
+ import { menu } from './chunk-7RVUSB5C.js';
2
+ import './chunk-IILTG4A6.js';
3
+ import './chunk-U33UQAWO.js';
4
4
  import './chunk-TFZ2RT6P.js';
5
- import './chunk-H6J7FTB6.js';
5
+ import './chunk-JIJOXZPF.js';
6
6
  import './chunk-VVZNW5CB.js';
7
7
  import './chunk-MTONGOJD.js';
8
8
  import './chunk-2FU6CVSB.js';
9
- import './chunk-I5Z4NJBB.js';
10
- import './chunk-TCSNNCRH.js';
11
- import './chunk-2TB2LTL2.js';
9
+ import './chunk-WA5QBFRU.js';
10
+ import './chunk-Q6MQLAYL.js';
11
+ import './chunk-TQUHDSKQ.js';
12
12
  import './chunk-QYL5OHAV.js';
13
- import './chunk-KIPZQN3Y.js';
13
+ import './chunk-W4CSWDEH.js';
14
14
  import './chunk-GOYYO4NI.js';
15
15
  import './chunk-Z653O7MX.js';
16
16
  import './chunk-ZCH7W7DZ.js';
@@ -26,7 +26,7 @@ import './chunk-YMVLYYLU.js';
26
26
  import './chunk-RYBA3JDM.js';
27
27
  import './chunk-25SSLQAJ.js';
28
28
  import './chunk-J37AYLWL.js';
29
- import './chunk-OZEQVDBM.js';
29
+ import './chunk-433EFDBW.js';
30
30
  import { Link } from './chunk-AXW67SY7.js';
31
31
  import './chunk-BYMOPN2S.js';
32
32
  import './chunk-6BZ5TKEV.js';
@@ -87,5 +87,5 @@ function MainMenu() {
87
87
  }
88
88
 
89
89
  export { MainMenu };
90
- //# sourceMappingURL=MainMenu-B7AP2G53.js.map
91
- //# sourceMappingURL=MainMenu-B7AP2G53.js.map
90
+ //# sourceMappingURL=MainMenu-T3M5RB7L.js.map
91
+ //# sourceMappingURL=MainMenu-T3M5RB7L.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,kBAAkB,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,QAAQ,MAAM,CAAA;AAE/D,IAAM,gBAAA,GAAmB,IAAA,CAAK,SAASA,iBAAAA,GAAmB;AACxD,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,WAAA,EACX,QAAA,EAAA,eAAA,CAAgB,GAAA,CAAI,CAAC,KAAA,EAAO,CAAA,qBAC3B,GAAA,CAAC,QAAW,SAAA,EAAU,8BAAA,EACpB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EACP,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,CAAA,mDAAA,EAAsD,KAAK,CAAA,CAAA,EAAI,CAAA,EAClF,CAAA,EAAA,EAHO,CAIT,CACD,GACH,CAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAEM,SAAS,QAAA,GAAW;AACzB,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,WAAA,EAAY;AAC9B,EAAA,MAAM,EAAE,IAAA,EAAM,KAAA,GAAQ,EAAC,EAAG,SAAA,EAAU,GAAI,QAAA,CAAS,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,CAAA;AACtE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,MAAM,EAAE,YAAA,EAAc,WAAA,EAAY,GAAI,QAAQ,MAAM;AAClD,IAAA,MAAM,UAAA,GAAa,OAAO,QAAA,EAAU,sBAAA;AACpC,IAAA,MAAM,YAAA,GAAe,CAAA;AAErB,IAAA,IAAI,UAAA,IAAc,KAAA,CAAM,MAAA,GAAS,YAAA,EAAc;AAC7C,MAAA,OAAO;AAAA,QACL,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,YAAY,CAAA;AAAA,QACzC,WAAA,EAAa,KAAA,CAAM,KAAA,CAAM,YAAY;AAAA,OACvC;AAAA,IACF;AAEA,IAAA,OAAO,EAAE,YAAA,EAAc,KAAA,EAAO,WAAA,EAAa,EAAC,EAAE;AAAA,EAChD,CAAA,EAAG,CAAC,KAAA,EAAO,KAAA,EAAO,UAAU,gBAAA,EAAkB,KAAA,EAAO,QAAA,EAAU,sBAAsB,CAAC,CAAA;AAEtF,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,2BAAQ,gBAAA,EAAA,EAAiB,CAAA;AAAA,EAC3B;AAEA,EAAA,MAAM,aAAa,CAAC,IAAA,EAAgB,OAAA,GAAU,KAAA,EAAO,aAAa,KAAA,KAAU;AAC1E,IAAA,MAAM,cAAc,IAAA,CAAK,YAAA,IAAgB,KAAK,QAAA,IAAY,IAAA,CAAK,SAAS,MAAA,GAAS,CAAA;AACjF,IAAA,MAAM,YAAA,GAAe,eAAe,CAAC,UAAA;AAErC,IAAA,uBACE,IAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QAEC,SAAA,EAAW,GAAG,OAAA,GAAU,UAAA,GAAa,8BAA8B,CAAA,CAAA,EAAI,WAAA,GAAc,iBAAiB,EAAE,CAAA,CAAA;AAAA,QAExG,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAI,IAAA,CAAK,GAAA,EACb,8BAAC,MAAA,EAAA,EAAM,QAAA,EAAA,IAAA,CAAK,OAAM,CAAA,EACpB,CAAA;AAAA,UACC,gCACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACb,8BAAC,IAAA,EAAA,EAAI,QAAA,EAAA,IAAA,EAAM,QAAA,EAAU,GAAA,CAAI,CAAC,KAAA,KAAoB,UAAA,CAAW,OAAO,IAAI,CAAC,GAAE,CAAA,EACzE;AAAA;AAAA,OAAA;AAAA,MATG,IAAA,CAAK;AAAA,KAWZ;AAAA,EAEJ,CAAA;AAEA,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,IAAA,EAAA,EAAG,WAAU,WAAA,EACX,QAAA,EAAA;AAAA,IAAA,YAAA,CAAa,GAAA,CAAI,CAAC,IAAA,KAAS,UAAA,CAAW,IAAI,CAAC,CAAA;AAAA,IAC3C,WAAA,CAAY,SAAS,CAAA,oBACpB,IAAA,CAAC,QAAG,EAAA,EAAG,oBAAA,EAAqB,WAAU,2CAAA,EACpC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAG,GAAA,EACP,QAAA,kBAAA,GAAA,CAAC,UAAM,QAAA,EAAA,CAAA,CAAE,oBAAA,EAAsB,MAAM,CAAA,EAAE,CAAA,EACzC,CAAA;AAAA,0BACC,KAAA,EAAA,EAAI,SAAA,EAAU,eAAA,EACb,QAAA,kBAAA,GAAA,CAAC,QAAI,QAAA,EAAA,WAAA,CAAY,GAAA,CAAI,CAAC,IAAA,KAAS,WAAW,IAAA,EAAM,IAAA,EAAM,IAAI,CAAC,GAAE,CAAA,EAC/D;AAAA,KAAA,EACF;AAAA,GAAA,EAEJ,CAAA,EACF,CAAA;AAEJ","file":"MainMenu-B7AP2G53.js","sourcesContent":["import { useMemo, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useTranslation } from '../../providers/i18n';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nconst SKELETON_WIDTHS = ['w-16', 'w-20', 'w-24', 'w-16', 'w-20'];\n\nconst MainMenuSkeleton = memo(function MainMenuSkeleton() {\n return (\n <nav>\n <ul className=\"main-menu\">\n {SKELETON_WIDTHS.map((width, i) => (\n <li key={i} className=\"!hidden lg:!block root-level\">\n <Link to=\"#\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-4 ${width}`} />\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n});\n\nexport function MainMenu() {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const { visibleMenus, hiddenMenus } = useMemo(() => {\n const enableMore = theme?.settings?.is_more_button_enabled;\n const visibleCount = 7;\n\n if (enableMore && menus.length > visibleCount) {\n return {\n visibleMenus: menus.slice(0, visibleCount),\n hiddenMenus: menus.slice(visibleCount),\n };\n }\n\n return { visibleMenus: menus, hiddenMenus: [] };\n }, [menus, theme?.settings?.enable_more_menu, theme?.settings?.is_more_button_enabled]);\n\n if (isLoading) {\n return <MainMenuSkeleton />;\n }\n\n const renderItem = (item: MenuItem, isChild = false, inMoreMenu = false) => {\n const hasChildren = item.has_children && item.children && item.children.length > 0;\n const showDropdown = hasChildren && !inMoreMenu;\n\n return (\n <li\n key={item.id}\n className={`${isChild ? 'relative' : '!hidden lg:!block root-level'} ${hasChildren ? 'has-children' : ''}`}\n >\n <Link to={item.url}>\n <span>{item.title}</span>\n </Link>\n {showDropdown && (\n <div className=\"sub-menu w-56\">\n <ul>{item?.children?.map((child: MenuItem) => renderItem(child, true))}</ul>\n </div>\n )}\n </li>\n );\n };\n\n return (\n <nav>\n <ul className=\"main-menu\">\n {visibleMenus.map((item) => renderItem(item))}\n {hiddenMenus.length > 0 && (\n <li id=\"more-menu-dropdown\" className=\"!hidden lg:!block root-level has-children\">\n <Link to=\"#\">\n <span>{t('common.titles.more', 'More')}</span>\n </Link>\n <div className=\"sub-menu w-56\">\n <ul>{hiddenMenus.map((item) => renderItem(item, true, true))}</ul>\n </div>\n </li>\n )}\n </ul>\n </nav>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/MainMenu.tsx"],"names":["MainMenuSkeleton"],"mappings":"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","file":"MainMenu-T3M5RB7L.js","sourcesContent":["import { useMemo, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useTranslation } from '../../providers/i18n';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nconst SKELETON_WIDTHS = ['w-16', 'w-20', 'w-24', 'w-16', 'w-20'];\n\nconst MainMenuSkeleton = memo(function MainMenuSkeleton() {\n return (\n <nav>\n <ul className=\"main-menu\">\n {SKELETON_WIDTHS.map((width, i) => (\n <li key={i} className=\"!hidden lg:!block root-level\">\n <Link to=\"#\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-4 ${width}`} />\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n );\n});\n\nexport function MainMenu() {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery(menu.queries.header());\n const { t } = useTranslation();\n\n const { visibleMenus, hiddenMenus } = useMemo(() => {\n const enableMore = theme?.settings?.is_more_button_enabled;\n const visibleCount = 7;\n\n if (enableMore && menus.length > visibleCount) {\n return {\n visibleMenus: menus.slice(0, visibleCount),\n hiddenMenus: menus.slice(visibleCount),\n };\n }\n\n return { visibleMenus: menus, hiddenMenus: [] };\n }, [menus, theme?.settings?.enable_more_menu, theme?.settings?.is_more_button_enabled]);\n\n if (isLoading) {\n return <MainMenuSkeleton />;\n }\n\n const renderItem = (item: MenuItem, isChild = false, inMoreMenu = false) => {\n const hasChildren = item.has_children && item.children && item.children.length > 0;\n const showDropdown = hasChildren && !inMoreMenu;\n\n return (\n <li\n key={item.id}\n className={`${isChild ? 'relative' : '!hidden lg:!block root-level'} ${hasChildren ? 'has-children' : ''}`}\n >\n <Link to={item.url}>\n <span>{item.title}</span>\n </Link>\n {showDropdown && (\n <div className=\"sub-menu w-56\">\n <ul>{item?.children?.map((child: MenuItem) => renderItem(child, true))}</ul>\n </div>\n )}\n </li>\n );\n };\n\n return (\n <nav>\n <ul className=\"main-menu\">\n {visibleMenus.map((item) => renderItem(item))}\n {hiddenMenus.length > 0 && (\n <li id=\"more-menu-dropdown\" className=\"!hidden lg:!block root-level has-children\">\n <Link to=\"#\">\n <span>{t('common.titles.more', 'More')}</span>\n </Link>\n <div className=\"sub-menu w-56\">\n <ul>{hiddenMenus.map((item) => renderItem(item, true, true))}</ul>\n </div>\n </li>\n )}\n </ul>\n </nav>\n );\n}\n"]}
@@ -1,15 +1,15 @@
1
- export { MasterLayout } from './chunk-FUUWI2B6.js';
2
- import './chunk-TLB7XC4D.js';
1
+ export { MasterLayout } from './chunk-IILTG4A6.js';
2
+ import './chunk-U33UQAWO.js';
3
3
  import './chunk-TFZ2RT6P.js';
4
- import './chunk-H6J7FTB6.js';
4
+ import './chunk-JIJOXZPF.js';
5
5
  import './chunk-VVZNW5CB.js';
6
6
  import './chunk-MTONGOJD.js';
7
7
  import './chunk-2FU6CVSB.js';
8
- import './chunk-I5Z4NJBB.js';
9
- import './chunk-TCSNNCRH.js';
10
- import './chunk-2TB2LTL2.js';
8
+ import './chunk-WA5QBFRU.js';
9
+ import './chunk-Q6MQLAYL.js';
10
+ import './chunk-TQUHDSKQ.js';
11
11
  import './chunk-QYL5OHAV.js';
12
- import './chunk-KIPZQN3Y.js';
12
+ import './chunk-W4CSWDEH.js';
13
13
  import './chunk-GOYYO4NI.js';
14
14
  import './chunk-Z653O7MX.js';
15
15
  import './chunk-ZCH7W7DZ.js';
@@ -25,7 +25,7 @@ import './chunk-YMVLYYLU.js';
25
25
  import './chunk-RYBA3JDM.js';
26
26
  import './chunk-25SSLQAJ.js';
27
27
  import './chunk-J37AYLWL.js';
28
- import './chunk-OZEQVDBM.js';
28
+ import './chunk-433EFDBW.js';
29
29
  import './chunk-AXW67SY7.js';
30
30
  import './chunk-BYMOPN2S.js';
31
31
  import './chunk-6BZ5TKEV.js';
@@ -35,5 +35,5 @@ import './chunk-3UHSMGPY.js';
35
35
  import './chunk-MXQCE3KA.js';
36
36
  import './chunk-BWFBVXT3.js';
37
37
  import './chunk-DGUM43GV.js';
38
- //# sourceMappingURL=MasterLayout-2A2JGJOW.js.map
39
- //# sourceMappingURL=MasterLayout-2A2JGJOW.js.map
38
+ //# sourceMappingURL=MasterLayout-QUBHRA32.js.map
39
+ //# sourceMappingURL=MasterLayout-QUBHRA32.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-2A2JGJOW.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"MasterLayout-QUBHRA32.js"}
@@ -1,17 +1,17 @@
1
- import { menu } from './chunk-NBHI5X36.js';
1
+ import { menu } from './chunk-7RVUSB5C.js';
2
2
  import { Drawer } from './chunk-XHGF75TM.js';
3
- import './chunk-FUUWI2B6.js';
4
- import './chunk-TLB7XC4D.js';
3
+ import './chunk-IILTG4A6.js';
4
+ import './chunk-U33UQAWO.js';
5
5
  import './chunk-TFZ2RT6P.js';
6
- import './chunk-H6J7FTB6.js';
6
+ import './chunk-JIJOXZPF.js';
7
7
  import './chunk-VVZNW5CB.js';
8
8
  import './chunk-MTONGOJD.js';
9
9
  import './chunk-2FU6CVSB.js';
10
- import './chunk-I5Z4NJBB.js';
11
- import './chunk-TCSNNCRH.js';
12
- import './chunk-2TB2LTL2.js';
10
+ import './chunk-WA5QBFRU.js';
11
+ import './chunk-Q6MQLAYL.js';
12
+ import './chunk-TQUHDSKQ.js';
13
13
  import './chunk-QYL5OHAV.js';
14
- import './chunk-KIPZQN3Y.js';
14
+ import './chunk-W4CSWDEH.js';
15
15
  import './chunk-GOYYO4NI.js';
16
16
  import './chunk-Z653O7MX.js';
17
17
  import './chunk-ZCH7W7DZ.js';
@@ -27,7 +27,7 @@ import './chunk-YMVLYYLU.js';
27
27
  import './chunk-RYBA3JDM.js';
28
28
  import './chunk-25SSLQAJ.js';
29
29
  import './chunk-J37AYLWL.js';
30
- import './chunk-OZEQVDBM.js';
30
+ import './chunk-433EFDBW.js';
31
31
  import { Link } from './chunk-AXW67SY7.js';
32
32
  import './chunk-BYMOPN2S.js';
33
33
  import './chunk-6BZ5TKEV.js';
@@ -171,5 +171,5 @@ function MobileMenu({ isOpen, onClose }) {
171
171
  }
172
172
 
173
173
  export { MobileMenu };
174
- //# sourceMappingURL=MobileMenu-NWBLBWXG.js.map
175
- //# sourceMappingURL=MobileMenu-NWBLBWXG.js.map
174
+ //# sourceMappingURL=MobileMenu-6D52JOQA.js.map
175
+ //# sourceMappingURL=MobileMenu-6D52JOQA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-NWBLBWXG.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useTranslation } from '../../providers/i18n';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n const widths = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${widths[i]}`} />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu({ isOpen, onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery({\n ...menu.queries.header(),\n enabled: isOpen,\n });\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([\n { title: '', items: menus },\n ]);\n\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1];\n const isRootLevel = menuStack.length === 1;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n const handleNavigate = useCallback(() => {\n onClose();\n setTimeout(() => {\n setMenuStack([{ title: '', items: menus }]);\n }, 300);\n }, [onClose, menus]);\n\n useEffect(() => {\n if (isOpen) {\n setMenuStack([{ title: '', items: menus }]);\n setIsAnimating(false);\n }\n }, [isOpen, menus]);\n\n useEffect(() => {\n if (isOpen) {\n document.body.classList.add('menu-opened');\n } else {\n document.body.classList.remove('menu-opened');\n }\n\n return () => {\n document.body.classList.remove('menu-opened');\n };\n }, [isOpen]);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen={isOpen}\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={handleNavigate}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/MobileMenu.tsx"],"names":["MobileMenuSkeleton"],"mappings":"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","file":"MobileMenu-6D52JOQA.js","sourcesContent":["import { useState, useCallback, useEffect, memo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport { useTwilight } from '../../providers/TwilightProvider';\nimport { useTranslation } from '../../providers/i18n';\nimport { Drawer } from '../../components/drawer';\nimport { Link } from '../common';\nimport { menu } from '../../api/menu';\nimport type { MenuItem } from '../../types';\n\nexport interface MobileMenuProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\nconst MOBILE_SKELETON_ITEMS = 5;\n\nconst MobileMenuSkeleton = memo(function MobileMenuSkeleton() {\n const widths = ['w-32', 'w-28', 'w-36', 'w-24', 'w-30'];\n return (\n <ul className=\"divide-y divide-gray-100\">\n {Array.from({ length: MOBILE_SKELETON_ITEMS }, (_, i) => (\n <li key={i} className=\"py-4\">\n <span className={`inline-block animate-pulse rounded bg-gray-200 h-5 ${widths[i]}`} />\n </li>\n ))}\n </ul>\n );\n});\n\nexport function MobileMenu({ isOpen, onClose }: MobileMenuProps) {\n const { theme } = useTwilight();\n const { data: menus = [], isLoading } = useQuery({\n ...menu.queries.header(),\n enabled: isOpen,\n });\n const { t } = useTranslation();\n\n const [menuStack, setMenuStack] = useState<{ title: string; items: MenuItem[] }[]>([\n { title: '', items: menus },\n ]);\n\n const [isAnimating, setIsAnimating] = useState(false);\n\n const currentLevel = menuStack[menuStack.length - 1];\n const isRootLevel = menuStack.length === 1;\n\n const openSubmenu = useCallback((item: MenuItem) => {\n if (item.children && item.children.length > 0) {\n setIsAnimating(true);\n setMenuStack((prev) => [...prev, { title: item.title, items: item.children! }]);\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }\n }, []);\n\n const goBack = useCallback(() => {\n setIsAnimating(true);\n setMenuStack((prev) => prev.slice(0, -1));\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n }, []);\n\n const handleNavigate = useCallback(() => {\n onClose();\n setTimeout(() => {\n setMenuStack([{ title: '', items: menus }]);\n }, 300);\n }, [onClose, menus]);\n\n useEffect(() => {\n if (isOpen) {\n setMenuStack([{ title: '', items: menus }]);\n setIsAnimating(false);\n }\n }, [isOpen, menus]);\n\n useEffect(() => {\n if (isOpen) {\n document.body.classList.add('menu-opened');\n } else {\n document.body.classList.remove('menu-opened');\n }\n\n return () => {\n document.body.classList.remove('menu-opened');\n };\n }, [isOpen]);\n\n const getListAnimationClass = () => {\n if (isAnimating) {\n return theme.is_rtl ? 'translate-x-4 opacity-0' : '-translate-x-4 opacity-0';\n }\n return 'translate-x-0 opacity-100';\n };\n\n return (\n <>\n <Drawer\n isOpen={isOpen}\n onClose={onClose}\n size=\"md\"\n closeOnBackdropClick={true}\n preventBodyScroll={false}\n className=\"overflow-visible\"\n >\n <button\n type=\"button\"\n onClick={onClose}\n aria-label={t('common.buttons.close', 'Close')}\n className=\"absolute top-0 w-12 h-12 flex items-center justify-center bg-[#d35a51] text-white hover:bg-red-600 transition-colors z-50 ltr:-right-12 rtl:-left-12\"\n >\n <i className=\"sicon-cancel text-xl leading-none\"></i>\n </button>\n\n <Drawer.Header showCloseButton={false} onClose={onClose}>\n <div className=\"flex items-center gap-2 w-full\">\n {!isRootLevel && (\n <button\n type=\"button\"\n className=\"text-gray-500 hover:text-gray-800 transition-colors flex-shrink-0\"\n onClick={goBack}\n aria-label={t('common.buttons.back', 'Back')}\n >\n <i className=\"sicon-keyboard_arrow_left text-xl flex items-center justify-center\"></i>\n </button>\n )}\n <span className=\"font-bold text-lg truncate flex-1 text-center pr-6 rtl:pl-6 rtl:pr-0\">\n {isRootLevel ? t('blocks.header.main_menu', 'Menu') : currentLevel.title}\n </span>\n </div>\n </Drawer.Header>\n <Drawer.Body className=\"p-0 overflow-hidden\">\n <nav className=\"mobile-menu h-full overflow-y-auto\">\n {isLoading ? (\n <MobileMenuSkeleton />\n ) : (\n <ul\n className={`divide-y divide-gray-100 transition-all duration-200 ease-out ${getListAnimationClass()}`}\n >\n {currentLevel.items.map((item) => {\n const hasChildren =\n item.has_children && item.children && item.children.length > 0;\n\n return (\n <li key={item.id} className=\"mobile-menu-item\">\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"flex items-center justify-between w-full py-4 hover:text-primary transition-colors text-start group\"\n onClick={() => openSubmenu(item)}\n >\n <span className=\"text-gray-800 group-hover:text-primary font-medium text-base\">\n {item.title}\n </span>\n <i className=\"sicon-keyboard_arrow_right rtl:rotate-180 text-gray-500 group-hover:text-primary text-lg flex items-center justify-center h-full\"></i>\n </button>\n ) : (\n <Link\n to={item.url}\n className=\"block w-full py-4 hover:text-primary transition-colors text-gray-800 font-medium text-base group\"\n onClick={handleNavigate}\n >\n <span className=\"group-hover:translate-x-1 rtl:group-hover:-translate-x-1 inline-block transition-transform\">\n {item.title}\n </span>\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </nav>\n </Drawer.Body>\n </Drawer>\n </>\n );\n}\n"]}
@@ -1,15 +1,15 @@
1
- import './chunk-FUUWI2B6.js';
2
- import './chunk-TLB7XC4D.js';
1
+ import './chunk-IILTG4A6.js';
2
+ import './chunk-U33UQAWO.js';
3
3
  import './chunk-TFZ2RT6P.js';
4
- import './chunk-H6J7FTB6.js';
4
+ import './chunk-JIJOXZPF.js';
5
5
  import './chunk-VVZNW5CB.js';
6
6
  import './chunk-MTONGOJD.js';
7
7
  import './chunk-2FU6CVSB.js';
8
- import './chunk-I5Z4NJBB.js';
9
- import './chunk-TCSNNCRH.js';
10
- import './chunk-2TB2LTL2.js';
8
+ import './chunk-WA5QBFRU.js';
9
+ import './chunk-Q6MQLAYL.js';
10
+ import './chunk-TQUHDSKQ.js';
11
11
  import './chunk-QYL5OHAV.js';
12
- import './chunk-KIPZQN3Y.js';
12
+ import './chunk-W4CSWDEH.js';
13
13
  import './chunk-GOYYO4NI.js';
14
14
  import './chunk-Z653O7MX.js';
15
15
  import './chunk-ZCH7W7DZ.js';
@@ -25,7 +25,7 @@ import './chunk-YMVLYYLU.js';
25
25
  import './chunk-RYBA3JDM.js';
26
26
  import { HookSlot } from './chunk-25SSLQAJ.js';
27
27
  import './chunk-J37AYLWL.js';
28
- import { LazyNoContent } from './chunk-OZEQVDBM.js';
28
+ import { LazyNoContent } from './chunk-433EFDBW.js';
29
29
  import './chunk-AXW67SY7.js';
30
30
  import './chunk-BYMOPN2S.js';
31
31
  import './chunk-6BZ5TKEV.js';
@@ -80,5 +80,5 @@ function NotificationsPage({ notifications }) {
80
80
  }
81
81
 
82
82
  export { NotificationsPage };
83
- //# sourceMappingURL=NotificationsPage-RYSVKPHN.js.map
84
- //# sourceMappingURL=NotificationsPage-RYSVKPHN.js.map
83
+ //# sourceMappingURL=NotificationsPage-6H45SAS7.js.map
84
+ //# sourceMappingURL=NotificationsPage-6H45SAS7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/routes/account/notifications/NotificationsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,gBAAA,CAAiB,EAAE,YAAA,EAAa,EAAmC;AAC1E,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,YAAA,CAAa,GAAA;AAAA,MACnB,SAAA,EAAW,CAAA,gDAAA,EAAmD,YAAA,CAAa,OAAA,GAAU,+BAA+B,EAAE,CAAA,CAAA;AAAA,MAEtH,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,2BAAA,EACd,QAAA,kBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,WAAW,CAAA,yCAAA,EAA4C,CAAC,YAAA,CAAa,OAAA,GAAU,mCAAmC,EAAE,CAAA;AAAA;AAAA,SACrH,EACH,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8BAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAI,uBAAa,KAAA,EAAM,CAAA;AAAA,4BACxB,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,YAAA,CAAa,IAAA,EAAK;AAAA,WAAA,EACxB,CAAA;AAAA,0BACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EACd,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uDAAA,EAAwD,CAAA;AAAA,4BACrE,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,YAAA,CAAa,QAAA,EAAS;AAAA,WAAA,EAC/B;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,iBAAA,CAAkB,EAAE,aAAA,EAAc,EAA2B;AAC3E,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,oCAAA,EAAqC,CAAA;AAAA,oBACpD,GAAA,CAAC,SAAI,SAAA,EAAU,yBAAA,EACZ,wBAAc,MAAA,GAAS,CAAA,mBACtB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qCAAA,EACZ,wBAAc,GAAA,CAAI,CAAC,IAAA,qBAClB,GAAA,CAAC,gBAAA,EAAA,EAA+B,YAAA,EAAc,QAAvB,IAAA,CAAK,EAAwB,CACrD,CAAA,EACH,CAAA,mBAEA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,iBAAA;AAAA,QACL,OAAA,EAAS,CAAA,CAAE,gCAAA,EAAkC,kBAAkB;AAAA;AAAA,KACjE,EAEJ,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kCAAA,EAAmC;AAAA,GAAA,EACpD,CAAA;AAEJ","file":"NotificationsPage-RYSVKPHN.js","sourcesContent":["import { HookSlot } from '../../../hooks';\nimport { NoContent } from '../../../components/common';\nimport { useTranslation } from '../../../providers/i18n';\nimport type { NotificationsPageProps, Notification } from './types';\n\nfunction NotificationItem({ notification }: { notification: Notification }) {\n return (\n <a\n href={notification.url}\n className={`s-notifications-item s-notifications-item-shadow${notification.is_read ? ' s-notifications-item-read' : ''}`}\n >\n <span className=\"s-notifications-item-icon\">\n <i\n className={`s-notifications-item-icon sicon-bell-ring${!notification.is_read ? ' s-notifications-item-icon-new' : ''}`}\n ></i>\n </span>\n <div className=\"s-notifications-item-content\">\n <div className=\"s-notifications-item-content-leading\">\n <h4>{notification.title}</h4>\n <p>{notification.body}</p>\n </div>\n <span className=\"s-notifications-item-content-trailing\">\n <i className=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{notification.time_ago}</span>\n </span>\n </div>\n </a>\n );\n}\n\nexport function NotificationsPage({ notifications }: NotificationsPageProps) {\n const { t } = useTranslation();\n\n return (\n <>\n <HookSlot name=\"customer:notifications.items.start\" />\n <div className=\"s-notifications-wrapper\">\n {notifications.length > 0 ? (\n <div className=\"s-notifications-container space-y-2\">\n {notifications.map((item: Notification) => (\n <NotificationItem key={item.id} notification={item} />\n ))}\n </div>\n ) : (\n <NoContent\n icon=\"sicon-bell-ring\"\n message={t('blocks.header.no_notifications', 'No notifications')}\n />\n )}\n </div>\n <HookSlot name=\"customer:notifications.items.end\" />\n </>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/routes/account/notifications/NotificationsPage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,gBAAA,CAAiB,EAAE,YAAA,EAAa,EAAmC;AAC1E,EAAA,uBACE,IAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,MAAM,YAAA,CAAa,GAAA;AAAA,MACnB,SAAA,EAAW,CAAA,gDAAA,EAAmD,YAAA,CAAa,OAAA,GAAU,+BAA+B,EAAE,CAAA,CAAA;AAAA,MAEtH,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,2BAAA,EACd,QAAA,kBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,WAAW,CAAA,yCAAA,EAA4C,CAAC,YAAA,CAAa,OAAA,GAAU,mCAAmC,EAAE,CAAA;AAAA;AAAA,SACrH,EACH,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8BAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sCAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,IAAA,EAAA,EAAI,uBAAa,KAAA,EAAM,CAAA;AAAA,4BACxB,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,YAAA,CAAa,IAAA,EAAK;AAAA,WAAA,EACxB,CAAA;AAAA,0BACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EACd,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,WAAU,uDAAA,EAAwD,CAAA;AAAA,4BACrE,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,YAAA,CAAa,QAAA,EAAS;AAAA,WAAA,EAC/B;AAAA,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,iBAAA,CAAkB,EAAE,aAAA,EAAc,EAA2B;AAC3E,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,cAAA,EAAe;AAE7B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,MAAK,oCAAA,EAAqC,CAAA;AAAA,oBACpD,GAAA,CAAC,SAAI,SAAA,EAAU,yBAAA,EACZ,wBAAc,MAAA,GAAS,CAAA,mBACtB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qCAAA,EACZ,wBAAc,GAAA,CAAI,CAAC,IAAA,qBAClB,GAAA,CAAC,gBAAA,EAAA,EAA+B,YAAA,EAAc,QAAvB,IAAA,CAAK,EAAwB,CACrD,CAAA,EACH,CAAA,mBAEA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,iBAAA;AAAA,QACL,OAAA,EAAS,CAAA,CAAE,gCAAA,EAAkC,kBAAkB;AAAA;AAAA,KACjE,EAEJ,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAK,kCAAA,EAAmC;AAAA,GAAA,EACpD,CAAA;AAEJ","file":"NotificationsPage-6H45SAS7.js","sourcesContent":["import { HookSlot } from '../../../hooks';\nimport { NoContent } from '../../../components/common';\nimport { useTranslation } from '../../../providers/i18n';\nimport type { NotificationsPageProps, Notification } from './types';\n\nfunction NotificationItem({ notification }: { notification: Notification }) {\n return (\n <a\n href={notification.url}\n className={`s-notifications-item s-notifications-item-shadow${notification.is_read ? ' s-notifications-item-read' : ''}`}\n >\n <span className=\"s-notifications-item-icon\">\n <i\n className={`s-notifications-item-icon sicon-bell-ring${!notification.is_read ? ' s-notifications-item-icon-new' : ''}`}\n ></i>\n </span>\n <div className=\"s-notifications-item-content\">\n <div className=\"s-notifications-item-content-leading\">\n <h4>{notification.title}</h4>\n <p>{notification.body}</p>\n </div>\n <span className=\"s-notifications-item-content-trailing\">\n <i className=\"sicon-time s-notifications-item-content-trailing-icon\"></i>\n <span>{notification.time_ago}</span>\n </span>\n </div>\n </a>\n );\n}\n\nexport function NotificationsPage({ notifications }: NotificationsPageProps) {\n const { t } = useTranslation();\n\n return (\n <>\n <HookSlot name=\"customer:notifications.items.start\" />\n <div className=\"s-notifications-wrapper\">\n {notifications.length > 0 ? (\n <div className=\"s-notifications-container space-y-2\">\n {notifications.map((item: Notification) => (\n <NotificationItem key={item.id} notification={item} />\n ))}\n </div>\n ) : (\n <NoContent\n icon=\"sicon-bell-ring\"\n message={t('blocks.header.no_notifications', 'No notifications')}\n />\n )}\n </div>\n <HookSlot name=\"customer:notifications.items.end\" />\n </>\n );\n}\n"]}
@@ -1,16 +1,16 @@
1
- import { order } from './chunk-7KY4RVH4.js';
2
- import { useDate, useMoney } from './chunk-FUUWI2B6.js';
3
- import './chunk-TLB7XC4D.js';
1
+ import { order } from './chunk-C5GWTTB6.js';
2
+ import { useDate, useMoney } from './chunk-IILTG4A6.js';
3
+ import './chunk-U33UQAWO.js';
4
4
  import './chunk-TFZ2RT6P.js';
5
- import { useNavigate } from './chunk-H6J7FTB6.js';
5
+ import { useNavigate } from './chunk-JIJOXZPF.js';
6
6
  import './chunk-VVZNW5CB.js';
7
7
  import './chunk-MTONGOJD.js';
8
8
  import './chunk-2FU6CVSB.js';
9
- import { useUser } from './chunk-I5Z4NJBB.js';
10
- import './chunk-TCSNNCRH.js';
11
- import './chunk-2TB2LTL2.js';
9
+ import { useUser } from './chunk-WA5QBFRU.js';
10
+ import './chunk-Q6MQLAYL.js';
11
+ import './chunk-TQUHDSKQ.js';
12
12
  import './chunk-QYL5OHAV.js';
13
- import './chunk-KIPZQN3Y.js';
13
+ import './chunk-W4CSWDEH.js';
14
14
  import './chunk-GOYYO4NI.js';
15
15
  import './chunk-Z653O7MX.js';
16
16
  import './chunk-ZCH7W7DZ.js';
@@ -26,7 +26,7 @@ import './chunk-YMVLYYLU.js';
26
26
  import './chunk-RYBA3JDM.js';
27
27
  import { HookSlot } from './chunk-25SSLQAJ.js';
28
28
  import './chunk-J37AYLWL.js';
29
- import { Image } from './chunk-OZEQVDBM.js';
29
+ import { Image } from './chunk-433EFDBW.js';
30
30
  import { Link } from './chunk-AXW67SY7.js';
31
31
  import './chunk-BYMOPN2S.js';
32
32
  import { useAsyncFn } from './chunk-6BZ5TKEV.js';
@@ -437,5 +437,5 @@ function OrderSinglePage({ order: order2 }) {
437
437
  }
438
438
 
439
439
  export { OrderSinglePage };
440
- //# sourceMappingURL=OrderSinglePage-Y4CWIQZG.js.map
441
- //# sourceMappingURL=OrderSinglePage-Y4CWIQZG.js.map
440
+ //# sourceMappingURL=OrderSinglePage-GP2M3YVH.js.map
441
+ //# sourceMappingURL=OrderSinglePage-GP2M3YVH.js.map