@mohasinac/appkit 3.8.2 → 3.9.0

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 (479) hide show
  1. package/dist/_internal/client/features/live/LiveItemDetailView.js +2 -2
  2. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +4 -4
  3. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +8 -8
  4. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +1 -1
  5. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +2 -2
  6. package/dist/_internal/server/features/bundles/actions.js +2 -2
  7. package/dist/_internal/server/features/bundles/og.d.ts +1 -1
  8. package/dist/_internal/server/features/bundles/og.js +4 -5
  9. package/dist/_internal/server/features/checkout/actions.js +57 -21
  10. package/dist/_internal/server/features/checkout/stock-restore.d.ts +19 -0
  11. package/dist/_internal/server/features/checkout/stock-restore.js +80 -0
  12. package/dist/_internal/server/features/checkout/upi-resolution.d.ts +11 -0
  13. package/dist/_internal/server/features/checkout/upi-resolution.js +28 -0
  14. package/dist/_internal/server/features/classified/og.js +1 -1
  15. package/dist/_internal/server/features/digital-code/og.js +1 -1
  16. package/dist/_internal/server/features/item-requests/og.d.ts +2 -2
  17. package/dist/_internal/server/features/item-requests/og.js +4 -5
  18. package/dist/_internal/server/features/live/og.js +1 -1
  19. package/dist/_internal/server/features/lottery/adapters.d.ts +2 -2
  20. package/dist/_internal/server/features/lottery/adapters.js +1 -1
  21. package/dist/_internal/server/features/orders/actions.d.ts +28 -0
  22. package/dist/_internal/server/features/orders/actions.js +239 -4
  23. package/dist/_internal/server/features/orders/adapters.js +3 -0
  24. package/dist/_internal/server/features/payments/data.js +3 -2
  25. package/dist/_internal/server/features/payouts/actions.d.ts +2 -2
  26. package/dist/_internal/server/features/payouts/actions.js +4 -3
  27. package/dist/_internal/server/features/pre-orders/service.d.ts +1 -1
  28. package/dist/_internal/server/features/pre-orders/service.js +3 -2
  29. package/dist/_internal/server/features/prize-draws/og.js +5 -5
  30. package/dist/_internal/server/features/products/og.js +1 -1
  31. package/dist/_internal/server/features/promotions/service.js +3 -1
  32. package/dist/_internal/server/features/refunds/actions.d.ts +2 -2
  33. package/dist/_internal/server/features/refunds/actions.js +7 -6
  34. package/dist/_internal/server/functions/firestore.js +1 -1
  35. package/dist/_internal/server/functions/scheduled.d.ts +4 -1
  36. package/dist/_internal/server/functions/scheduled.js +26 -2
  37. package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +1 -1
  38. package/dist/_internal/server/jobs/core/hardBanCascade.d.ts +4 -0
  39. package/dist/_internal/server/jobs/core/hardBanCascade.js +15 -4
  40. package/dist/_internal/server/jobs/core/hardBanReinstatement.d.ts +16 -0
  41. package/dist/_internal/server/jobs/core/hardBanReinstatement.js +63 -0
  42. package/dist/_internal/server/jobs/core/jobRunners.js +3 -1
  43. package/dist/_internal/server/jobs/core/onScamReportCreate.js +1 -1
  44. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.d.ts +10 -0
  45. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +60 -0
  46. package/dist/_internal/server/jobs/core/paymentWindowTimeout.d.ts +15 -0
  47. package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +59 -0
  48. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +7 -0
  49. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +32 -6
  50. package/dist/_internal/server/jobs/handlers/hardBanReinstatement.d.ts +2 -0
  51. package/dist/_internal/server/jobs/handlers/hardBanReinstatement.js +2 -0
  52. package/dist/_internal/server/jobs/handlers/index.d.ts +3 -0
  53. package/dist/_internal/server/jobs/handlers/index.js +3 -0
  54. package/dist/_internal/server/jobs/handlers/messages.d.ts +4 -0
  55. package/dist/_internal/server/jobs/handlers/messages.js +4 -0
  56. package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.d.ts +3 -3
  57. package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.js +12 -12
  58. package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.d.ts +1 -1
  59. package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.js +5 -5
  60. package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.d.ts +2 -0
  61. package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.js +2 -0
  62. package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.d.ts +2 -0
  63. package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.js +2 -0
  64. package/dist/_internal/shared/actions/action-registry.js +27 -0
  65. package/dist/_internal/shared/checkout/order-math.js +3 -2
  66. package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
  67. package/dist/_internal/shared/checkout/rules/preorder.rule.js +7 -0
  68. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +7 -0
  69. package/dist/_internal/shared/checkout/rules/types.d.ts +11 -0
  70. package/dist/_internal/shared/features/auctions/errors.js +1 -1
  71. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +0 -1
  72. package/dist/_internal/shared/features/categories/bundle-copy.js +0 -1
  73. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +6 -6
  74. package/dist/_internal/shared/features/categories/bundle-schemas.js +2 -2
  75. package/dist/_internal/shared/features/checkout/config.d.ts +3 -3
  76. package/dist/_internal/shared/features/checkout/config.js +3 -3
  77. package/dist/_internal/shared/features/emi/schedule.d.ts +6 -6
  78. package/dist/_internal/shared/features/emi/schedule.js +10 -9
  79. package/dist/_internal/shared/features/promotions/errors.js +1 -1
  80. package/dist/_internal/shared/fees/calculator.d.ts +5 -5
  81. package/dist/_internal/shared/fees/calculator.js +19 -19
  82. package/dist/client.d.ts +1 -1
  83. package/dist/client.js +1 -1
  84. package/dist/constants/api-endpoints.d.ts +9 -0
  85. package/dist/constants/api-endpoints.js +3 -0
  86. package/dist/constants/field-names.d.ts +4 -0
  87. package/dist/constants/field-names.js +4 -0
  88. package/dist/features/admin/components/AdminArtView.js +2 -2
  89. package/dist/features/admin/components/AdminBidsView.js +2 -2
  90. package/dist/features/admin/components/AdminBundleEditorView.d.ts +1 -1
  91. package/dist/features/admin/components/AdminBundleEditorView.js +8 -8
  92. package/dist/features/admin/components/AdminBundlesView.js +6 -6
  93. package/dist/features/admin/components/AdminClassifiedView.js +2 -2
  94. package/dist/features/admin/components/AdminDigitalCodesView.js +2 -2
  95. package/dist/features/admin/components/AdminLiveView.js +2 -2
  96. package/dist/features/admin/components/AdminOrderEditorView.d.ts +6 -1
  97. package/dist/features/admin/components/AdminOrderEditorView.js +45 -5
  98. package/dist/features/admin/components/AdminOrdersView.js +8 -3
  99. package/dist/features/admin/components/AdminPayoutsView.js +2 -2
  100. package/dist/features/admin/components/AdminPrizeDrawsView.js +2 -2
  101. package/dist/features/admin/components/AdminReturnRequestsView.js +2 -2
  102. package/dist/features/admin/components/AdminSiteSettingsView.js +11 -11
  103. package/dist/features/admin/components/AdminStickersView.js +2 -2
  104. package/dist/features/admin/components/AdminSupportTicketDetailView.js +1 -1
  105. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -1
  106. package/dist/features/admin/hooks/useAdminListingData.js +3 -2
  107. package/dist/features/admin/schemas/firestore.d.ts +9 -7
  108. package/dist/features/admin/schemas/firestore.js +4 -3
  109. package/dist/features/auctions/components/AuctionBidsTable.js +3 -3
  110. package/dist/features/auth/checkout-value-otp.d.ts +46 -0
  111. package/dist/features/auth/checkout-value-otp.js +73 -0
  112. package/dist/features/auth/repository/user.repository.d.ts +6 -0
  113. package/dist/features/auth/repository/user.repository.js +19 -0
  114. package/dist/features/auth/schemas/firestore.d.ts +10 -0
  115. package/dist/features/auth/schemas/firestore.js +2 -0
  116. package/dist/features/cart/actions/cart-actions.d.ts +1 -1
  117. package/dist/features/cart/actions/cart-actions.js +4 -4
  118. package/dist/features/cart/components/CartView.d.ts +2 -2
  119. package/dist/features/cart/components/ShippingPicker.d.ts +4 -4
  120. package/dist/features/cart/components/ShippingPicker.js +11 -11
  121. package/dist/features/cart/repository/cart.repository.d.ts +1 -1
  122. package/dist/features/cart/repository/cart.repository.js +2 -2
  123. package/dist/features/cart/schemas/firestore.d.ts +2 -2
  124. package/dist/features/catalogue/components/CatalogueItemEditorView.js +3 -3
  125. package/dist/features/catalogue/components/PublicCatalogueView.js +2 -2
  126. package/dist/features/catalogue/schemas/validation.js +1 -1
  127. package/dist/features/categories/components/BundleCollage.js +2 -2
  128. package/dist/features/categories/components/BundleDetailView.js +2 -2
  129. package/dist/features/categories/components/BundleItemsPicker.d.ts +1 -1
  130. package/dist/features/categories/components/BundleItemsPicker.js +2 -2
  131. package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
  132. package/dist/features/categories/schemas/firestore.d.ts +1 -1
  133. package/dist/features/categories/schemas/index.d.ts +3 -3
  134. package/dist/features/categories/schemas/index.js +2 -2
  135. package/dist/features/checkout/actions/checkout-value-otp-actions.d.ts +16 -0
  136. package/dist/features/checkout/actions/checkout-value-otp-actions.js +83 -0
  137. package/dist/features/checkout/actions/index.d.ts +1 -0
  138. package/dist/features/checkout/actions/index.js +1 -0
  139. package/dist/features/checkout/schemas/firestore.d.ts +1 -1
  140. package/dist/features/classified/components/index.d.ts +0 -4
  141. package/dist/features/classified/components/index.js +0 -2
  142. package/dist/features/digital-codes/components/index.d.ts +0 -4
  143. package/dist/features/digital-codes/components/index.js +0 -2
  144. package/dist/features/events/schemas/index.d.ts +1 -1
  145. package/dist/features/events/schemas/index.js +1 -1
  146. package/dist/features/homepage/components/FeaturedBundlesSection.js +2 -2
  147. package/dist/features/live/components/index.d.ts +0 -4
  148. package/dist/features/live/components/index.js +0 -2
  149. package/dist/features/lottery/types/index.d.ts +3 -3
  150. package/dist/features/lottery/types/index.js +5 -5
  151. package/dist/features/orders/components/OrderPaymentSummary.js +2 -2
  152. package/dist/features/orders/components/OrderSiblingPayments.js +1 -1
  153. package/dist/features/orders/components/RefundHistoryTable.js +1 -1
  154. package/dist/features/orders/components/RefundRequestView.js +1 -1
  155. package/dist/features/orders/constants/payment-window.d.ts +10 -0
  156. package/dist/features/orders/constants/payment-window.js +10 -0
  157. package/dist/features/orders/repository/orders.repository.d.ts +25 -0
  158. package/dist/features/orders/repository/orders.repository.js +50 -1
  159. package/dist/features/orders/schemas/firestore.d.ts +50 -2
  160. package/dist/features/orders/schemas/index.d.ts +24 -24
  161. package/dist/features/orders/schemas/index.js +20 -20
  162. package/dist/features/orders/types/index.d.ts +4 -0
  163. package/dist/features/orders/utils/bundle-grouping.d.ts +1 -1
  164. package/dist/features/orders/utils/bundle-grouping.js +1 -1
  165. package/dist/features/payments/schemas/index.d.ts +10 -10
  166. package/dist/features/payments/schemas/index.js +9 -9
  167. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -2
  168. package/dist/features/products/components/ArtStickersListView.d.ts +7 -0
  169. package/dist/features/products/components/ArtStickersListView.js +57 -0
  170. package/dist/features/products/components/GroupSettingsPanel.js +1 -1
  171. package/dist/features/products/components/MakeOfferButton.js +3 -3
  172. package/dist/features/products/components/MarketplaceBundleCard.d.ts +1 -1
  173. package/dist/features/products/components/MarketplaceBundleCard.js +2 -2
  174. package/dist/features/products/components/PrizeDrawCollage.js +2 -2
  175. package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
  176. package/dist/features/products/components/PrizeRevealModal.js +1 -1
  177. package/dist/features/products/components/ProductDetailPageView.js +2 -9
  178. package/dist/features/products/components/ProductForm.js +2 -2
  179. package/dist/features/products/components/ProductGrid.js +2 -2
  180. package/dist/features/products/components/ProductsIndexListing.d.ts +13 -1
  181. package/dist/features/products/components/ProductsIndexListing.js +7 -5
  182. package/dist/features/products/components/ProductsIndexPageView.js +6 -1
  183. package/dist/features/products/constants/listing-tabs.d.ts +42 -17
  184. package/dist/features/products/constants/listing-tabs.js +25 -6
  185. package/dist/features/products/schemas/catalog-product.d.ts +5 -5
  186. package/dist/features/products/schemas/catalog-product.js +1 -1
  187. package/dist/features/products/schemas/firestore.d.ts +5 -5
  188. package/dist/features/products/schemas/firestore.js +2 -2
  189. package/dist/features/products/types/index.d.ts +5 -2
  190. package/dist/features/promotions/components/CouponCard.js +2 -2
  191. package/dist/features/promotions/schemas/firestore.d.ts +2 -0
  192. package/dist/features/promotions/schemas/firestore.js +1 -0
  193. package/dist/features/promotions/schemas/index.d.ts +14 -14
  194. package/dist/features/promotions/schemas/index.js +6 -6
  195. package/dist/features/scams/components/ScamProfileView.js +3 -7
  196. package/dist/features/scams/components/ScamRegistryView.js +2 -6
  197. package/dist/features/scams/schemas/firestore.d.ts +1 -1
  198. package/dist/features/search/components/Search.d.ts +1 -1
  199. package/dist/features/seller/actions/offer-actions.js +1 -1
  200. package/dist/features/seller/components/PrintCenterView.js +2 -2
  201. package/dist/features/seller/components/QuickProductForm.js +5 -5
  202. package/dist/features/seller/components/SellerArtView.js +2 -2
  203. package/dist/features/seller/components/SellerAuctionsView.js +2 -2
  204. package/dist/features/seller/components/SellerBidsView.js +2 -2
  205. package/dist/features/seller/components/SellerBundlesView.js +6 -6
  206. package/dist/features/seller/components/SellerClassifiedView.js +2 -2
  207. package/dist/features/seller/components/SellerDigitalCodesView.js +2 -2
  208. package/dist/features/seller/components/SellerLiveView.js +2 -2
  209. package/dist/features/seller/components/SellerOffersView.js +2 -2
  210. package/dist/features/seller/components/SellerOrdersView.js +3 -3
  211. package/dist/features/seller/components/SellerPayoutRequestView.js +2 -2
  212. package/dist/features/seller/components/SellerPayoutSettingsView.js +2 -2
  213. package/dist/features/seller/components/SellerPayoutsView.js +2 -2
  214. package/dist/features/seller/components/SellerPreOrdersView.js +2 -2
  215. package/dist/features/seller/components/SellerPrizeDrawsView.js +2 -2
  216. package/dist/features/seller/components/SellerProductShell.js +8 -8
  217. package/dist/features/seller/components/SellerProductsView.js +1 -1
  218. package/dist/features/seller/components/SellerShippingView.js +6 -6
  219. package/dist/features/seller/components/SellerStickersView.js +2 -2
  220. package/dist/features/seller/hooks/useSellerListingData.d.ts +1 -1
  221. package/dist/features/seller/hooks/useSellerListingData.js +3 -2
  222. package/dist/features/shipments/components/AdminShipmentEditorView.js +10 -10
  223. package/dist/features/shipments/components/AdminShipmentLotItemsView.js +4 -4
  224. package/dist/features/shipments/components/AdminShipmentProjectionsView.js +5 -5
  225. package/dist/features/shipments/components/AdminShipmentsView.js +4 -4
  226. package/dist/features/shipments/repository/shipment-lots.repository.d.ts +2 -2
  227. package/dist/features/shipments/repository/shipment-lots.repository.js +8 -8
  228. package/dist/features/shipments/schemas/firestore.d.ts +21 -21
  229. package/dist/features/shipments/schemas/firestore.js +9 -9
  230. package/dist/features/shipments/schemas/validation.d.ts +30 -30
  231. package/dist/features/shipments/schemas/validation.js +6 -6
  232. package/dist/features/shipments/utils/cost-allocation.d.ts +5 -5
  233. package/dist/features/shipments/utils/cost-allocation.js +39 -38
  234. package/dist/features/store-extensions/schemas/firestore.d.ts +5 -5
  235. package/dist/features/stores/components/StoreDetailLayoutView.js +9 -13
  236. package/dist/features/stores/schemas/firestore.d.ts +7 -7
  237. package/dist/features/stores/schemas/index.d.ts +84 -84
  238. package/dist/features/stores/schemas/index.js +5 -5
  239. package/dist/features/tester/seed-data/categories-tester-seed-data.js +1 -1
  240. package/dist/features/tester/seed-data/products-tester-seed-data.js +6 -6
  241. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +9 -2
  242. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +8 -1
  243. package/dist/features/whatsapp-bot/helpers/whatsapp.js +13 -2
  244. package/dist/features/whatsapp-bot/types/index.d.ts +9 -1
  245. package/dist/index.d.ts +3 -7
  246. package/dist/index.js +7 -5
  247. package/dist/next/routing/route-map.d.ts +2 -0
  248. package/dist/next/routing/route-map.js +6 -0
  249. package/dist/schemas/firestore-helpers.d.ts +2 -2
  250. package/dist/schemas/firestore-helpers.js +2 -2
  251. package/dist/schemas/registry.d.ts +73 -73
  252. package/dist/seed/bids-seed-data.js +6 -6
  253. package/dist/seed/blog-posts-seed-data.js +1 -0
  254. package/dist/seed/cart-seed-data.js +13 -13
  255. package/dist/seed/catalogue-seed-data.js +6 -6
  256. package/dist/seed/categories-seed-data.js +5 -5
  257. package/dist/seed/claimed-coupons-seed-data.js +3 -3
  258. package/dist/seed/coupons-seed-data.js +20 -20
  259. package/dist/seed/events-seed-data.js +27 -27
  260. package/dist/seed/factories/bid.factory.js +1 -1
  261. package/dist/seed/faq-seed-data.js +20 -1
  262. package/dist/seed/grouped-listings-seed-data.d.ts +2 -2
  263. package/dist/seed/grouped-listings-seed-data.js +3 -3
  264. package/dist/seed/offers-seed-data.js +19 -19
  265. package/dist/seed/orders-seed-data.js +29 -29
  266. package/dist/seed/payouts-seed-data.js +7 -7
  267. package/dist/seed/products-auctions-seed-data.js +6 -6
  268. package/dist/seed/products-preorders-seed-data.d.ts +2 -2
  269. package/dist/seed/products-preorders-seed-data.js +1 -1
  270. package/dist/seed/products-standard-seed-data.js +8 -8
  271. package/dist/seed/scammers-seed-data.js +2 -2
  272. package/dist/seed/shipments-seed-data.js +29 -29
  273. package/dist/seed/site-settings-seed-data.js +3 -2
  274. package/dist/seed/store-extensions-seed-data.js +8 -8
  275. package/dist/seed/stores-seed-data.js +37 -8
  276. package/dist/seed/users-seed-data.js +38 -1
  277. package/dist/server-entry.d.ts +1 -3
  278. package/dist/server-entry.js +1 -3
  279. package/dist/server.d.ts +2 -1
  280. package/dist/server.js +3 -1
  281. package/dist/ui/components/PriceDisplay.js +3 -12
  282. package/dist/utils/number.formatter.d.ts +2 -7
  283. package/dist/utils/number.formatter.js +3 -8
  284. package/package.json +1 -1
  285. package/scripts/seed-cli.mjs +8 -3
  286. package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +0 -34
  287. package/dist/_internal/client/scaffolds/DashboardScaffold.js +0 -26
  288. package/dist/_internal/client/theme/__tests__/ThemeProvider.test.d.ts +0 -1
  289. package/dist/_internal/client/theme/__tests__/ThemeProvider.test.js +0 -109
  290. package/dist/_internal/server/features/auctions/__tests__/service.test.d.ts +0 -1
  291. package/dist/_internal/server/features/auctions/__tests__/service.test.js +0 -140
  292. package/dist/_internal/server/features/checkout/__tests__/actions.test.d.ts +0 -1
  293. package/dist/_internal/server/features/checkout/__tests__/actions.test.js +0 -600
  294. package/dist/_internal/server/features/refunds/__tests__/actions.test.d.ts +0 -1
  295. package/dist/_internal/server/features/refunds/__tests__/actions.test.js +0 -263
  296. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.d.ts +0 -1
  297. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.js +0 -249
  298. package/dist/_internal/server/jobs/core/__tests__/couponExpiry.test.d.ts +0 -1
  299. package/dist/_internal/server/jobs/core/__tests__/couponExpiry.test.js +0 -65
  300. package/dist/_internal/server/jobs/core/__tests__/listingProcessor.test.d.ts +0 -1
  301. package/dist/_internal/server/jobs/core/__tests__/listingProcessor.test.js +0 -163
  302. package/dist/_internal/server/jobs/core/__tests__/mediaTmpCleanup.test.d.ts +0 -1
  303. package/dist/_internal/server/jobs/core/__tests__/mediaTmpCleanup.test.js +0 -115
  304. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.d.ts +0 -1
  305. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.js +0 -201
  306. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.d.ts +0 -1
  307. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.js +0 -169
  308. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.d.ts +0 -1
  309. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.js +0 -148
  310. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.d.ts +0 -1
  311. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.js +0 -210
  312. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.d.ts +0 -1
  313. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.js +0 -190
  314. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.d.ts +0 -1
  315. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.js +0 -161
  316. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.d.ts +0 -1
  317. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.js +0 -302
  318. package/dist/_internal/server/jobs/core/__tests__/pendingOrderTimeout.test.d.ts +0 -1
  319. package/dist/_internal/server/jobs/core/__tests__/pendingOrderTimeout.test.js +0 -96
  320. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.d.ts +0 -1
  321. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.js +0 -252
  322. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.d.ts +0 -1
  323. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.js +0 -129
  324. package/dist/_internal/server/jobs/core/onCatalogueSubmittedForApproval.d.ts +0 -15
  325. package/dist/_internal/server/jobs/core/onCatalogueSubmittedForApproval.js +0 -38
  326. package/dist/_internal/server/providers/index.d.ts +0 -11
  327. package/dist/_internal/server/providers/index.js +0 -11
  328. package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +0 -52
  329. package/dist/_internal/server/providers/payment/razorpay-mock.js +0 -118
  330. package/dist/_internal/server/providers/resolve.d.ts +0 -36
  331. package/dist/_internal/server/providers/resolve.js +0 -31
  332. package/dist/_internal/server/providers/shipping/shiprocket-mock.d.ts +0 -29
  333. package/dist/_internal/server/providers/shipping/shiprocket-mock.js +0 -152
  334. package/dist/_internal/shared/types/__tests__/action-result.test.d.ts +0 -1
  335. package/dist/_internal/shared/types/__tests__/action-result.test.js +0 -65
  336. package/dist/errors/__tests__/error-mapping.test.d.ts +0 -1
  337. package/dist/errors/__tests__/error-mapping.test.js +0 -122
  338. package/dist/errors/__tests__/safe-read.test.d.ts +0 -1
  339. package/dist/errors/__tests__/safe-read.test.js +0 -39
  340. package/dist/features/addresses/repository/__tests__/addresses.repository.test.d.ts +0 -1
  341. package/dist/features/addresses/repository/__tests__/addresses.repository.test.js +0 -386
  342. package/dist/features/admin/components/AdminListingScaffold.d.ts +0 -41
  343. package/dist/features/admin/components/AdminListingScaffold.js +0 -68
  344. package/dist/features/admin/components/QuickActionsPanel.d.ts +0 -15
  345. package/dist/features/admin/components/QuickActionsPanel.js +0 -5
  346. package/dist/features/admin/repository/__tests__/notification.repository.test.d.ts +0 -1
  347. package/dist/features/admin/repository/__tests__/notification.repository.test.js +0 -356
  348. package/dist/features/admin/repository/__tests__/site-settings.repository.test.d.ts +0 -1
  349. package/dist/features/admin/repository/__tests__/site-settings.repository.test.js +0 -298
  350. package/dist/features/auctions/repository/__tests__/bid.repository.test.d.ts +0 -1
  351. package/dist/features/auctions/repository/__tests__/bid.repository.test.js +0 -290
  352. package/dist/features/auctions/repository/auctions.repository.d.ts +0 -12
  353. package/dist/features/auctions/repository/auctions.repository.js +0 -42
  354. package/dist/features/auth/repository/__tests__/session.repository.test.d.ts +0 -1
  355. package/dist/features/auth/repository/__tests__/session.repository.test.js +0 -310
  356. package/dist/features/auth/repository/__tests__/session.test.d.ts +0 -1
  357. package/dist/features/auth/repository/__tests__/session.test.js +0 -146
  358. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.d.ts +0 -1
  359. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.js +0 -171
  360. package/dist/features/auth/repository/__tests__/sms-counter.test.d.ts +0 -1
  361. package/dist/features/auth/repository/__tests__/sms-counter.test.js +0 -88
  362. package/dist/features/auth/repository/__tests__/token.repository.test.d.ts +0 -1
  363. package/dist/features/auth/repository/__tests__/token.repository.test.js +0 -260
  364. package/dist/features/auth/repository/__tests__/token.test.d.ts +0 -1
  365. package/dist/features/auth/repository/__tests__/token.test.js +0 -140
  366. package/dist/features/auth/repository/__tests__/user.repository.test.d.ts +0 -1
  367. package/dist/features/auth/repository/__tests__/user.repository.test.js +0 -352
  368. package/dist/features/auth/repository/__tests__/user.test.d.ts +0 -1
  369. package/dist/features/auth/repository/__tests__/user.test.js +0 -226
  370. package/dist/features/before-after/repository/before-after.repository.d.ts +0 -13
  371. package/dist/features/before-after/repository/before-after.repository.js +0 -36
  372. package/dist/features/before-after/server.d.ts +0 -6
  373. package/dist/features/before-after/server.js +0 -6
  374. package/dist/features/cart/repository/__tests__/cart.repository.test.d.ts +0 -1
  375. package/dist/features/cart/repository/__tests__/cart.repository.test.js +0 -371
  376. package/dist/features/categories/repository/__tests__/categories.repository.test.d.ts +0 -1
  377. package/dist/features/categories/repository/__tests__/categories.repository.test.js +0 -813
  378. package/dist/features/collections/repository/collections.repository.d.ts +0 -8
  379. package/dist/features/collections/repository/collections.repository.js +0 -16
  380. package/dist/features/collections/server.d.ts +0 -6
  381. package/dist/features/collections/server.js +0 -6
  382. package/dist/features/events/repository/__tests__/event.repository.test.d.ts +0 -1
  383. package/dist/features/events/repository/__tests__/event.repository.test.js +0 -299
  384. package/dist/features/faq/repository/__tests__/faqs.repository.test.d.ts +0 -1
  385. package/dist/features/faq/repository/__tests__/faqs.repository.test.js +0 -311
  386. package/dist/features/forms/Form.d.ts +0 -25
  387. package/dist/features/forms/Form.js +0 -37
  388. package/dist/features/history/repository/__tests__/user-history.repository.test.d.ts +0 -1
  389. package/dist/features/history/repository/__tests__/user-history.repository.test.js +0 -180
  390. package/dist/features/homepage/repository/__tests__/carousel.repository.test.d.ts +0 -1
  391. package/dist/features/homepage/repository/__tests__/carousel.repository.test.js +0 -182
  392. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.d.ts +0 -1
  393. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.js +0 -185
  394. package/dist/features/layout/ListingLayout.d.ts +0 -34
  395. package/dist/features/layout/ListingLayout.js +0 -103
  396. package/dist/features/messages/repository/__tests__/conversations.repository.test.d.ts +0 -1
  397. package/dist/features/messages/repository/__tests__/conversations.repository.test.js +0 -257
  398. package/dist/features/orders/repository/__tests__/orders.repository.test.d.ts +0 -1
  399. package/dist/features/orders/repository/__tests__/orders.repository.test.js +0 -211
  400. package/dist/features/payments/repository/__tests__/payout.repository.test.d.ts +0 -1
  401. package/dist/features/payments/repository/__tests__/payout.repository.test.js +0 -292
  402. package/dist/features/pre-orders/repository/preorders.repository.d.ts +0 -8
  403. package/dist/features/pre-orders/repository/preorders.repository.js +0 -25
  404. package/dist/features/products/repository/__tests__/product-features.repository.test.d.ts +0 -1
  405. package/dist/features/products/repository/__tests__/product-features.repository.test.js +0 -329
  406. package/dist/features/products/repository/__tests__/products.repository.test.d.ts +0 -1
  407. package/dist/features/products/repository/__tests__/products.repository.test.js +0 -607
  408. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.d.ts +0 -1
  409. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.js +0 -219
  410. package/dist/features/promotions/repository/__tests__/coupons.repository.test.d.ts +0 -1
  411. package/dist/features/promotions/repository/__tests__/coupons.repository.test.js +0 -480
  412. package/dist/features/promotions/repository/promotions.repository.d.ts +0 -14
  413. package/dist/features/promotions/repository/promotions.repository.js +0 -43
  414. package/dist/features/reviews/repository/__tests__/reviews.repository.test.d.ts +0 -1
  415. package/dist/features/reviews/repository/__tests__/reviews.repository.test.js +0 -327
  416. package/dist/features/scams/repository/__tests__/scammer.repository.test.d.ts +0 -1
  417. package/dist/features/scams/repository/__tests__/scammer.repository.test.js +0 -385
  418. package/dist/features/search/repository/__tests__/search.repository.test.d.ts +0 -1
  419. package/dist/features/search/repository/__tests__/search.repository.test.js +0 -369
  420. package/dist/features/seller/components/SellerStatCard.d.ts +0 -14
  421. package/dist/features/seller/components/SellerStatCard.js +0 -6
  422. package/dist/features/seller/components/seller-products-styles.d.ts +0 -7
  423. package/dist/features/seller/components/seller-products-styles.js +0 -14
  424. package/dist/features/seller/repository/__tests__/offer.repository.test.d.ts +0 -1
  425. package/dist/features/seller/repository/__tests__/offer.repository.test.js +0 -458
  426. package/dist/features/seller/repository/seller.repository.d.ts +0 -22
  427. package/dist/features/seller/repository/seller.repository.js +0 -72
  428. package/dist/features/site-settings/components/__tests__/ThemeManagerView.test.d.ts +0 -1
  429. package/dist/features/site-settings/components/__tests__/ThemeManagerView.test.js +0 -37
  430. package/dist/features/stores/repository/__tests__/store.repository.test.d.ts +0 -1
  431. package/dist/features/stores/repository/__tests__/store.repository.test.js +0 -261
  432. package/dist/features/stores/repository/stores.repository.d.ts +0 -11
  433. package/dist/features/stores/repository/stores.repository.js +0 -37
  434. package/dist/features/support/repository/__tests__/support.repository.test.d.ts +0 -1
  435. package/dist/features/support/repository/__tests__/support.repository.test.js +0 -312
  436. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.d.ts +0 -1
  437. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.js +0 -139
  438. package/dist/features/wishlist/repository/wishlist.repository.d.ts +0 -13
  439. package/dist/features/wishlist/repository/wishlist.repository.js +0 -31
  440. package/dist/providers/db-firebase/__tests__/filter-aliases.test.d.ts +0 -1
  441. package/dist/providers/db-firebase/__tests__/filter-aliases.test.js +0 -93
  442. package/dist/providers/shipping-shiprocket/index.d.ts +0 -297
  443. package/dist/providers/shipping-shiprocket/index.js +0 -194
  444. package/dist/providers/shipping-shiprocket/shiprocket-provider.d.ts +0 -45
  445. package/dist/providers/shipping-shiprocket/shiprocket-provider.js +0 -168
  446. package/dist/react/contexts/ThemeContext.d.ts +0 -13
  447. package/dist/react/contexts/ThemeContext.js +0 -64
  448. package/dist/schemas/webhooks/shiprocket.d.ts +0 -30
  449. package/dist/schemas/webhooks/shiprocket.js +0 -22
  450. package/dist/seed/actions/demo-seed-actions.d.ts +0 -42
  451. package/dist/seed/actions/demo-seed-actions.js +0 -36
  452. package/dist/seed/actions/index.d.ts +0 -1
  453. package/dist/seed/actions/index.js +0 -1
  454. package/dist/seed/sub-listings-seed-data.d.ts +0 -123
  455. package/dist/seed/sub-listings-seed-data.js +0 -447
  456. package/dist/seed/tester-checklist-seed-data.d.ts +0 -2
  457. package/dist/seed/tester-checklist-seed-data.js +0 -248
  458. package/dist/ui/components/DashboardStatsCard.d.ts +0 -15
  459. package/dist/ui/components/DashboardStatsCard.js +0 -27
  460. package/dist/ui/components/DashboardStatsCard.style.css +0 -68
  461. package/dist/ui/components/DynamicSelect.d.ts +0 -23
  462. package/dist/ui/components/DynamicSelect.js +0 -77
  463. package/dist/ui/components/DynamicSelect.style.css +0 -101
  464. package/dist/ui/components/InlineCreateSelect.d.ts +0 -48
  465. package/dist/ui/components/InlineCreateSelect.js +0 -75
  466. package/dist/ui/components/ListingViewShell.d.ts +0 -37
  467. package/dist/ui/components/ListingViewShell.js +0 -9
  468. package/dist/ui/components/PaginatedMultiSelect.d.ts +0 -28
  469. package/dist/ui/components/PaginatedMultiSelect.js +0 -141
  470. package/dist/ui/components/PaginatedMultiSelect.style.css +0 -272
  471. package/dist/ui/components/SectionTabs.d.ts +0 -19
  472. package/dist/ui/components/SectionTabs.js +0 -66
  473. package/dist/ui/components/SectionTabs.style.css +0 -164
  474. package/dist/ui/components/__tests__/BulkActionBar.test.d.ts +0 -1
  475. package/dist/ui/components/__tests__/BulkActionBar.test.js +0 -96
  476. package/dist/ui/components/__tests__/ListingToolbar.test.d.ts +0 -1
  477. package/dist/ui/components/__tests__/ListingToolbar.test.js +0 -125
  478. package/dist/ui/components/__tests__/new-primitives.test.d.ts +0 -1
  479. package/dist/ui/components/__tests__/new-primitives.test.js +0 -187
@@ -45,27 +45,27 @@ export const createShipmentSchema = z.object({
45
45
  etaDate: z.union([z.string(), z.date()]).optional(),
46
46
  receivedDate: z.union([z.string(), z.date()]).optional(),
47
47
  notes: z.string().optional(),
48
- customsTotalPaise: z.number().int().min(0),
49
- shippingTotalPaise: z.number().int().min(0),
48
+ customsTotal: z.number().min(0),
49
+ shippingTotal: z.number().min(0),
50
50
  laborHoursSpent: z.number().min(0).optional(),
51
- laborRatePaisePerHour: z.number().int().min(0).optional(),
51
+ laborRatePerHour: z.number().min(0).optional(),
52
52
  });
53
53
  export const updateShipmentSchema = createShipmentSchema.partial();
54
54
  export const createShipmentLotSchema = z.object({
55
55
  lotName: z.string().min(1, "Lot name is required"),
56
56
  supplierOrderRef: z.string().optional(),
57
57
  weightGrams: z.number().min(0),
58
- purchaseCostPaise: z.number().int().min(0),
58
+ purchaseCost: z.number().min(0),
59
59
  images: z.array(mediaFieldSchema).optional().default([]),
60
60
  remainderItemCount: z.number().int().min(0).optional(),
61
- remainderEstimatedValuePaise: z.number().int().min(0).optional(),
61
+ remainderEstimatedValue: z.number().min(0).optional(),
62
62
  });
63
63
  export const updateShipmentLotSchema = createShipmentLotSchema.partial();
64
64
  const shipmentItemBaseSchema = z.object({
65
65
  title: z.string().min(1, "Item title is required"),
66
66
  quantity: z.number().int().min(1),
67
67
  isForSelfUse: z.boolean(),
68
- price: z.number().int().min(0).optional(),
68
+ price: z.number().min(0).optional(),
69
69
  condition: productConditionSchema.optional(),
70
70
  categorySlugs: z.array(z.string()).optional(),
71
71
  brandSlug: z.string().optional(),
@@ -8,14 +8,14 @@
8
8
  * preview, but only the Function's write is ever persisted.
9
9
  */
10
10
  import type { ShipmentLot, ShipmentTotals } from "../schemas/firestore";
11
- export type LotAllocationInput = Pick<ShipmentLot, "id" | "purchaseCostPaise" | "weightGrams" | "mainItemsProjectedRevenuePaise" | "remainderEstimatedValuePaise" | "itemCount">;
12
- export type LotAllocationResult = Pick<ShipmentLot, "customsAllocatedPaise" | "shippingAllocatedPaise" | "totalLandedCostPaise" | "projectedRevenuePaise" | "projectedProfitPaise">;
11
+ export type LotAllocationInput = Pick<ShipmentLot, "id" | "purchaseCost" | "weightGrams" | "mainItemsProjectedRevenue" | "remainderEstimatedValue" | "itemCount">;
12
+ export type LotAllocationResult = Pick<ShipmentLot, "customsAllocated" | "shippingAllocated" | "totalLandedCost" | "projectedRevenue" | "projectedProfit">;
13
13
  export interface AllocateShipmentCostsInput {
14
14
  lots: LotAllocationInput[];
15
- customsTotalPaise: number;
16
- shippingTotalPaise: number;
15
+ customsTotal: number;
16
+ shippingTotal: number;
17
17
  laborHoursSpent: number;
18
- laborRatePaisePerHour: number;
18
+ laborRatePerHour: number;
19
19
  maxHoursPerDay: number;
20
20
  }
21
21
  export interface AllocateShipmentCostsResult {
@@ -7,18 +7,19 @@
7
7
  * The admin editor may still call this client-side for a cosmetic live
8
8
  * preview, but only the Function's write is ever persisted.
9
9
  */
10
+ import { roundRupees } from "../../../utils/number.formatter";
10
11
  /**
11
- * Splits `totalPaise` across `weights` proportionally, with the remainder
12
+ * Splits `total` across `weights` proportionally, with the remainder
12
13
  * corrected onto the last non-zero-weight entry so the sum always
13
- * reconciles exactly to `totalPaise` (integer-paise-safe).
14
+ * reconciles exactly to `total` (rupee-2dp-safe).
14
15
  */
15
- function allocateProportionally(totalPaise, weights) {
16
+ function allocateProportionally(total, weights) {
16
17
  const totalWeight = weights.reduce((s, w) => s + w, 0);
17
- if (totalWeight <= 0 || totalPaise === 0)
18
+ if (totalWeight <= 0 || total === 0)
18
19
  return weights.map(() => 0);
19
- const shares = weights.map((w) => Math.round((totalPaise * w) / totalWeight));
20
+ const shares = weights.map((w) => roundRupees((total * w) / totalWeight));
20
21
  const allocated = shares.reduce((s, v) => s + v, 0);
21
- const remainder = totalPaise - allocated;
22
+ const remainder = roundRupees(total - allocated);
22
23
  if (remainder !== 0) {
23
24
  let lastPositiveIndex = -1;
24
25
  for (let i = weights.length - 1; i >= 0; i--) {
@@ -28,52 +29,52 @@ function allocateProportionally(totalPaise, weights) {
28
29
  }
29
30
  }
30
31
  if (lastPositiveIndex >= 0)
31
- shares[lastPositiveIndex] += remainder;
32
+ shares[lastPositiveIndex] = roundRupees(shares[lastPositiveIndex] + remainder);
32
33
  }
33
34
  return shares;
34
35
  }
35
36
  export function allocateShipmentCosts(input) {
36
- const { lots, customsTotalPaise, shippingTotalPaise, laborHoursSpent, laborRatePaisePerHour, maxHoursPerDay } = input;
37
- const costWeights = lots.map((lot) => lot.purchaseCostPaise);
37
+ const { lots, customsTotal, shippingTotal, laborHoursSpent, laborRatePerHour, maxHoursPerDay } = input;
38
+ const costWeights = lots.map((lot) => lot.purchaseCost);
38
39
  const weightWeights = lots.map((lot) => lot.weightGrams);
39
- const customsShares = allocateProportionally(customsTotalPaise, costWeights);
40
- const shippingShares = allocateProportionally(shippingTotalPaise, weightWeights);
40
+ const customsShares = allocateProportionally(customsTotal, costWeights);
41
+ const shippingShares = allocateProportionally(shippingTotal, weightWeights);
41
42
  const perLot = {};
42
- let totalProjectedRevenuePaise = 0;
43
+ let totalProjectedRevenue = 0;
43
44
  let totalItemCount = 0;
44
45
  lots.forEach((lot, i) => {
45
- const customsAllocatedPaise = customsShares[i];
46
- const shippingAllocatedPaise = shippingShares[i];
47
- const totalLandedCostPaise = lot.purchaseCostPaise + customsAllocatedPaise + shippingAllocatedPaise;
48
- const projectedRevenuePaise = lot.mainItemsProjectedRevenuePaise + (lot.remainderEstimatedValuePaise ?? 0);
49
- const projectedProfitPaise = projectedRevenuePaise - totalLandedCostPaise;
46
+ const customsAllocated = customsShares[i];
47
+ const shippingAllocated = shippingShares[i];
48
+ const totalLandedCost = roundRupees(lot.purchaseCost + customsAllocated + shippingAllocated);
49
+ const projectedRevenue = lot.mainItemsProjectedRevenue + (lot.remainderEstimatedValue ?? 0);
50
+ const projectedProfit = roundRupees(projectedRevenue - totalLandedCost);
50
51
  perLot[lot.id] = {
51
- customsAllocatedPaise,
52
- shippingAllocatedPaise,
53
- totalLandedCostPaise,
54
- projectedRevenuePaise,
55
- projectedProfitPaise,
52
+ customsAllocated,
53
+ shippingAllocated,
54
+ totalLandedCost,
55
+ projectedRevenue,
56
+ projectedProfit,
56
57
  };
57
- totalProjectedRevenuePaise += projectedRevenuePaise;
58
+ totalProjectedRevenue += projectedRevenue;
58
59
  totalItemCount += lot.itemCount;
59
60
  });
60
- const lotsCostPaise = costWeights.reduce((s, v) => s + v, 0);
61
- const laborCostPaise = Math.round(laborHoursSpent * laborRatePaisePerHour);
62
- const totalShipmentCostPaise = lotsCostPaise + customsTotalPaise + shippingTotalPaise;
63
- const projectedProfitPaise = totalProjectedRevenuePaise - totalShipmentCostPaise;
64
- const projectedProfitAfterLaborPaise = projectedProfitPaise - laborCostPaise;
61
+ const lotsCost = costWeights.reduce((s, v) => s + v, 0);
62
+ const laborCost = roundRupees(laborHoursSpent * laborRatePerHour);
63
+ const totalShipmentCost = roundRupees(lotsCost + customsTotal + shippingTotal);
64
+ const projectedProfit = roundRupees(totalProjectedRevenue - totalShipmentCost);
65
+ const projectedProfitAfterLabor = roundRupees(projectedProfit - laborCost);
65
66
  const totalWeightGrams = weightWeights.reduce((s, v) => s + v, 0);
66
67
  const totals = {
67
- lotsCostPaise,
68
- customsTotalPaise,
69
- shippingTotalPaise,
70
- laborCostPaise,
71
- totalShipmentCostPaise,
72
- totalProjectedRevenuePaise,
73
- projectedProfitPaise,
74
- projectedProfitAfterLaborPaise,
75
- projectedMarginPercent: totalProjectedRevenuePaise > 0 ? (projectedProfitPaise / totalProjectedRevenuePaise) * 100 : 0,
76
- projectedRoiPercent: totalShipmentCostPaise > 0 ? (projectedProfitPaise / totalShipmentCostPaise) * 100 : 0,
68
+ lotsCost,
69
+ customsTotal,
70
+ shippingTotal,
71
+ laborCost,
72
+ totalShipmentCost,
73
+ totalProjectedRevenue,
74
+ projectedProfit,
75
+ projectedProfitAfterLabor,
76
+ projectedMarginPercent: totalProjectedRevenue > 0 ? (projectedProfit / totalProjectedRevenue) * 100 : 0,
77
+ projectedRoiPercent: totalShipmentCost > 0 ? (projectedProfit / totalShipmentCost) * 100 : 0,
77
78
  totalWeightGrams,
78
79
  totalItemCount,
79
80
  lotCount: lots.length,
@@ -45,10 +45,10 @@ export interface ShippingConfigDocument extends BaseDocument {
45
45
  method: ShippingMethod;
46
46
  isDefault: boolean;
47
47
  isActive: boolean;
48
- flatRateInPaise?: number;
49
- pricePerKgInPaise?: number;
50
- freeAbovePaise?: number;
51
- expressSurchargeInPaise?: number;
48
+ flatRate?: number;
49
+ pricePerKg?: number;
50
+ freeAbove?: number;
51
+ expressSurcharge?: number;
52
52
  estimatedDays?: number;
53
53
  zones?: string[];
54
54
  }
@@ -170,7 +170,7 @@ export interface ItemRequestDocument extends BaseDocument {
170
170
  description: string;
171
171
  category?: string;
172
172
  brand?: string;
173
- maxBudgetInPaise?: number;
173
+ maxBudget?: number;
174
174
  imageUrls: string[];
175
175
  status: ItemRequestStatus;
176
176
  replyCount: number;
@@ -18,10 +18,9 @@ const STORE_LISTING_HREF = {
18
18
  classifieds: (slug) => String(ROUTES.PUBLIC.STORE_CLASSIFIEDS(slug)),
19
19
  "digital-codes": (slug) => String(ROUTES.PUBLIC.STORE_DIGITAL_CODES(slug)),
20
20
  live: (slug) => String(ROUTES.PUBLIC.STORE_LIVE(slug)),
21
- // Art / stickers have no dedicated storefront tab page — they're browsable
21
+ // Art & Stickers has no dedicated storefront tab page — browsable
22
22
  // (alongside everything else the store sells) on the "Products" tab.
23
23
  art: (slug) => String(ROUTES.PUBLIC.STORE_PRODUCTS(slug)),
24
- stickers: (slug) => String(ROUTES.PUBLIC.STORE_PRODUCTS(slug)),
25
24
  };
26
25
  export const getStoreBySlug = cache((slug) => storeRepository.findBySlug(slug).catch(() => undefined));
27
26
  function tabLabel(base, count) {
@@ -41,7 +40,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
41
40
  ? getSellerTrustStatus(storeId).catch(() => undefined)
42
41
  : Promise.resolve(undefined),
43
42
  ]);
44
- const [productsCount, auctionsCount, preOrdersCount, prizeDrawsCount, bundlesCount, classifiedsCount, digitalCodesCount, liveCount, artCount, stickersCount, couponsCount, reviewsCount] = storeId
43
+ const [productsCount, auctionsCount, preOrdersCount, prizeDrawsCount, bundlesCount, classifiedsCount, digitalCodesCount, liveCount, artStickersCount, couponsCount, reviewsCount] = storeId
45
44
  ? await Promise.all([
46
45
  productRepository
47
46
  .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "standard")), page: 1, pageSize: 1 })
@@ -78,11 +77,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
78
77
  .then((r) => r.total)
79
78
  .catch(() => 0),
80
79
  productRepository
81
- .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "art")), page: 1, pageSize: 1 })
82
- .then((r) => r.total)
83
- .catch(() => 0),
84
- productRepository
85
- .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "stickers")), page: 1, pageSize: 1 })
80
+ .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "art|stickers")), page: 1, pageSize: 1 })
86
81
  .then((r) => r.total)
87
82
  .catch(() => 0),
88
83
  couponsRepository
@@ -94,7 +89,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
94
89
  .then((r) => r.total)
95
90
  .catch(() => 0),
96
91
  ])
97
- : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
92
+ : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
98
93
  const listingCounts = {
99
94
  products: productsCount,
100
95
  auctions: auctionsCount,
@@ -104,8 +99,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
104
99
  classifieds: classifiedsCount,
105
100
  "digital-codes": digitalCodesCount,
106
101
  live: liveCount,
107
- art: artCount,
108
- stickers: stickersCount,
102
+ art: artStickersCount,
109
103
  };
110
104
  const TAB_LISTING_TYPE = {
111
105
  products: "standard",
@@ -115,12 +109,14 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
115
109
  classifieds: "classified",
116
110
  "digital-codes": "digital-code",
117
111
  live: "live",
118
- art: "art",
119
- stickers: "stickers",
120
112
  };
121
113
  const visibleStoreTabs = STORE_PAGE_TABS.filter((tab) => {
122
114
  if (tab.id === "bundles")
123
115
  return isCategoryTypeEnabled("bundle", settings);
116
+ // Combined tab — visible if either underlying listing type is enabled.
117
+ if (tab.id === "art") {
118
+ return isListingTypeEnabled("art", settings) || isListingTypeEnabled("stickers", settings);
119
+ }
124
120
  const lt = TAB_LISTING_TYPE[tab.id];
125
121
  return lt ? isListingTypeEnabled(lt, settings) : true;
126
122
  });
@@ -14,16 +14,16 @@ export interface ShippingProviderConfig {
14
14
  label: string;
15
15
  type: ShippingProviderType;
16
16
  fee: {
17
- /** Flat fee in paise. */
18
- flatInPaise?: number;
19
- /** Per-kg surcharge in paise. */
20
- perKgInPaise?: number;
17
+ /** Flat fee, decimal rupees. */
18
+ flat?: number;
19
+ /** Per-kg surcharge, decimal rupees. */
20
+ perKg?: number;
21
21
  /** Percentage of order subtotal (0–100). */
22
22
  percentOfOrder?: number;
23
23
  /** If order subtotal exceeds this threshold, shipping is free. */
24
- freeAboveInPaise?: number;
25
- /** Minimum charge in paise (floor after all other rules). */
26
- minInPaise?: number;
24
+ freeAbove?: number;
25
+ /** Minimum charge, decimal rupees (floor after all other rules). */
26
+ min?: number;
27
27
  };
28
28
  etaDaysMin: number;
29
29
  etaDaysMax: number;
@@ -6,23 +6,23 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
6
6
  label: z.ZodString;
7
7
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
8
8
  fee: z.ZodObject<{
9
- flatInPaise: z.ZodOptional<z.ZodNumber>;
10
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
9
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
10
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
11
11
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
12
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
13
- minInPaise: z.ZodOptional<z.ZodNumber>;
12
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
13
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
14
14
  }, "strip", z.ZodTypeAny, {
15
- flatInPaise?: number | undefined;
16
- perKgInPaise?: number | undefined;
15
+ flat?: number | undefined;
16
+ min?: number | undefined;
17
+ perKg?: number | undefined;
17
18
  percentOfOrder?: number | undefined;
18
- freeAboveInPaise?: number | undefined;
19
- minInPaise?: number | undefined;
19
+ freeAbove?: number | undefined;
20
20
  }, {
21
- flatInPaise?: number | undefined;
22
- perKgInPaise?: number | undefined;
21
+ flat?: number | undefined;
22
+ min?: number | undefined;
23
+ perKg?: number | undefined;
23
24
  percentOfOrder?: number | undefined;
24
- freeAboveInPaise?: number | undefined;
25
- minInPaise?: number | undefined;
25
+ freeAbove?: number | undefined;
26
26
  }>;
27
27
  etaDaysMin: z.ZodNumber;
28
28
  etaDaysMax: z.ZodNumber;
@@ -33,11 +33,11 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
33
33
  label: string;
34
34
  providerId: string;
35
35
  fee: {
36
- flatInPaise?: number | undefined;
37
- perKgInPaise?: number | undefined;
36
+ flat?: number | undefined;
37
+ min?: number | undefined;
38
+ perKg?: number | undefined;
38
39
  percentOfOrder?: number | undefined;
39
- freeAboveInPaise?: number | undefined;
40
- minInPaise?: number | undefined;
40
+ freeAbove?: number | undefined;
41
41
  };
42
42
  etaDaysMin: number;
43
43
  etaDaysMax: number;
@@ -48,11 +48,11 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
48
48
  label: string;
49
49
  providerId: string;
50
50
  fee: {
51
- flatInPaise?: number | undefined;
52
- perKgInPaise?: number | undefined;
51
+ flat?: number | undefined;
52
+ min?: number | undefined;
53
+ perKg?: number | undefined;
53
54
  percentOfOrder?: number | undefined;
54
- freeAboveInPaise?: number | undefined;
55
- minInPaise?: number | undefined;
55
+ freeAbove?: number | undefined;
56
56
  };
57
57
  etaDaysMin: number;
58
58
  etaDaysMax: number;
@@ -65,23 +65,23 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
65
65
  label: z.ZodString;
66
66
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
67
67
  fee: z.ZodObject<{
68
- flatInPaise: z.ZodOptional<z.ZodNumber>;
69
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
68
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
69
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
70
70
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
71
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
72
- minInPaise: z.ZodOptional<z.ZodNumber>;
71
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
72
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
73
73
  }, "strip", z.ZodTypeAny, {
74
- flatInPaise?: number | undefined;
75
- perKgInPaise?: number | undefined;
74
+ flat?: number | undefined;
75
+ min?: number | undefined;
76
+ perKg?: number | undefined;
76
77
  percentOfOrder?: number | undefined;
77
- freeAboveInPaise?: number | undefined;
78
- minInPaise?: number | undefined;
78
+ freeAbove?: number | undefined;
79
79
  }, {
80
- flatInPaise?: number | undefined;
81
- perKgInPaise?: number | undefined;
80
+ flat?: number | undefined;
81
+ min?: number | undefined;
82
+ perKg?: number | undefined;
82
83
  percentOfOrder?: number | undefined;
83
- freeAboveInPaise?: number | undefined;
84
- minInPaise?: number | undefined;
84
+ freeAbove?: number | undefined;
85
85
  }>;
86
86
  etaDaysMin: z.ZodNumber;
87
87
  etaDaysMax: z.ZodNumber;
@@ -92,11 +92,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
92
92
  label: string;
93
93
  providerId: string;
94
94
  fee: {
95
- flatInPaise?: number | undefined;
96
- perKgInPaise?: number | undefined;
95
+ flat?: number | undefined;
96
+ min?: number | undefined;
97
+ perKg?: number | undefined;
97
98
  percentOfOrder?: number | undefined;
98
- freeAboveInPaise?: number | undefined;
99
- minInPaise?: number | undefined;
99
+ freeAbove?: number | undefined;
100
100
  };
101
101
  etaDaysMin: number;
102
102
  etaDaysMax: number;
@@ -107,11 +107,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
107
107
  label: string;
108
108
  providerId: string;
109
109
  fee: {
110
- flatInPaise?: number | undefined;
111
- perKgInPaise?: number | undefined;
110
+ flat?: number | undefined;
111
+ min?: number | undefined;
112
+ perKg?: number | undefined;
112
113
  percentOfOrder?: number | undefined;
113
- freeAboveInPaise?: number | undefined;
114
- minInPaise?: number | undefined;
114
+ freeAbove?: number | undefined;
115
115
  };
116
116
  etaDaysMin: number;
117
117
  etaDaysMax: number;
@@ -125,11 +125,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
125
125
  label: string;
126
126
  providerId: string;
127
127
  fee: {
128
- flatInPaise?: number | undefined;
129
- perKgInPaise?: number | undefined;
128
+ flat?: number | undefined;
129
+ min?: number | undefined;
130
+ perKg?: number | undefined;
130
131
  percentOfOrder?: number | undefined;
131
- freeAboveInPaise?: number | undefined;
132
- minInPaise?: number | undefined;
132
+ freeAbove?: number | undefined;
133
133
  };
134
134
  etaDaysMin: number;
135
135
  etaDaysMax: number;
@@ -143,11 +143,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
143
143
  label: string;
144
144
  providerId: string;
145
145
  fee: {
146
- flatInPaise?: number | undefined;
147
- perKgInPaise?: number | undefined;
146
+ flat?: number | undefined;
147
+ min?: number | undefined;
148
+ perKg?: number | undefined;
148
149
  percentOfOrder?: number | undefined;
149
- freeAboveInPaise?: number | undefined;
150
- minInPaise?: number | undefined;
150
+ freeAbove?: number | undefined;
151
151
  };
152
152
  etaDaysMin: number;
153
153
  etaDaysMax: number;
@@ -255,23 +255,23 @@ export declare const storeFirestoreSchema: z.ZodObject<{
255
255
  label: z.ZodString;
256
256
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
257
257
  fee: z.ZodObject<{
258
- flatInPaise: z.ZodOptional<z.ZodNumber>;
259
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
258
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
259
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
260
260
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
261
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
262
- minInPaise: z.ZodOptional<z.ZodNumber>;
261
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
262
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
263
263
  }, "strip", z.ZodTypeAny, {
264
- flatInPaise?: number | undefined;
265
- perKgInPaise?: number | undefined;
264
+ flat?: number | undefined;
265
+ min?: number | undefined;
266
+ perKg?: number | undefined;
266
267
  percentOfOrder?: number | undefined;
267
- freeAboveInPaise?: number | undefined;
268
- minInPaise?: number | undefined;
268
+ freeAbove?: number | undefined;
269
269
  }, {
270
- flatInPaise?: number | undefined;
271
- perKgInPaise?: number | undefined;
270
+ flat?: number | undefined;
271
+ min?: number | undefined;
272
+ perKg?: number | undefined;
272
273
  percentOfOrder?: number | undefined;
273
- freeAboveInPaise?: number | undefined;
274
- minInPaise?: number | undefined;
274
+ freeAbove?: number | undefined;
275
275
  }>;
276
276
  etaDaysMin: z.ZodNumber;
277
277
  etaDaysMax: z.ZodNumber;
@@ -282,11 +282,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
282
282
  label: string;
283
283
  providerId: string;
284
284
  fee: {
285
- flatInPaise?: number | undefined;
286
- perKgInPaise?: number | undefined;
285
+ flat?: number | undefined;
286
+ min?: number | undefined;
287
+ perKg?: number | undefined;
287
288
  percentOfOrder?: number | undefined;
288
- freeAboveInPaise?: number | undefined;
289
- minInPaise?: number | undefined;
289
+ freeAbove?: number | undefined;
290
290
  };
291
291
  etaDaysMin: number;
292
292
  etaDaysMax: number;
@@ -297,11 +297,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
297
297
  label: string;
298
298
  providerId: string;
299
299
  fee: {
300
- flatInPaise?: number | undefined;
301
- perKgInPaise?: number | undefined;
300
+ flat?: number | undefined;
301
+ min?: number | undefined;
302
+ perKg?: number | undefined;
302
303
  percentOfOrder?: number | undefined;
303
- freeAboveInPaise?: number | undefined;
304
- minInPaise?: number | undefined;
304
+ freeAbove?: number | undefined;
305
305
  };
306
306
  etaDaysMin: number;
307
307
  etaDaysMax: number;
@@ -315,11 +315,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
315
315
  label: string;
316
316
  providerId: string;
317
317
  fee: {
318
- flatInPaise?: number | undefined;
319
- perKgInPaise?: number | undefined;
318
+ flat?: number | undefined;
319
+ min?: number | undefined;
320
+ perKg?: number | undefined;
320
321
  percentOfOrder?: number | undefined;
321
- freeAboveInPaise?: number | undefined;
322
- minInPaise?: number | undefined;
322
+ freeAbove?: number | undefined;
323
323
  };
324
324
  etaDaysMin: number;
325
325
  etaDaysMax: number;
@@ -333,11 +333,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
333
333
  label: string;
334
334
  providerId: string;
335
335
  fee: {
336
- flatInPaise?: number | undefined;
337
- perKgInPaise?: number | undefined;
336
+ flat?: number | undefined;
337
+ min?: number | undefined;
338
+ perKg?: number | undefined;
338
339
  percentOfOrder?: number | undefined;
339
- freeAboveInPaise?: number | undefined;
340
- minInPaise?: number | undefined;
340
+ freeAbove?: number | undefined;
341
341
  };
342
342
  etaDaysMin: number;
343
343
  etaDaysMax: number;
@@ -431,11 +431,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
431
431
  label: string;
432
432
  providerId: string;
433
433
  fee: {
434
- flatInPaise?: number | undefined;
435
- perKgInPaise?: number | undefined;
434
+ flat?: number | undefined;
435
+ min?: number | undefined;
436
+ perKg?: number | undefined;
436
437
  percentOfOrder?: number | undefined;
437
- freeAboveInPaise?: number | undefined;
438
- minInPaise?: number | undefined;
438
+ freeAbove?: number | undefined;
439
439
  };
440
440
  etaDaysMin: number;
441
441
  etaDaysMax: number;
@@ -516,11 +516,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
516
516
  label: string;
517
517
  providerId: string;
518
518
  fee: {
519
- flatInPaise?: number | undefined;
520
- perKgInPaise?: number | undefined;
519
+ flat?: number | undefined;
520
+ min?: number | undefined;
521
+ perKg?: number | undefined;
521
522
  percentOfOrder?: number | undefined;
522
- freeAboveInPaise?: number | undefined;
523
- minInPaise?: number | undefined;
523
+ freeAbove?: number | undefined;
524
524
  };
525
525
  etaDaysMin: number;
526
526
  etaDaysMax: number;
@@ -1,7 +1,7 @@
1
1
  export * from "./firestore";
2
2
  import { z } from "zod";
3
3
  import { StoreStatusValues } from "./firestore";
4
- import { auditTimestampsShape, firestoreDateSchema, paiseSchema } from "../../../schemas/firestore-helpers";
4
+ import { auditTimestampsShape, firestoreDateSchema, rupeesSchema } from "../../../schemas/firestore-helpers";
5
5
  // ─── Firestore document schema (W2) ───────────────────────────────────────────
6
6
  // Mirrors StoreDocument in ./firestore.ts. Registered into SCHEMAS.firestore.stores.
7
7
  export const shippingProviderTypeSchema = z.enum([
@@ -14,11 +14,11 @@ export const shippingProviderConfigSchema = z.object({
14
14
  label: z.string(),
15
15
  type: shippingProviderTypeSchema,
16
16
  fee: z.object({
17
- flatInPaise: paiseSchema.optional(),
18
- perKgInPaise: paiseSchema.optional(),
17
+ flat: rupeesSchema.optional(),
18
+ perKg: rupeesSchema.optional(),
19
19
  percentOfOrder: z.number().min(0).max(100).optional(),
20
- freeAboveInPaise: paiseSchema.optional(),
21
- minInPaise: paiseSchema.optional(),
20
+ freeAbove: rupeesSchema.optional(),
21
+ min: rupeesSchema.optional(),
22
22
  }),
23
23
  etaDaysMin: z.number().int().nonnegative(),
24
24
  etaDaysMax: z.number().int().nonnegative(),
@@ -148,7 +148,7 @@ export const categoriesTesterSeedData = [
148
148
  description: "Two disposable test products bundled at a discount — for testing the bundle flow.",
149
149
  categoryType: "bundle",
150
150
  bundleKind: "special",
151
- bundlePriceInPaise: 19900,
151
+ bundlePrice: 199,
152
152
  bundleQueryRule: {
153
153
  type: "static",
154
154
  productIds: ["product-tester-standard-1", "product-tester-standard-2"],