@burdenoff/microfe-kadaikodi 2026.704.4 → 2026.710.1

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 (341) hide show
  1. package/dist/generated/global-operations.d.ts +2 -0
  2. package/dist/generated/global-operations.d.ts.map +1 -0
  3. package/dist/generated/global-types.d.ts +23527 -0
  4. package/dist/generated/global-types.d.ts.map +1 -0
  5. package/dist/generated/wspace-operations.d.ts +2 -0
  6. package/dist/generated/wspace-operations.d.ts.map +1 -0
  7. package/dist/generated/wspace-types.d.ts +57851 -0
  8. package/dist/generated/wspace-types.d.ts.map +1 -0
  9. package/dist/index.d.ts +7 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +2 -1
  12. package/dist/kadaikodi/KadaikodiRoot.d.ts +5 -0
  13. package/dist/kadaikodi/KadaikodiRoot.d.ts.map +1 -0
  14. package/dist/kadaikodi/KadaikodiRoutes.d.ts +4 -0
  15. package/dist/kadaikodi/KadaikodiRoutes.d.ts.map +1 -0
  16. package/dist/kadaikodi/KadaikodiRoutes.js +30 -26
  17. package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
  18. package/dist/kadaikodi/components/CartCard.d.ts +18 -0
  19. package/dist/kadaikodi/components/CartCard.d.ts.map +1 -0
  20. package/dist/kadaikodi/components/EmptyState.d.ts +17 -0
  21. package/dist/kadaikodi/components/EmptyState.d.ts.map +1 -0
  22. package/dist/kadaikodi/components/InvestmentCard.d.ts +18 -0
  23. package/dist/kadaikodi/components/InvestmentCard.d.ts.map +1 -0
  24. package/dist/kadaikodi/components/MetricsCard.d.ts +16 -0
  25. package/dist/kadaikodi/components/MetricsCard.d.ts.map +1 -0
  26. package/dist/kadaikodi/components/OrderCard.d.ts +18 -0
  27. package/dist/kadaikodi/components/OrderCard.d.ts.map +1 -0
  28. package/dist/kadaikodi/components/PageLayout.d.ts +12 -0
  29. package/dist/kadaikodi/components/PageLayout.d.ts.map +1 -0
  30. package/dist/kadaikodi/components/RatingDisplay.d.ts +12 -0
  31. package/dist/kadaikodi/components/RatingDisplay.d.ts.map +1 -0
  32. package/dist/kadaikodi/components/StatusBadge.d.ts +9 -0
  33. package/dist/kadaikodi/components/StatusBadge.d.ts.map +1 -0
  34. package/dist/kadaikodi/components/index.d.ts +13 -0
  35. package/dist/kadaikodi/components/index.d.ts.map +1 -0
  36. package/dist/kadaikodi/components/viz/AllocationBar.d.ts +21 -0
  37. package/dist/kadaikodi/components/viz/AllocationBar.d.ts.map +1 -0
  38. package/dist/kadaikodi/components/viz/AllocationBar.js +68 -0
  39. package/dist/kadaikodi/components/viz/AllocationBar.js.map +1 -0
  40. package/dist/kadaikodi/components/viz/AreaChart.d.ts +18 -0
  41. package/dist/kadaikodi/components/viz/AreaChart.d.ts.map +1 -0
  42. package/dist/kadaikodi/components/viz/AreaChart.js +102 -0
  43. package/dist/kadaikodi/components/viz/AreaChart.js.map +1 -0
  44. package/dist/kadaikodi/components/viz/AvatarStack.d.ts +13 -0
  45. package/dist/kadaikodi/components/viz/AvatarStack.d.ts.map +1 -0
  46. package/dist/kadaikodi/components/viz/AvatarStack.js +36 -0
  47. package/dist/kadaikodi/components/viz/AvatarStack.js.map +1 -0
  48. package/dist/kadaikodi/components/viz/BarChart.d.ts +17 -0
  49. package/dist/kadaikodi/components/viz/BarChart.d.ts.map +1 -0
  50. package/dist/kadaikodi/components/viz/BarChart.js +83 -0
  51. package/dist/kadaikodi/components/viz/BarChart.js.map +1 -0
  52. package/dist/kadaikodi/components/viz/CertificateCard.d.ts +14 -0
  53. package/dist/kadaikodi/components/viz/CertificateCard.d.ts.map +1 -0
  54. package/dist/kadaikodi/components/viz/CertificateCard.js +4 -0
  55. package/dist/kadaikodi/components/viz/DonutChart.d.ts +20 -0
  56. package/dist/kadaikodi/components/viz/DonutChart.d.ts.map +1 -0
  57. package/dist/kadaikodi/components/viz/DonutChart.js +109 -0
  58. package/dist/kadaikodi/components/viz/DonutChart.js.map +1 -0
  59. package/dist/kadaikodi/components/viz/HBarFunnel.d.ts +17 -0
  60. package/dist/kadaikodi/components/viz/HBarFunnel.d.ts.map +1 -0
  61. package/dist/kadaikodi/components/viz/HBarFunnel.js +54 -0
  62. package/dist/kadaikodi/components/viz/HBarFunnel.js.map +1 -0
  63. package/dist/kadaikodi/components/viz/Heatmap.d.ts +26 -0
  64. package/dist/kadaikodi/components/viz/Heatmap.d.ts.map +1 -0
  65. package/dist/kadaikodi/components/viz/Heatmap.js +3 -0
  66. package/dist/kadaikodi/components/viz/KanbanBoard.d.ts +17 -0
  67. package/dist/kadaikodi/components/viz/KanbanBoard.d.ts.map +1 -0
  68. package/dist/kadaikodi/components/viz/KanbanBoard.js +50 -0
  69. package/dist/kadaikodi/components/viz/KanbanBoard.js.map +1 -0
  70. package/dist/kadaikodi/components/viz/LineChart.d.ts +20 -0
  71. package/dist/kadaikodi/components/viz/LineChart.d.ts.map +1 -0
  72. package/dist/kadaikodi/components/viz/LineChart.js +4 -0
  73. package/dist/kadaikodi/components/viz/OrgTree.d.ts +14 -0
  74. package/dist/kadaikodi/components/viz/OrgTree.d.ts.map +1 -0
  75. package/dist/kadaikodi/components/viz/OrgTree.js +2 -0
  76. package/dist/kadaikodi/components/viz/PathSteps.d.ts +17 -0
  77. package/dist/kadaikodi/components/viz/PathSteps.d.ts.map +1 -0
  78. package/dist/kadaikodi/components/viz/PathSteps.js +3 -0
  79. package/dist/kadaikodi/components/viz/ProgressRing.d.ts +20 -0
  80. package/dist/kadaikodi/components/viz/ProgressRing.d.ts.map +1 -0
  81. package/dist/kadaikodi/components/viz/ProgressRing.js +68 -0
  82. package/dist/kadaikodi/components/viz/ProgressRing.js.map +1 -0
  83. package/dist/kadaikodi/components/viz/RatingStars.d.ts +14 -0
  84. package/dist/kadaikodi/components/viz/RatingStars.d.ts.map +1 -0
  85. package/dist/kadaikodi/components/viz/RatingStars.js +51 -0
  86. package/dist/kadaikodi/components/viz/RatingStars.js.map +1 -0
  87. package/dist/kadaikodi/components/viz/SegmentedTabs.d.ts +26 -0
  88. package/dist/kadaikodi/components/viz/SegmentedTabs.d.ts.map +1 -0
  89. package/dist/kadaikodi/components/viz/SegmentedTabs.js +69 -0
  90. package/dist/kadaikodi/components/viz/SegmentedTabs.js.map +1 -0
  91. package/dist/kadaikodi/components/viz/SkillBar.d.ts +17 -0
  92. package/dist/kadaikodi/components/viz/SkillBar.d.ts.map +1 -0
  93. package/dist/kadaikodi/components/viz/SkillBar.js +3 -0
  94. package/dist/kadaikodi/components/viz/Sparkline.d.ts +16 -0
  95. package/dist/kadaikodi/components/viz/Sparkline.d.ts.map +1 -0
  96. package/dist/kadaikodi/components/viz/Sparkline.js +74 -0
  97. package/dist/kadaikodi/components/viz/Sparkline.js.map +1 -0
  98. package/dist/kadaikodi/components/viz/StatCard.d.ts +22 -0
  99. package/dist/kadaikodi/components/viz/StatCard.d.ts.map +1 -0
  100. package/dist/kadaikodi/components/viz/StatCard.js +60 -0
  101. package/dist/kadaikodi/components/viz/StatCard.js.map +1 -0
  102. package/dist/kadaikodi/components/viz/StepProgress.d.ts +17 -0
  103. package/dist/kadaikodi/components/viz/StepProgress.d.ts.map +1 -0
  104. package/dist/kadaikodi/components/viz/StepProgress.js +64 -0
  105. package/dist/kadaikodi/components/viz/StepProgress.js.map +1 -0
  106. package/dist/kadaikodi/components/viz/Timeline.d.ts +21 -0
  107. package/dist/kadaikodi/components/viz/Timeline.d.ts.map +1 -0
  108. package/dist/kadaikodi/components/viz/Timeline.js +66 -0
  109. package/dist/kadaikodi/components/viz/Timeline.js.map +1 -0
  110. package/dist/kadaikodi/components/viz/index.d.ts +35 -0
  111. package/dist/kadaikodi/components/viz/index.d.ts.map +1 -0
  112. package/dist/kadaikodi/components/viz/index.js +23 -0
  113. package/dist/kadaikodi/components/viz/lib/Avatar.d.ts +15 -0
  114. package/dist/kadaikodi/components/viz/lib/Avatar.d.ts.map +1 -0
  115. package/dist/kadaikodi/components/viz/lib/Avatar.js +30 -0
  116. package/dist/kadaikodi/components/viz/lib/Avatar.js.map +1 -0
  117. package/dist/kadaikodi/components/viz/lib/CartesianFrame.d.ts +44 -0
  118. package/dist/kadaikodi/components/viz/lib/CartesianFrame.d.ts.map +1 -0
  119. package/dist/kadaikodi/components/viz/lib/CartesianFrame.js +119 -0
  120. package/dist/kadaikodi/components/viz/lib/CartesianFrame.js.map +1 -0
  121. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.d.ts +27 -0
  122. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.d.ts.map +1 -0
  123. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js +35 -0
  124. package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js.map +1 -0
  125. package/dist/kadaikodi/components/viz/lib/format.d.ts +10 -0
  126. package/dist/kadaikodi/components/viz/lib/format.d.ts.map +1 -0
  127. package/dist/kadaikodi/components/viz/lib/format.js +21 -0
  128. package/dist/kadaikodi/components/viz/lib/format.js.map +1 -0
  129. package/dist/kadaikodi/components/viz/lib/geometry.d.ts +41 -0
  130. package/dist/kadaikodi/components/viz/lib/geometry.d.ts.map +1 -0
  131. package/dist/kadaikodi/components/viz/lib/geometry.js +61 -0
  132. package/dist/kadaikodi/components/viz/lib/geometry.js.map +1 -0
  133. package/dist/kadaikodi/components/viz/lib/hooks.d.ts +18 -0
  134. package/dist/kadaikodi/components/viz/lib/hooks.d.ts.map +1 -0
  135. package/dist/kadaikodi/components/viz/lib/hooks.js +39 -0
  136. package/dist/kadaikodi/components/viz/lib/hooks.js.map +1 -0
  137. package/dist/kadaikodi/components/viz/lib/palette.d.ts +31 -0
  138. package/dist/kadaikodi/components/viz/lib/palette.d.ts.map +1 -0
  139. package/dist/kadaikodi/components/viz/lib/palette.js +27 -0
  140. package/dist/kadaikodi/components/viz/lib/palette.js.map +1 -0
  141. package/dist/kadaikodi/components/viz/lib/types.d.ts +27 -0
  142. package/dist/kadaikodi/components/viz/lib/types.d.ts.map +1 -0
  143. package/dist/kadaikodi/context/KadaikodiContext.d.ts +16 -0
  144. package/dist/kadaikodi/context/KadaikodiContext.d.ts.map +1 -0
  145. package/dist/kadaikodi/context/index.d.ts +6 -0
  146. package/dist/kadaikodi/context/index.d.ts.map +1 -0
  147. package/dist/kadaikodi/hooks/index.d.ts +2 -0
  148. package/dist/kadaikodi/hooks/index.d.ts.map +1 -0
  149. package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts +169 -0
  150. package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts.map +1 -0
  151. package/dist/kadaikodi/hooks/useKadaikodiApi.js +18 -10
  152. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  153. package/dist/kadaikodi/index.d.ts +11 -0
  154. package/dist/kadaikodi/index.d.ts.map +1 -0
  155. package/dist/kadaikodi/pages/HomePage.d.ts +14 -0
  156. package/dist/kadaikodi/pages/HomePage.d.ts.map +1 -0
  157. package/dist/kadaikodi/pages/HomePage.js +373 -631
  158. package/dist/kadaikodi/pages/HomePage.js.map +1 -1
  159. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.d.ts +13 -0
  160. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.d.ts.map +1 -0
  161. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +304 -169
  162. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  163. package/dist/kadaikodi/pages/admin/AdminDashboard.d.ts +13 -0
  164. package/dist/kadaikodi/pages/admin/AdminDashboard.d.ts.map +1 -0
  165. package/dist/kadaikodi/pages/admin/AdminDashboard.js +255 -271
  166. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  167. package/dist/kadaikodi/pages/admin/AdminFinancialPage.d.ts +12 -0
  168. package/dist/kadaikodi/pages/admin/AdminFinancialPage.d.ts.map +1 -0
  169. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +185 -125
  170. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  171. package/dist/kadaikodi/pages/admin/AdminOrdersPage.d.ts +11 -0
  172. package/dist/kadaikodi/pages/admin/AdminOrdersPage.d.ts.map +1 -0
  173. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +141 -102
  174. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  175. package/dist/kadaikodi/pages/admin/AdminProfilePage.d.ts +11 -0
  176. package/dist/kadaikodi/pages/admin/AdminProfilePage.d.ts.map +1 -0
  177. package/dist/kadaikodi/pages/admin/AdminSettingsPage.d.ts +10 -0
  178. package/dist/kadaikodi/pages/admin/AdminSettingsPage.d.ts.map +1 -0
  179. package/dist/kadaikodi/pages/admin/CartManagementPage.d.ts +13 -0
  180. package/dist/kadaikodi/pages/admin/CartManagementPage.d.ts.map +1 -0
  181. package/dist/kadaikodi/pages/admin/CartManagementPage.js +558 -718
  182. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  183. package/dist/kadaikodi/pages/admin/UserManagementPage.d.ts +10 -0
  184. package/dist/kadaikodi/pages/admin/UserManagementPage.d.ts.map +1 -0
  185. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  186. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.d.ts +13 -0
  187. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.d.ts.map +1 -0
  188. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +142 -55
  189. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  190. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.d.ts +11 -0
  191. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -0
  192. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.d.ts +12 -0
  193. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.d.ts.map +1 -0
  194. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +129 -164
  195. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  196. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.d.ts +12 -0
  197. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.d.ts.map +1 -0
  198. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.d.ts +11 -0
  199. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.d.ts.map +1 -0
  200. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.d.ts +11 -0
  201. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.d.ts.map +1 -0
  202. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +379 -361
  203. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  204. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.d.ts +2 -0
  205. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.d.ts.map +1 -0
  206. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +266 -166
  207. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -1
  208. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.d.ts +2 -0
  209. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.d.ts.map +1 -0
  210. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js +373 -0
  211. package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js.map +1 -0
  212. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.d.ts +10 -0
  213. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.d.ts.map +1 -0
  214. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +288 -161
  215. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  216. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.d.ts +12 -0
  217. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.d.ts.map +1 -0
  218. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +180 -181
  219. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  220. package/dist/kadaikodi/pages/common/HelpSupportPage.d.ts +11 -0
  221. package/dist/kadaikodi/pages/common/HelpSupportPage.d.ts.map +1 -0
  222. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  223. package/dist/kadaikodi/pages/common/NotificationCenterPage.d.ts +10 -0
  224. package/dist/kadaikodi/pages/common/NotificationCenterPage.d.ts.map +1 -0
  225. package/dist/kadaikodi/pages/common/SettingsPage.d.ts +19 -0
  226. package/dist/kadaikodi/pages/common/SettingsPage.d.ts.map +1 -0
  227. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  228. package/dist/kadaikodi/pages/customer/BookingDetailsPage.d.ts +12 -0
  229. package/dist/kadaikodi/pages/customer/BookingDetailsPage.d.ts.map +1 -0
  230. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +17 -34
  231. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  232. package/dist/kadaikodi/pages/customer/CartDetailPage.d.ts +13 -0
  233. package/dist/kadaikodi/pages/customer/CartDetailPage.d.ts.map +1 -0
  234. package/dist/kadaikodi/pages/customer/CartDetailPage.js +405 -248
  235. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  236. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.d.ts +11 -0
  237. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.d.ts.map +1 -0
  238. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +258 -232
  239. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  240. package/dist/kadaikodi/pages/customer/CheckoutPage.d.ts +9 -0
  241. package/dist/kadaikodi/pages/customer/CheckoutPage.d.ts.map +1 -0
  242. package/dist/kadaikodi/pages/customer/CheckoutPage.js +254 -205
  243. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  244. package/dist/kadaikodi/pages/customer/CustomerDashboard.d.ts +10 -0
  245. package/dist/kadaikodi/pages/customer/CustomerDashboard.d.ts.map +1 -0
  246. package/dist/kadaikodi/pages/customer/CustomerProfilePage.d.ts +10 -0
  247. package/dist/kadaikodi/pages/customer/CustomerProfilePage.d.ts.map +1 -0
  248. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.d.ts +12 -0
  249. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.d.ts.map +1 -0
  250. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +270 -230
  251. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  252. package/dist/kadaikodi/pages/customer/FavoritesPage.d.ts +11 -0
  253. package/dist/kadaikodi/pages/customer/FavoritesPage.d.ts.map +1 -0
  254. package/dist/kadaikodi/pages/customer/FavoritesPage.js +149 -412
  255. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  256. package/dist/kadaikodi/pages/customer/OrderHistoryPage.d.ts +9 -0
  257. package/dist/kadaikodi/pages/customer/OrderHistoryPage.d.ts.map +1 -0
  258. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +173 -134
  259. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  260. package/dist/kadaikodi/pages/customer/OrderTrackingPage.d.ts +9 -0
  261. package/dist/kadaikodi/pages/customer/OrderTrackingPage.d.ts.map +1 -0
  262. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +176 -175
  263. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  264. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.d.ts +11 -0
  265. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.d.ts.map +1 -0
  266. package/dist/kadaikodi/pages/customer/ReviewsPage.d.ts +12 -0
  267. package/dist/kadaikodi/pages/customer/ReviewsPage.d.ts.map +1 -0
  268. package/dist/kadaikodi/pages/customer/ReviewsPage.js +295 -438
  269. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  270. package/dist/kadaikodi/pages/customer/SavedAddressesPage.d.ts +10 -0
  271. package/dist/kadaikodi/pages/customer/SavedAddressesPage.d.ts.map +1 -0
  272. package/dist/kadaikodi/pages/customer/shared.d.ts +41 -0
  273. package/dist/kadaikodi/pages/customer/shared.d.ts.map +1 -0
  274. package/dist/kadaikodi/pages/customer/shared.js +181 -0
  275. package/dist/kadaikodi/pages/customer/shared.js.map +1 -0
  276. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.d.ts +13 -0
  277. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.d.ts.map +1 -0
  278. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +438 -311
  279. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  280. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.d.ts +10 -0
  281. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -0
  282. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +320 -293
  283. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  284. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.d.ts +11 -0
  285. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.d.ts.map +1 -0
  286. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +159 -91
  287. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  288. package/dist/kadaikodi/pages/investor/InvestorDashboard.d.ts +10 -0
  289. package/dist/kadaikodi/pages/investor/InvestorDashboard.d.ts.map +1 -0
  290. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +137 -107
  291. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  292. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.d.ts +10 -0
  293. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.d.ts.map +1 -0
  294. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +157 -135
  295. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  296. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.d.ts +11 -0
  297. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.d.ts.map +1 -0
  298. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +280 -206
  299. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  300. package/dist/kadaikodi/pages/investor/InvestorProfilePage.d.ts +20 -0
  301. package/dist/kadaikodi/pages/investor/InvestorProfilePage.d.ts.map +1 -0
  302. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  303. package/dist/kadaikodi/pages/worker/TaskDetailsPage.d.ts +18 -0
  304. package/dist/kadaikodi/pages/worker/TaskDetailsPage.d.ts.map +1 -0
  305. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +424 -448
  306. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  307. package/dist/kadaikodi/pages/worker/WorkerDashboard.d.ts +14 -0
  308. package/dist/kadaikodi/pages/worker/WorkerDashboard.d.ts.map +1 -0
  309. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +328 -445
  310. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  311. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.d.ts +18 -0
  312. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.d.ts.map +1 -0
  313. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +141 -164
  314. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  315. package/dist/kadaikodi/pages/worker/WorkerProfilePage.d.ts +18 -0
  316. package/dist/kadaikodi/pages/worker/WorkerProfilePage.d.ts.map +1 -0
  317. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +300 -296
  318. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  319. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.d.ts +16 -0
  320. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.d.ts.map +1 -0
  321. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +284 -309
  322. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  323. package/dist/kadaikodi/store/index.d.ts +6 -0
  324. package/dist/kadaikodi/store/index.d.ts.map +1 -0
  325. package/dist/kadaikodi/store/kadaikodiStore.d.ts +60 -0
  326. package/dist/kadaikodi/store/kadaikodiStore.d.ts.map +1 -0
  327. package/dist/kadaikodi/types/index.d.ts +464 -0
  328. package/dist/kadaikodi/types/index.d.ts.map +1 -0
  329. package/dist/kadaikodi/utils/cn.d.ts +4 -0
  330. package/dist/kadaikodi/utils/cn.d.ts.map +1 -0
  331. package/dist/kadaikodi/utils/formatters.d.ts +78 -0
  332. package/dist/kadaikodi/utils/formatters.d.ts.map +1 -0
  333. package/dist/kadaikodi/utils/index.d.ts +8 -0
  334. package/dist/kadaikodi/utils/index.d.ts.map +1 -0
  335. package/dist/kadaikodi/utils/navigation.d.ts +20 -0
  336. package/dist/kadaikodi/utils/navigation.d.ts.map +1 -0
  337. package/dist/services/createSandboxAssistantTransport.d.ts +43 -0
  338. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
  339. package/dist/services/createSandboxAssistantTransport.js +15 -0
  340. package/dist/services/createSandboxAssistantTransport.js.map +1 -0
  341. package/package.json +5 -1
@@ -2,11 +2,13 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
2
2
  import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { EmptyState as r } from "../../components/EmptyState.js";
5
- import { useCreateReview as i, useOrders as a } from "../../hooks/useKadaikodiApi.js";
6
- import { formatDate as o } from "../../utils/formatters.js";
7
- import { RatingDisplay as s } from "../../components/RatingDisplay.js";
8
- import { useCallback as c, useState as l } from "react";
9
- import { CheckCircle2 as u, Info as d, MessageCircle as f, MessageSquare as p, PenSquare as m, Search as h, Star as g, ThumbsUp as _, X as v } from "lucide-react";
5
+ import { useCreateReview as i, useOrders as a, useProviders as ee, useReviews as o } from "../../hooks/useKadaikodiApi.js";
6
+ import { formatRelativeTime as s } from "../../utils/formatters.js";
7
+ import { RatingStars as c } from "../../components/viz/RatingStars.js";
8
+ import "../../components/viz/index.js";
9
+ import { ProviderImage as l } from "./shared.js";
10
+ import { useMemo as u, useState as d } from "react";
11
+ import { CheckCircle2 as f, Loader2 as p, MessageCircle as m, MessageSquare as h, PenSquare as g, Search as _, Star as v } from "lucide-react";
10
12
  import { jsx as y, jsxs as b } from "react/jsx-runtime";
11
13
  import { EmphasisPanel as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
12
14
  //#region src/kadaikodi/pages/customer/ReviewsPage.tsx
@@ -18,7 +20,7 @@ var C = {
18
20
  5: "Excellent"
19
21
  };
20
22
  function w({ value: e, onChange: n }) {
21
- let [r, i] = l(0), a = r || e;
23
+ let [r, i] = d(0), a = r || e;
22
24
  return /* @__PURE__ */ b("div", {
23
25
  className: "flex items-center gap-3",
24
26
  children: [/* @__PURE__ */ y("div", {
@@ -34,8 +36,9 @@ function w({ value: e, onChange: n }) {
34
36
  onClick: () => n(e),
35
37
  onMouseEnter: () => i(e),
36
38
  onMouseLeave: () => i(0),
37
- className: "p-0.5 transition-transform",
38
- children: /* @__PURE__ */ y(g, { className: t("h-6 w-6", e <= a ? "fill-status-warning-text text-status-warning-text" : "fill-none text-text-secondary/40") })
39
+ className: "p-0.5 transition-transform hover:scale-110",
40
+ "aria-label": `${e} star${e > 1 ? "s" : ""}`,
41
+ children: /* @__PURE__ */ y(v, { className: t("h-7 w-7", e <= a ? "fill-status-warning-text text-status-warning-text" : "fill-none text-text-secondary/40") })
39
42
  }, e))
40
43
  }), /* @__PURE__ */ y("span", {
41
44
  className: "text-sm font-medium text-text-secondary",
@@ -44,34 +47,35 @@ function w({ value: e, onChange: n }) {
44
47
  });
45
48
  }
46
49
  function T() {
47
- let { navigateTo: C, currentUser: T } = e(), E = T?.id ?? "", { data: D = [] } = a({ customerId: T?.id }), O = i(), k = D.filter((e) => e.status === "delivered"), [A, j] = l([]), [M, N] = l(!1), [P, F] = l(""), [I, L] = l({
48
- rating: 5,
49
- title: "",
50
- comment: ""
51
- }), [R, z] = l({
52
- searchQuery: "",
53
- type: "all",
54
- rating: "",
55
- sortBy: "recent"
56
- }), [B, V] = l(null), H = (e) => {
57
- V(e), setTimeout(() => V(null), 3e3);
58
- }, U = c(() => {
59
- let e = [...A];
60
- if (R.type === "my-reviews" ? e = e.filter((e) => e.userId === E) : R.type !== "all" && (e = e.filter((e) => e.itemType === R.type)), R.rating) {
61
- let t = parseInt(R.rating, 10);
62
- e = e.filter((e) => e.rating === t);
50
+ let { navigateTo: C, currentUser: T } = e(), { data: E = [], isLoading: D } = ee(), { data: O = [] } = a({ customerId: T?.id }), k = i(), A = u(() => O.filter((e) => e.status === "delivered"), [O]), j = u(() => new Set(A.map((e) => e.cartId)), [A]), [M, N] = d(""), P = M || A[0]?.cartId || E[0]?.id || "", F = u(() => E.find((e) => e.id === P), [E, P]), { data: I = [], isLoading: L } = o(P), [R, z] = d(""), [B, V] = d(""), [H, U] = d("recent"), [W, G] = d(5), [K, q] = d(""), [J, Y] = d(null), X = (e) => {
51
+ Y(e), setTimeout(() => Y(null), 3e3);
52
+ }, Z = u(() => {
53
+ let e = {
54
+ 5: 0,
55
+ 4: 0,
56
+ 3: 0,
57
+ 2: 0,
58
+ 1: 0
59
+ };
60
+ for (let t of I) {
61
+ let n = Math.min(5, Math.max(1, Math.round(t.rating)));
62
+ e[n] += 1;
63
63
  }
64
- if (R.searchQuery) {
65
- let t = R.searchQuery.toLowerCase();
66
- e = e.filter((e) => e.itemName.toLowerCase().includes(t) || e.title.toLowerCase().includes(t) || e.comment.toLowerCase().includes(t) || e.cartName.toLowerCase().includes(t));
64
+ return e;
65
+ }, [I]), Q = u(() => {
66
+ let e = [...I];
67
+ if (B) {
68
+ let t = parseInt(B, 10);
69
+ e = e.filter((e) => Math.round(e.rating) === t);
70
+ }
71
+ if (R.trim()) {
72
+ let t = R.toLowerCase();
73
+ e = e.filter((e) => (e.review ?? "").toLowerCase().includes(t) || (e.response ?? "").toLowerCase().includes(t));
67
74
  }
68
- switch (R.sortBy) {
75
+ switch (H) {
69
76
  case "recent":
70
77
  e.sort((e, t) => new Date(t.createdAt).getTime() - new Date(e.createdAt).getTime());
71
78
  break;
72
- case "helpful":
73
- e.sort((e, t) => t.helpfulCount - e.helpfulCount);
74
- break;
75
79
  case "rating-high":
76
80
  e.sort((e, t) => t.rating - e.rating);
77
81
  break;
@@ -80,453 +84,306 @@ function T() {
80
84
  break;
81
85
  }
82
86
  return e;
83
- }, [A, R])(), W = A.filter((e) => e.userId === E).length, G = A.length > 0 ? (A.reduce((e, t) => e + t.rating, 0) / A.length).toFixed(1) : "0", K = () => {
84
- if (!P) {
85
- H("Please choose which delivered order you want to review.");
86
- return;
87
- }
88
- if (!I.title.trim() || !I.comment.trim()) {
89
- H("Please fill in the Review Title and Comment.");
90
- return;
91
- }
92
- let e = k.find((e) => e.id === P);
93
- if (!e || !T?.id) {
94
- H("Could not find that order. Please try again.");
95
- return;
96
- }
97
- O.mutate({
98
- providerId: e.cartId,
99
- orderId: e.id,
100
- customerId: T.id,
101
- rating: I.rating,
102
- review: `${I.title.trim()} — ${I.comment.trim()}`
103
- }, {
104
- onSuccess: () => {
105
- L({
106
- rating: 5,
107
- title: "",
108
- comment: ""
109
- }), F(""), N(!1), H("Thanks! Your review has been posted to the cart.");
110
- },
111
- onError: () => H("Could not post your review. Please try again.")
112
- });
113
- }, q = (e) => {
114
- j((t) => t.map((t) => t.id === e ? {
115
- ...t,
116
- isHelpful: !t.isHelpful,
117
- helpfulCount: t.isHelpful ? t.helpfulCount - 1 : t.helpfulCount + 1
118
- } : t));
119
- };
120
- return /* @__PURE__ */ b(n, {
87
+ }, [
88
+ I,
89
+ B,
90
+ R,
91
+ H
92
+ ]), $ = u(() => A.find((e) => e.cartId === P), [A, P]), te = !!($ && T?.id);
93
+ return D ? /* @__PURE__ */ y(n, {
94
+ title: "Reviews & Ratings",
95
+ children: /* @__PURE__ */ y("div", {
96
+ className: "flex h-[60vh] items-center justify-center",
97
+ children: /* @__PURE__ */ y(p, { className: "h-8 w-8 animate-spin text-accent-primary" })
98
+ })
99
+ }) : F ? /* @__PURE__ */ b(n, {
121
100
  title: "Reviews & Ratings",
122
- description: `${U.length} reviews found`,
123
- actions: /* @__PURE__ */ b("button", {
124
- type: "button",
125
- onClick: () => N(!0),
126
- className: t("flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-opacity", "bg-foreground text-background hover:opacity-90"),
127
- children: [/* @__PURE__ */ y(m, { className: "h-4 w-4" }), "Write Review"]
128
- }),
101
+ description: `${I.length} reviews`,
129
102
  children: [
130
- B && /* @__PURE__ */ b("div", {
131
- className: "mb-4 rounded-lg border border-status-success-text/30 bg-status-success-bg-subtle p-3 flex items-center gap-2",
132
- children: [/* @__PURE__ */ y(u, { className: "h-4 w-4 text-status-success-text shrink-0" }), /* @__PURE__ */ y("p", {
103
+ J && /* @__PURE__ */ b("div", {
104
+ className: "mb-4 flex items-center gap-2 rounded-lg border border-status-success-text/30 bg-status-success-bg-subtle p-3",
105
+ children: [/* @__PURE__ */ y(f, { className: "h-4 w-4 text-status-success-text shrink-0" }), /* @__PURE__ */ y("p", {
133
106
  className: "text-sm text-status-success-text",
134
- children: B
107
+ children: J
135
108
  })]
136
109
  }),
137
110
  /* @__PURE__ */ y(S, {
138
111
  className: "mb-6",
139
- children: "Your voice on the carts you've tried — write honest reviews to help other customers and give vendors feedback they can act on. Browse what others said, then add your own rating for a recent order."
112
+ children: "Honest ratings for the carts on Kadaikodi — pick a cart to see its aggregate score and every review, then add your own for an order you've had delivered."
113
+ }),
114
+ /* @__PURE__ */ b("div", {
115
+ className: "mb-6",
116
+ children: [/* @__PURE__ */ y("label", {
117
+ className: "mb-1.5 block text-sm font-medium text-text-primary",
118
+ children: "Viewing reviews for"
119
+ }), /* @__PURE__ */ y("select", {
120
+ value: P,
121
+ onChange: (e) => N(e.target.value),
122
+ className: "w-full max-w-sm rounded-lg border border-border-subtle bg-bg-surface px-3 py-2.5 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
123
+ children: E.map((e) => /* @__PURE__ */ b("option", {
124
+ value: e.id,
125
+ children: [e.name, j.has(e.id) ? " • ordered" : ""]
126
+ }, e.id))
127
+ })]
140
128
  }),
141
129
  /* @__PURE__ */ y(x, {
142
130
  className: "mb-6",
143
131
  children: /* @__PURE__ */ b("div", {
144
- className: "flex flex-wrap items-center gap-4 text-sm text-text-secondary",
145
- children: [
146
- /* @__PURE__ */ b("span", { children: [A.length, " total reviews"] }),
147
- /* @__PURE__ */ b("span", { children: [W, " your reviews"] }),
148
- /* @__PURE__ */ b("span", {
149
- className: "flex items-center gap-1",
150
- children: [
151
- "Average: ",
152
- G,
153
- /* @__PURE__ */ y(g, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" })
154
- ]
132
+ className: "flex flex-col gap-5 sm:flex-row sm:items-center",
133
+ children: [/* @__PURE__ */ b("div", {
134
+ className: "flex items-center gap-4",
135
+ children: [/* @__PURE__ */ y("div", {
136
+ className: "h-16 w-16 shrink-0 overflow-hidden rounded-xl",
137
+ children: /* @__PURE__ */ y(l, {
138
+ src: F.image,
139
+ alt: F.name,
140
+ seed: F.name
141
+ })
142
+ }), /* @__PURE__ */ b("div", { children: [
143
+ /* @__PURE__ */ y("p", {
144
+ className: "text-4xl font-bold leading-none text-text-primary",
145
+ children: F.rating.toFixed(1)
146
+ }),
147
+ /* @__PURE__ */ y("div", {
148
+ className: "mt-1.5",
149
+ children: /* @__PURE__ */ y(c, {
150
+ value: F.rating,
151
+ size: 16
152
+ })
153
+ }),
154
+ /* @__PURE__ */ b("p", {
155
+ className: "mt-1 text-xs text-text-secondary",
156
+ children: [F.totalRatings, " ratings"]
157
+ })
158
+ ] })]
159
+ }), /* @__PURE__ */ y("div", {
160
+ className: "flex-1 space-y-1.5",
161
+ children: [
162
+ 5,
163
+ 4,
164
+ 3,
165
+ 2,
166
+ 1
167
+ ].map((e) => {
168
+ let t = Z[e], n = I.length ? t / I.length * 100 : 0;
169
+ return /* @__PURE__ */ b("div", {
170
+ className: "flex items-center gap-2 text-xs",
171
+ children: [
172
+ /* @__PURE__ */ b("span", {
173
+ className: "flex w-7 items-center gap-0.5 text-text-secondary",
174
+ children: [e, /* @__PURE__ */ y(v, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" })]
175
+ }),
176
+ /* @__PURE__ */ y("div", {
177
+ className: "h-2 flex-1 overflow-hidden rounded-full bg-bg-sunken",
178
+ children: /* @__PURE__ */ y("div", {
179
+ className: "h-full rounded-full bg-accent-primary transition-all",
180
+ style: { width: `${n}%` }
181
+ })
182
+ }),
183
+ /* @__PURE__ */ y("span", {
184
+ className: "w-6 text-right tabular-nums text-text-muted",
185
+ children: t
186
+ })
187
+ ]
188
+ }, e);
155
189
  })
156
- ]
190
+ })]
157
191
  })
158
192
  }),
159
- /* @__PURE__ */ y("div", {
160
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 mb-6",
161
- children: /* @__PURE__ */ b("div", {
162
- className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",
193
+ /* @__PURE__ */ b("div", {
194
+ className: "mb-6 rounded-xl border border-border-subtle bg-bg-surface p-5",
195
+ children: [/* @__PURE__ */ b("h2", {
196
+ className: "mb-3 flex items-center gap-2 text-base font-semibold text-text-primary",
197
+ children: [/* @__PURE__ */ y(g, { className: "h-4 w-4 text-text-secondary" }), "Write a review"]
198
+ }), te ? /* @__PURE__ */ b("div", {
199
+ className: "space-y-3",
163
200
  children: [
164
- /* @__PURE__ */ b("div", {
165
- className: "relative",
166
- children: [/* @__PURE__ */ y(h, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ y("input", {
167
- type: "text",
168
- placeholder: "Search reviews...",
169
- value: R.searchQuery,
170
- onChange: (e) => z((t) => ({
171
- ...t,
172
- searchQuery: e.target.value
173
- })),
174
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-9 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
175
- })]
201
+ /* @__PURE__ */ y(w, {
202
+ value: W,
203
+ onChange: G
176
204
  }),
177
- /* @__PURE__ */ b("select", {
178
- value: R.type,
179
- onChange: (e) => z((t) => ({
180
- ...t,
181
- type: e.target.value
182
- })),
183
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
184
- children: [
185
- /* @__PURE__ */ y("option", {
186
- value: "all",
187
- children: "All Reviews"
188
- }),
189
- /* @__PURE__ */ y("option", {
190
- value: "cart",
191
- children: "Cart Reviews"
192
- }),
193
- /* @__PURE__ */ y("option", {
194
- value: "product",
195
- children: "Product Reviews"
196
- }),
197
- /* @__PURE__ */ y("option", {
198
- value: "my-reviews",
199
- children: "My Reviews"
200
- })
201
- ]
205
+ /* @__PURE__ */ y("textarea", {
206
+ rows: 3,
207
+ value: K,
208
+ onChange: (e) => q(e.target.value),
209
+ placeholder: "Share your experience…",
210
+ className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2.5 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
202
211
  }),
203
- /* @__PURE__ */ b("select", {
204
- value: R.rating,
205
- onChange: (e) => z((t) => ({
206
- ...t,
207
- rating: e.target.value
208
- })),
209
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
210
- children: [
211
- /* @__PURE__ */ y("option", {
212
- value: "",
213
- children: "All Ratings"
214
- }),
215
- /* @__PURE__ */ y("option", {
216
- value: "5",
217
- children: "5 Stars"
218
- }),
219
- /* @__PURE__ */ y("option", {
220
- value: "4",
221
- children: "4 Stars"
222
- }),
223
- /* @__PURE__ */ y("option", {
224
- value: "3",
225
- children: "3 Stars"
226
- }),
227
- /* @__PURE__ */ y("option", {
228
- value: "2",
229
- children: "2 Stars"
230
- }),
231
- /* @__PURE__ */ y("option", {
232
- value: "1",
233
- children: "1 Star"
234
- })
235
- ]
212
+ /* @__PURE__ */ y("div", {
213
+ className: "flex justify-end",
214
+ children: /* @__PURE__ */ b("button", {
215
+ type: "button",
216
+ onClick: () => {
217
+ if (!$ || !T?.id) {
218
+ X("Order from this cart and wait for delivery to leave a review.");
219
+ return;
220
+ }
221
+ k.mutate({
222
+ providerId: P,
223
+ orderId: $.id,
224
+ customerId: T.id,
225
+ rating: W,
226
+ review: K.trim() || void 0
227
+ }, {
228
+ onSuccess: () => {
229
+ q(""), G(5), X("Thanks! Your review has been posted.");
230
+ },
231
+ onError: () => X("Could not post your review. Please try again.")
232
+ });
233
+ },
234
+ disabled: k.isPending,
235
+ className: t("inline-flex items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-semibold text-action-primary-text transition-colors", k.isPending ? "opacity-60 cursor-not-allowed" : "hover:bg-action-primary-bg-hover"),
236
+ children: [k.isPending && /* @__PURE__ */ y(p, { className: "h-4 w-4 animate-spin" }), "Submit Review"]
237
+ })
238
+ })
239
+ ]
240
+ }) : /* @__PURE__ */ b("p", {
241
+ className: "rounded-lg bg-bg-sunken p-3 text-xs text-text-secondary",
242
+ children: [
243
+ "You can review ",
244
+ /* @__PURE__ */ y("span", {
245
+ className: "font-medium text-text-primary",
246
+ children: F.name
236
247
  }),
237
- /* @__PURE__ */ b("select", {
238
- value: R.sortBy,
239
- onChange: (e) => z((t) => ({
240
- ...t,
241
- sortBy: e.target.value
242
- })),
243
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
244
- children: [
245
- /* @__PURE__ */ y("option", {
246
- value: "recent",
247
- children: "Most Recent"
248
- }),
249
- /* @__PURE__ */ y("option", {
250
- value: "helpful",
251
- children: "Most Helpful"
252
- }),
253
- /* @__PURE__ */ y("option", {
254
- value: "rating-high",
255
- children: "Highest Rating"
256
- }),
257
- /* @__PURE__ */ y("option", {
258
- value: "rating-low",
259
- children: "Lowest Rating"
260
- })
261
- ]
248
+ " ",
249
+ "once one of your orders from it has been delivered.",
250
+ " ",
251
+ /* @__PURE__ */ y("button", {
252
+ type: "button",
253
+ onClick: () => C(`/customer/cart/${F.id}`),
254
+ className: "font-medium text-accent-primary hover:underline",
255
+ children: "Order now"
262
256
  })
263
257
  ]
264
- })
258
+ })]
265
259
  }),
266
- U.length === 0 ? /* @__PURE__ */ y(r, {
267
- icon: /* @__PURE__ */ y(p, { className: "h-12 w-12" }),
268
- title: "No reviews found",
269
- description: "Be the first to write a review!",
270
- action: /* @__PURE__ */ y("button", {
271
- type: "button",
272
- onClick: () => N(!0),
273
- className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
274
- children: "Write a Review"
275
- })
276
- }) : /* @__PURE__ */ y("div", {
277
- className: "space-y-4",
278
- children: U.map((e) => {
279
- let n = e.userId === E;
280
- return /* @__PURE__ */ b("div", {
281
- className: t("rounded-lg border bg-bg-surface p-5", n ? "border-foreground/20" : "border-border-subtle"),
260
+ /* @__PURE__ */ b("div", {
261
+ className: "mb-6 grid grid-cols-1 gap-3 sm:grid-cols-3",
262
+ children: [
263
+ /* @__PURE__ */ b("div", {
264
+ className: "relative sm:col-span-1",
265
+ children: [/* @__PURE__ */ y(_, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ y("input", {
266
+ type: "text",
267
+ placeholder: "Search reviews…",
268
+ value: R,
269
+ onChange: (e) => z(e.target.value),
270
+ className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-9 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
271
+ })]
272
+ }),
273
+ /* @__PURE__ */ b("select", {
274
+ value: B,
275
+ onChange: (e) => V(e.target.value),
276
+ className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
282
277
  children: [
283
- /* @__PURE__ */ b("div", {
284
- className: "flex items-start gap-3 mb-3",
285
- children: [
286
- /* @__PURE__ */ y("img", {
287
- src: e.userAvatar,
288
- alt: e.userName,
289
- className: "h-10 w-10 rounded-full object-cover shrink-0"
290
- }),
291
- /* @__PURE__ */ b("div", {
292
- className: "flex-1 min-w-0",
293
- children: [/* @__PURE__ */ b("div", {
294
- className: "flex items-center gap-2 flex-wrap",
295
- children: [
296
- /* @__PURE__ */ y("span", {
297
- className: "text-sm font-semibold text-text-primary",
298
- children: e.userName
299
- }),
300
- e.isVerified && /* @__PURE__ */ b("span", {
301
- className: "inline-flex items-center gap-1 rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-[10px] font-medium text-status-success-text",
302
- children: [/* @__PURE__ */ y(u, { className: "h-3 w-3" }), "Verified"]
303
- }),
304
- n && /* @__PURE__ */ y("span", {
305
- className: "inline-flex items-center rounded-full bg-[var(--color-accent-soft)] px-2 py-0.5 text-[10px] font-medium text-text-primary",
306
- children: "Your Review"
307
- })
308
- ]
309
- }), /* @__PURE__ */ b("div", {
310
- className: "flex flex-wrap items-center gap-2 text-xs text-text-secondary mt-0.5",
311
- children: [/* @__PURE__ */ b("span", { children: [e.itemType === "cart" ? /* @__PURE__ */ y(p, { className: "inline h-3 w-3 mr-0.5" }) : /* @__PURE__ */ y(g, { className: "inline h-3 w-3 mr-0.5" }), e.itemName] }), /* @__PURE__ */ y("span", { children: o(e.createdAt, {
312
- hour: void 0,
313
- minute: void 0,
314
- hour12: void 0
315
- }) })]
316
- })]
317
- }),
318
- /* @__PURE__ */ b("div", {
319
- className: "shrink-0",
320
- children: [/* @__PURE__ */ y(s, {
321
- value: e.rating,
322
- size: "sm"
323
- }), /* @__PURE__ */ b("p", {
324
- className: "text-xs text-text-secondary mt-0.5 text-right",
325
- children: ["From: ", e.cartName]
326
- })]
327
- })
328
- ]
278
+ /* @__PURE__ */ y("option", {
279
+ value: "",
280
+ children: "All ratings"
329
281
  }),
330
- /* @__PURE__ */ b("div", {
331
- className: "mb-3",
332
- children: [/* @__PURE__ */ y("h4", {
333
- className: "text-sm font-semibold text-text-primary mb-1",
334
- children: e.title
335
- }), /* @__PURE__ */ y("p", {
336
- className: "text-sm text-text-primary leading-relaxed",
337
- children: e.comment
338
- })]
282
+ /* @__PURE__ */ y("option", {
283
+ value: "5",
284
+ children: "5 stars"
339
285
  }),
340
- e.images && e.images.length > 0 && /* @__PURE__ */ y("div", {
341
- className: "mb-3 flex gap-2 overflow-x-auto pb-1",
342
- children: e.images.map((e, t) => /* @__PURE__ */ y("img", {
343
- src: e,
344
- alt: `Review image ${t + 1}`,
345
- className: "h-20 w-20 rounded-lg object-cover shrink-0"
346
- }, t))
286
+ /* @__PURE__ */ y("option", {
287
+ value: "4",
288
+ children: "4 stars"
347
289
  }),
348
- e.response && /* @__PURE__ */ b("div", {
349
- className: "mb-3 rounded-lg border border-border-focus/20 bg-[var(--color-accent-soft)] p-3",
350
- children: [/* @__PURE__ */ b("div", {
351
- className: "flex flex-wrap items-center gap-2 mb-1.5",
352
- children: [
353
- /* @__PURE__ */ y(f, { className: "h-3.5 w-3.5 text-text-primary" }),
354
- /* @__PURE__ */ b("span", {
355
- className: "text-xs font-medium text-text-primary",
356
- children: ["Response from ", e.response.respondedBy]
357
- }),
358
- /* @__PURE__ */ y("span", {
359
- className: "text-[10px] text-text-primary/70",
360
- children: o(e.response.respondedAt, {
361
- hour: void 0,
362
- minute: void 0,
363
- hour12: void 0
364
- })
365
- })
366
- ]
367
- }), /* @__PURE__ */ y("p", {
368
- className: "text-xs text-text-primary leading-relaxed",
369
- children: e.response.message
370
- })]
290
+ /* @__PURE__ */ y("option", {
291
+ value: "3",
292
+ children: "3 stars"
371
293
  }),
372
- /* @__PURE__ */ b("div", {
373
- className: "flex items-center justify-between pt-3 border-t border-border-subtle",
374
- children: [/* @__PURE__ */ b("button", {
375
- type: "button",
376
- onClick: () => q(e.id),
377
- className: t("flex items-center gap-1.5 text-xs transition-colors", e.isHelpful ? "text-text-primary font-medium" : "text-text-secondary hover:text-text-primary"),
378
- children: [
379
- /* @__PURE__ */ y(_, { className: t("h-3.5 w-3.5", e.isHelpful && "fill-current") }),
380
- "Helpful (",
381
- e.helpfulCount,
382
- ")"
383
- ]
384
- }), /* @__PURE__ */ b("div", {
385
- className: "flex items-center gap-3 text-xs text-text-secondary",
386
- children: [/* @__PURE__ */ b("span", { children: ["Order: ", e.orderId] }), /* @__PURE__ */ y("button", {
387
- type: "button",
388
- onClick: () => C(`/customer/cart/${e.cartId}`),
389
- className: "font-medium hover:text-text-primary transition-colors",
390
- children: "View Cart"
391
- })]
392
- })]
294
+ /* @__PURE__ */ y("option", {
295
+ value: "2",
296
+ children: "2 stars"
297
+ }),
298
+ /* @__PURE__ */ y("option", {
299
+ value: "1",
300
+ children: "1 star"
393
301
  })
394
302
  ]
395
- }, e.id);
396
- })
303
+ }),
304
+ /* @__PURE__ */ b("select", {
305
+ value: H,
306
+ onChange: (e) => U(e.target.value),
307
+ className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
308
+ children: [
309
+ /* @__PURE__ */ y("option", {
310
+ value: "recent",
311
+ children: "Most recent"
312
+ }),
313
+ /* @__PURE__ */ y("option", {
314
+ value: "rating-high",
315
+ children: "Highest rating"
316
+ }),
317
+ /* @__PURE__ */ y("option", {
318
+ value: "rating-low",
319
+ children: "Lowest rating"
320
+ })
321
+ ]
322
+ })
323
+ ]
397
324
  }),
398
- M && /* @__PURE__ */ y("div", {
399
- className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
400
- children: /* @__PURE__ */ y("div", {
401
- className: "w-full max-w-2xl max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface shadow-lg",
402
- children: /* @__PURE__ */ b("div", {
403
- className: "p-5",
325
+ L ? /* @__PURE__ */ y("div", {
326
+ className: "flex h-40 items-center justify-center",
327
+ children: /* @__PURE__ */ y(p, { className: "h-6 w-6 animate-spin text-accent-primary" })
328
+ }) : Q.length === 0 ? /* @__PURE__ */ y(r, {
329
+ icon: /* @__PURE__ */ y(h, { className: "h-12 w-12" }),
330
+ title: "No reviews yet",
331
+ description: `Be the first to review ${F.name}.`
332
+ }) : /* @__PURE__ */ y("div", {
333
+ className: "space-y-3",
334
+ children: Q.map((e) => {
335
+ let n = e.customerId === T?.id;
336
+ return /* @__PURE__ */ b("div", {
337
+ className: t("rounded-xl border bg-bg-surface p-4", n ? "border-action-primary-bg/40" : "border-border-subtle"),
404
338
  children: [
405
339
  /* @__PURE__ */ b("div", {
406
- className: "flex items-center justify-between mb-5",
407
- children: [/* @__PURE__ */ y("h3", {
408
- className: "text-lg font-semibold text-text-primary",
409
- children: "Write a Review"
410
- }), /* @__PURE__ */ y("button", {
411
- type: "button",
412
- onClick: () => N(!1),
413
- className: "rounded-md p-2 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
414
- children: /* @__PURE__ */ y(v, { className: "h-4 w-4" })
340
+ className: "flex items-center justify-between gap-2",
341
+ children: [/* @__PURE__ */ b("div", {
342
+ className: "flex items-center gap-2",
343
+ children: [/* @__PURE__ */ y(c, {
344
+ value: e.rating,
345
+ size: 14
346
+ }), n && /* @__PURE__ */ y("span", {
347
+ className: "rounded-full bg-[var(--color-accent-soft)] px-2 py-0.5 text-[10px] font-medium text-accent-primary",
348
+ children: "Your review"
349
+ })]
350
+ }), /* @__PURE__ */ y("span", {
351
+ className: "text-xs text-text-muted",
352
+ children: s(e.createdAt)
415
353
  })]
416
354
  }),
417
- /* @__PURE__ */ b("div", {
418
- className: "space-y-4",
419
- children: [
420
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("label", {
421
- className: "block text-sm font-medium text-text-primary mb-1.5",
422
- children: ["Which order? ", /* @__PURE__ */ y("span", {
423
- className: "text-status-error-text",
424
- children: "*"
425
- })]
426
- }), k.length > 0 ? /* @__PURE__ */ b("select", {
427
- value: P,
428
- onChange: (e) => F(e.target.value),
429
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
430
- children: [/* @__PURE__ */ y("option", {
431
- value: "",
432
- children: "Select a delivered order…"
433
- }), k.map((e) => /* @__PURE__ */ b("option", {
434
- value: e.id,
435
- children: [
436
- e.cartName,
437
- " · ",
438
- o(e.orderDate)
439
- ]
440
- }, e.id))]
441
- }) : /* @__PURE__ */ y("p", {
442
- className: "rounded-lg bg-bg-sunken p-3 text-xs text-text-secondary",
443
- children: "You can review a cart once one of your orders has been delivered. Place an order and come back after it arrives."
444
- })] }),
445
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("label", {
446
- className: "block text-sm font-medium text-text-primary mb-2",
447
- children: ["Rating ", /* @__PURE__ */ y("span", {
448
- className: "text-status-error-text",
449
- children: "*"
450
- })]
451
- }), /* @__PURE__ */ y(w, {
452
- value: I.rating,
453
- onChange: (e) => L((t) => ({
454
- ...t,
455
- rating: e
456
- }))
457
- })] }),
458
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("label", {
459
- className: "block text-sm font-medium text-text-primary mb-1.5",
460
- children: ["Review Title ", /* @__PURE__ */ y("span", {
461
- className: "text-status-error-text",
462
- children: "*"
463
- })]
464
- }), /* @__PURE__ */ y("input", {
465
- type: "text",
466
- placeholder: "Summarize your experience",
467
- value: I.title,
468
- onChange: (e) => L((t) => ({
469
- ...t,
470
- title: e.target.value
471
- })),
472
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
473
- })] }),
474
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("label", {
475
- className: "block text-sm font-medium text-text-primary mb-1.5",
476
- children: ["Your Review ", /* @__PURE__ */ y("span", {
477
- className: "text-status-error-text",
478
- children: "*"
479
- })]
480
- }), /* @__PURE__ */ y("textarea", {
481
- rows: 5,
482
- placeholder: "Share your experience with others...",
483
- value: I.comment,
484
- onChange: (e) => L((t) => ({
485
- ...t,
486
- comment: e.target.value
487
- })),
488
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
489
- })] }),
490
- /* @__PURE__ */ b("div", {
491
- className: "rounded-lg bg-bg-sunken p-4",
492
- children: [/* @__PURE__ */ b("div", {
493
- className: "flex items-center gap-2 mb-2",
494
- children: [/* @__PURE__ */ y(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ y("h4", {
495
- className: "text-sm font-medium text-text-primary",
496
- children: "Review Guidelines"
497
- })]
498
- }), /* @__PURE__ */ b("ul", {
499
- className: "text-xs text-text-secondary space-y-1",
500
- children: [
501
- /* @__PURE__ */ y("li", { children: "- Be honest and helpful to other customers" }),
502
- /* @__PURE__ */ y("li", { children: "- Focus on your experience with the food and service" }),
503
- /* @__PURE__ */ y("li", { children: "- Avoid personal information or inappropriate content" }),
504
- /* @__PURE__ */ y("li", { children: "- Reviews are public and cannot be deleted once submitted" })
505
- ]
506
- })]
507
- })
508
- ]
355
+ e.review && /* @__PURE__ */ y("p", {
356
+ className: "mt-2 text-sm leading-relaxed text-text-primary",
357
+ children: e.review
509
358
  }),
510
- /* @__PURE__ */ b("div", {
511
- className: "flex items-center gap-3 pt-5",
512
- children: [/* @__PURE__ */ y("button", {
513
- type: "button",
514
- onClick: K,
515
- disabled: O.isPending || k.length === 0,
516
- className: t("rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background transition-opacity", O.isPending || k.length === 0 ? "opacity-60 cursor-not-allowed" : "hover:opacity-90"),
517
- children: O.isPending ? "Posting…" : "Submit Review"
518
- }), /* @__PURE__ */ y("button", {
519
- type: "button",
520
- onClick: () => N(!1),
521
- className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
522
- children: "Cancel"
359
+ e.response && /* @__PURE__ */ b("div", {
360
+ className: "mt-3 rounded-lg border-l-2 border-accent-primary bg-[var(--color-accent-soft)] p-3",
361
+ children: [/* @__PURE__ */ b("p", {
362
+ className: "mb-1 flex items-center gap-1.5 text-xs font-medium text-text-primary",
363
+ children: [/* @__PURE__ */ y(m, { className: "h-3.5 w-3.5" }), "Owner response"]
364
+ }), /* @__PURE__ */ y("p", {
365
+ className: "text-xs leading-relaxed text-text-primary",
366
+ children: e.response
523
367
  })]
524
368
  })
525
369
  ]
526
- })
370
+ }, e.id);
527
371
  })
528
372
  })
529
373
  ]
374
+ }) : /* @__PURE__ */ y(n, {
375
+ title: "Reviews & Ratings",
376
+ children: /* @__PURE__ */ y(r, {
377
+ icon: /* @__PURE__ */ y(h, { className: "h-12 w-12" }),
378
+ title: "No carts to review yet",
379
+ description: "Browse carts and place an order — once it's delivered you can rate and review it.",
380
+ action: /* @__PURE__ */ y("button", {
381
+ type: "button",
382
+ onClick: () => C("/customer/discover"),
383
+ className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-semibold text-action-primary-text hover:bg-action-primary-bg-hover transition-colors",
384
+ children: "Discover Carts"
385
+ })
386
+ })
530
387
  });
531
388
  }
532
389
  //#endregion