@myrjfa/state 0.3.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 (408) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/hooks/usePersistentDraftState.d.ts +20 -0
  4. package/dist/hooks/usePersistentDraftState.d.ts.map +1 -0
  5. package/dist/hooks/usePersistentDraftState.js +47 -0
  6. package/dist/index.d.ts +46 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +45 -0
  9. package/dist/lib/QueryProvider.d.ts +4 -0
  10. package/dist/lib/QueryProvider.d.ts.map +1 -0
  11. package/dist/lib/QueryProvider.js +10 -0
  12. package/dist/lib/actions/actions.d.ts +192 -0
  13. package/dist/lib/actions/actions.d.ts.map +1 -0
  14. package/dist/lib/actions/actions.js +392 -0
  15. package/dist/lib/actions/adminDashboard.d.ts +4 -0
  16. package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
  17. package/dist/lib/actions/adminDashboard.js +29 -0
  18. package/dist/lib/actions/adventure.d.ts +104 -0
  19. package/dist/lib/actions/adventure.d.ts.map +1 -0
  20. package/dist/lib/actions/adventure.js +203 -0
  21. package/dist/lib/actions/application.d.ts +35 -0
  22. package/dist/lib/actions/application.d.ts.map +1 -0
  23. package/dist/lib/actions/application.js +573 -0
  24. package/dist/lib/actions/auth.d.ts +286 -0
  25. package/dist/lib/actions/auth.d.ts.map +1 -0
  26. package/dist/lib/actions/auth.js +155 -0
  27. package/dist/lib/actions/blog.d.ts +61 -0
  28. package/dist/lib/actions/blog.d.ts.map +1 -0
  29. package/dist/lib/actions/blog.js +762 -0
  30. package/dist/lib/actions/booking.d.ts +45 -0
  31. package/dist/lib/actions/booking.d.ts.map +1 -0
  32. package/dist/lib/actions/booking.js +91 -0
  33. package/dist/lib/actions/brand.d.ts +83 -0
  34. package/dist/lib/actions/brand.d.ts.map +1 -0
  35. package/dist/lib/actions/brand.js +28 -0
  36. package/dist/lib/actions/chat.d.ts +266 -0
  37. package/dist/lib/actions/chat.d.ts.map +1 -0
  38. package/dist/lib/actions/chat.js +741 -0
  39. package/dist/lib/actions/companion.d.ts +174 -0
  40. package/dist/lib/actions/companion.d.ts.map +1 -0
  41. package/dist/lib/actions/companion.js +276 -0
  42. package/dist/lib/actions/event.d.ts +178 -0
  43. package/dist/lib/actions/event.d.ts.map +1 -0
  44. package/dist/lib/actions/event.js +214 -0
  45. package/dist/lib/actions/fetcher.d.ts +6 -0
  46. package/dist/lib/actions/fetcher.d.ts.map +1 -0
  47. package/dist/lib/actions/fetcher.js +148 -0
  48. package/dist/lib/actions/guide.d.ts +55 -0
  49. package/dist/lib/actions/guide.d.ts.map +1 -0
  50. package/dist/lib/actions/guide.js +128 -0
  51. package/dist/lib/actions/hostDashboard.d.ts +122 -0
  52. package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
  53. package/dist/lib/actions/hostDashboard.js +329 -0
  54. package/dist/lib/actions/location.d.ts +141 -0
  55. package/dist/lib/actions/location.d.ts.map +1 -0
  56. package/dist/lib/actions/location.js +113 -0
  57. package/dist/lib/actions/notifications.d.ts +91 -0
  58. package/dist/lib/actions/notifications.d.ts.map +1 -0
  59. package/dist/lib/actions/notifications.js +83 -0
  60. package/dist/lib/actions/opportunity.d.ts +44 -0
  61. package/dist/lib/actions/opportunity.d.ts.map +1 -0
  62. package/dist/lib/actions/opportunity.js +318 -0
  63. package/dist/lib/actions/package.d.ts +85 -0
  64. package/dist/lib/actions/package.d.ts.map +1 -0
  65. package/dist/lib/actions/package.js +167 -0
  66. package/dist/lib/actions/place.d.ts +191 -0
  67. package/dist/lib/actions/place.d.ts.map +1 -0
  68. package/dist/lib/actions/place.js +57 -0
  69. package/dist/lib/actions/portfolio.d.ts +65 -0
  70. package/dist/lib/actions/portfolio.d.ts.map +1 -0
  71. package/dist/lib/actions/portfolio.js +62 -0
  72. package/dist/lib/actions/property.d.ts +17 -0
  73. package/dist/lib/actions/property.d.ts.map +1 -0
  74. package/dist/lib/actions/property.js +16 -0
  75. package/dist/lib/actions/rental.d.ts +87 -0
  76. package/dist/lib/actions/rental.d.ts.map +1 -0
  77. package/dist/lib/actions/rental.js +205 -0
  78. package/dist/lib/actions/review.d.ts +8 -0
  79. package/dist/lib/actions/review.d.ts.map +1 -0
  80. package/dist/lib/actions/review.js +102 -0
  81. package/dist/lib/actions/room.d.ts +39 -0
  82. package/dist/lib/actions/room.d.ts.map +1 -0
  83. package/dist/lib/actions/room.js +74 -0
  84. package/dist/lib/actions/serverActions.d.ts +4 -0
  85. package/dist/lib/actions/serverActions.d.ts.map +1 -0
  86. package/dist/lib/actions/serverActions.js +37 -0
  87. package/dist/lib/actions/socket.d.ts +7 -0
  88. package/dist/lib/actions/socket.d.ts.map +1 -0
  89. package/dist/lib/actions/socket.js +26 -0
  90. package/dist/lib/actions/stay.d.ts +97 -0
  91. package/dist/lib/actions/stay.d.ts.map +1 -0
  92. package/dist/lib/actions/stay.js +138 -0
  93. package/dist/lib/actions/travelPackage.d.ts +104 -0
  94. package/dist/lib/actions/travelPackage.d.ts.map +1 -0
  95. package/dist/lib/actions/travelPackage.js +487 -0
  96. package/dist/lib/actions/user.d.ts +23 -0
  97. package/dist/lib/actions/user.d.ts.map +1 -0
  98. package/dist/lib/actions/user.js +55 -0
  99. package/dist/lib/actions.d.ts +556 -0
  100. package/dist/lib/actions.d.ts.map +1 -0
  101. package/dist/lib/actions.js +1330 -0
  102. package/dist/lib/adminDashboardActions.d.ts +73 -0
  103. package/dist/lib/adminDashboardActions.d.ts.map +1 -0
  104. package/dist/lib/adminDashboardActions.js +98 -0
  105. package/dist/lib/adventureActions.d.ts +102 -0
  106. package/dist/lib/adventureActions.d.ts.map +1 -0
  107. package/dist/lib/adventureActions.js +202 -0
  108. package/dist/lib/adventureDummyData.d.ts +3 -0
  109. package/dist/lib/adventureDummyData.d.ts.map +1 -0
  110. package/dist/lib/adventureDummyData.js +138 -0
  111. package/dist/lib/adventureFormPage.d.ts +39 -0
  112. package/dist/lib/adventureFormPage.d.ts.map +1 -0
  113. package/dist/lib/adventureFormPage.js +70 -0
  114. package/dist/lib/authSessionManager.d.ts +2 -0
  115. package/dist/lib/authSessionManager.d.ts.map +1 -0
  116. package/dist/lib/authSessionManager.js +35 -0
  117. package/dist/lib/authorizationActions.d.ts +77 -0
  118. package/dist/lib/authorizationActions.d.ts.map +1 -0
  119. package/dist/lib/authorizationActions.js +61 -0
  120. package/dist/lib/brandActions.d.ts +83 -0
  121. package/dist/lib/brandActions.d.ts.map +1 -0
  122. package/dist/lib/brandActions.js +28 -0
  123. package/dist/lib/companionActions.d.ts +174 -0
  124. package/dist/lib/companionActions.d.ts.map +1 -0
  125. package/dist/lib/companionActions.js +276 -0
  126. package/dist/lib/companionDummyData.d.ts +99 -0
  127. package/dist/lib/companionDummyData.d.ts.map +1 -0
  128. package/dist/lib/companionDummyData.js +203 -0
  129. package/dist/lib/context/ChatContext.d.ts +51 -0
  130. package/dist/lib/context/ChatContext.d.ts.map +1 -0
  131. package/dist/lib/context/ChatContext.js +445 -0
  132. package/dist/lib/data/adventureDummyData.d.ts +3 -0
  133. package/dist/lib/data/adventureDummyData.d.ts.map +1 -0
  134. package/dist/lib/data/adventureDummyData.js +138 -0
  135. package/dist/lib/data/adventureFormPage.d.ts +28 -0
  136. package/dist/lib/data/adventureFormPage.d.ts.map +1 -0
  137. package/dist/lib/data/adventureFormPage.js +58 -0
  138. package/dist/lib/data/companionDummyData.d.ts +99 -0
  139. package/dist/lib/data/companionDummyData.d.ts.map +1 -0
  140. package/dist/lib/data/companionDummyData.js +203 -0
  141. package/dist/lib/data/countryStates.d.ts +31 -0
  142. package/dist/lib/data/countryStates.d.ts.map +1 -0
  143. package/dist/lib/data/countryStates.js +7117 -0
  144. package/dist/lib/data/destinations.d.ts +14 -0
  145. package/dist/lib/data/destinations.d.ts.map +1 -0
  146. package/dist/lib/data/destinations.js +203 -0
  147. package/dist/lib/data/eventFormPage.d.ts +38 -0
  148. package/dist/lib/data/eventFormPage.d.ts.map +1 -0
  149. package/dist/lib/data/eventFormPage.js +56 -0
  150. package/dist/lib/data/eventsDummyData.d.ts +54 -0
  151. package/dist/lib/data/eventsDummyData.d.ts.map +1 -0
  152. package/dist/lib/data/eventsDummyData.js +586 -0
  153. package/dist/lib/data/guideDummyData.d.ts +3 -0
  154. package/dist/lib/data/guideDummyData.d.ts.map +1 -0
  155. package/dist/lib/data/guideDummyData.js +66 -0
  156. package/dist/lib/data/opportunityFormData.d.ts +13 -0
  157. package/dist/lib/data/opportunityFormData.d.ts.map +1 -0
  158. package/dist/lib/data/opportunityFormData.js +62 -0
  159. package/dist/lib/data/opportunityFormPage.d.ts +12 -0
  160. package/dist/lib/data/opportunityFormPage.d.ts.map +1 -0
  161. package/dist/lib/data/opportunityFormPage.js +33 -0
  162. package/dist/lib/data/packageDummyData.d.ts +3 -0
  163. package/dist/lib/data/packageDummyData.d.ts.map +1 -0
  164. package/dist/lib/data/packageDummyData.js +56 -0
  165. package/dist/lib/data/rentalDummyData.d.ts +3 -0
  166. package/dist/lib/data/rentalDummyData.d.ts.map +1 -0
  167. package/dist/lib/data/rentalDummyData.js +382 -0
  168. package/dist/lib/data/rentalFormPage.d.ts +11 -0
  169. package/dist/lib/data/rentalFormPage.d.ts.map +1 -0
  170. package/dist/lib/data/rentalFormPage.js +86 -0
  171. package/dist/lib/data/staysDummyData.d.ts +72 -0
  172. package/dist/lib/data/staysDummyData.d.ts.map +1 -0
  173. package/dist/lib/data/staysDummyData.js +694 -0
  174. package/dist/lib/data/storeDummyData.d.ts +33 -0
  175. package/dist/lib/data/storeDummyData.d.ts.map +1 -0
  176. package/dist/lib/data/storeDummyData.js +336 -0
  177. package/dist/lib/data/travelPackageFormData.d.ts +19 -0
  178. package/dist/lib/data/travelPackageFormData.d.ts.map +1 -0
  179. package/dist/lib/data/travelPackageFormData.js +51 -0
  180. package/dist/lib/data/travelPackageFormPage.d.ts +22 -0
  181. package/dist/lib/data/travelPackageFormPage.d.ts.map +1 -0
  182. package/dist/lib/data/travelPackageFormPage.js +40 -0
  183. package/dist/lib/data/vehicleData.d.ts +2 -0
  184. package/dist/lib/data/vehicleData.d.ts.map +1 -0
  185. package/dist/lib/data/vehicleData.js +187 -0
  186. package/dist/lib/data/vehicleModels.d.ts +2 -0
  187. package/dist/lib/data/vehicleModels.d.ts.map +1 -0
  188. package/dist/lib/data/vehicleModels.js +128 -0
  189. package/dist/lib/destinations.d.ts +14 -0
  190. package/dist/lib/destinations.d.ts.map +1 -0
  191. package/dist/lib/destinations.js +203 -0
  192. package/dist/lib/discountActions.d.ts +43 -0
  193. package/dist/lib/discountActions.d.ts.map +1 -0
  194. package/dist/lib/discountActions.js +69 -0
  195. package/dist/lib/entitySubmission.d.ts +21 -0
  196. package/dist/lib/entitySubmission.d.ts.map +1 -0
  197. package/dist/lib/entitySubmission.js +10 -0
  198. package/dist/lib/eventActions.d.ts +176 -0
  199. package/dist/lib/eventActions.d.ts.map +1 -0
  200. package/dist/lib/eventActions.js +222 -0
  201. package/dist/lib/eventFormPage.d.ts +49 -0
  202. package/dist/lib/eventFormPage.d.ts.map +1 -0
  203. package/dist/lib/eventFormPage.js +84 -0
  204. package/dist/lib/eventsDummyData.d.ts +54 -0
  205. package/dist/lib/eventsDummyData.d.ts.map +1 -0
  206. package/dist/lib/eventsDummyData.js +586 -0
  207. package/dist/lib/guideActions.d.ts +53 -0
  208. package/dist/lib/guideActions.d.ts.map +1 -0
  209. package/dist/lib/guideActions.js +127 -0
  210. package/dist/lib/guideDummyData.d.ts +3 -0
  211. package/dist/lib/guideDummyData.d.ts.map +1 -0
  212. package/dist/lib/guideDummyData.js +66 -0
  213. package/dist/lib/hooks/use-mobile.d.ts +2 -0
  214. package/dist/lib/hooks/use-mobile.d.ts.map +1 -0
  215. package/dist/lib/hooks/use-mobile.js +15 -0
  216. package/dist/lib/hooks/useChatSocket.d.ts +6 -0
  217. package/dist/lib/hooks/useChatSocket.d.ts.map +1 -0
  218. package/dist/lib/hooks/useChatSocket.js +35 -0
  219. package/dist/lib/hooks/useHostCalendarSelection.d.ts +51 -0
  220. package/dist/lib/hooks/useHostCalendarSelection.d.ts.map +1 -0
  221. package/dist/lib/hooks/useHostCalendarSelection.js +200 -0
  222. package/dist/lib/hooks/usePersistentDraftState.d.ts +20 -0
  223. package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
  224. package/dist/lib/hooks/usePersistentDraftState.js +47 -0
  225. package/dist/lib/hostDashboardActions.d.ts +189 -0
  226. package/dist/lib/hostDashboardActions.d.ts.map +1 -0
  227. package/dist/lib/hostDashboardActions.js +400 -0
  228. package/dist/lib/imageUpload.d.ts +4 -0
  229. package/dist/lib/imageUpload.d.ts.map +1 -0
  230. package/dist/lib/imageUpload.js +36 -0
  231. package/dist/lib/locationActions.d.ts +141 -0
  232. package/dist/lib/locationActions.d.ts.map +1 -0
  233. package/dist/lib/locationActions.js +113 -0
  234. package/dist/lib/loyaltyActions.d.ts +32 -0
  235. package/dist/lib/loyaltyActions.d.ts.map +1 -0
  236. package/dist/lib/loyaltyActions.js +92 -0
  237. package/dist/lib/models/adventure.d.ts +90 -0
  238. package/dist/lib/models/adventure.d.ts.map +1 -0
  239. package/dist/lib/models/adventure.js +1 -0
  240. package/dist/lib/models/application.d.ts +26 -0
  241. package/dist/lib/models/application.d.ts.map +1 -0
  242. package/dist/lib/models/application.js +130 -0
  243. package/dist/lib/models/authorization.d.ts +107 -0
  244. package/dist/lib/models/authorization.d.ts.map +1 -0
  245. package/dist/lib/models/authorization.js +263 -0
  246. package/dist/lib/models/blog.d.ts +66 -0
  247. package/dist/lib/models/blog.d.ts.map +1 -0
  248. package/dist/lib/models/blog.js +181 -0
  249. package/dist/lib/models/booking.d.ts +90 -0
  250. package/dist/lib/models/booking.d.ts.map +1 -0
  251. package/dist/lib/models/booking.js +1 -0
  252. package/dist/lib/models/chat.d.ts +384 -0
  253. package/dist/lib/models/chat.d.ts.map +1 -0
  254. package/dist/lib/models/chat.js +5 -0
  255. package/dist/lib/models/discount.d.ts +611 -0
  256. package/dist/lib/models/discount.d.ts.map +1 -0
  257. package/dist/lib/models/discount.js +128 -0
  258. package/dist/lib/models/enquiry.d.ts +34 -0
  259. package/dist/lib/models/enquiry.d.ts.map +1 -0
  260. package/dist/lib/models/enquiry.js +140 -0
  261. package/dist/lib/models/forms.d.ts +384 -0
  262. package/dist/lib/models/forms.d.ts.map +1 -0
  263. package/dist/lib/models/forms.js +121 -0
  264. package/dist/lib/models/guide.d.ts +42 -0
  265. package/dist/lib/models/guide.d.ts.map +1 -0
  266. package/dist/lib/models/guide.js +1 -0
  267. package/dist/lib/models/loyalty.d.ts +88 -0
  268. package/dist/lib/models/loyalty.d.ts.map +1 -0
  269. package/dist/lib/models/loyalty.js +1 -0
  270. package/dist/lib/models/notifications.d.ts +99 -0
  271. package/dist/lib/models/notifications.d.ts.map +1 -0
  272. package/dist/lib/models/notifications.js +63 -0
  273. package/dist/lib/models/opportunities/freelance.d.ts +641 -0
  274. package/dist/lib/models/opportunities/freelance.d.ts.map +1 -0
  275. package/dist/lib/models/opportunities/freelance.js +12 -0
  276. package/dist/lib/models/opportunities/internship.d.ts +618 -0
  277. package/dist/lib/models/opportunities/internship.d.ts.map +1 -0
  278. package/dist/lib/models/opportunities/internship.js +7 -0
  279. package/dist/lib/models/opportunities/job.d.ts +754 -0
  280. package/dist/lib/models/opportunities/job.d.ts.map +1 -0
  281. package/dist/lib/models/opportunities/job.js +26 -0
  282. package/dist/lib/models/opportunities/opportunity.d.ts +729 -0
  283. package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -0
  284. package/dist/lib/models/opportunities/opportunity.js +232 -0
  285. package/dist/lib/models/opportunities/volunteerJob.d.ts +595 -0
  286. package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -0
  287. package/dist/lib/models/opportunities/volunteerJob.js +5 -0
  288. package/dist/lib/models/package.d.ts +422 -0
  289. package/dist/lib/models/package.d.ts.map +1 -0
  290. package/dist/lib/models/package.js +58 -0
  291. package/dist/lib/models/portfolio.d.ts +43 -0
  292. package/dist/lib/models/portfolio.d.ts.map +1 -0
  293. package/dist/lib/models/portfolio.js +70 -0
  294. package/dist/lib/models/pricing.d.ts +255 -0
  295. package/dist/lib/models/pricing.d.ts.map +1 -0
  296. package/dist/lib/models/pricing.js +145 -0
  297. package/dist/lib/models/props.d.ts +67 -0
  298. package/dist/lib/models/props.d.ts.map +1 -0
  299. package/dist/lib/models/props.js +191 -0
  300. package/dist/lib/models/rental.d.ts +95 -0
  301. package/dist/lib/models/rental.d.ts.map +1 -0
  302. package/dist/lib/models/rental.js +1 -0
  303. package/dist/lib/models/review.d.ts +50 -0
  304. package/dist/lib/models/review.d.ts.map +1 -0
  305. package/dist/lib/models/review.js +74 -0
  306. package/dist/lib/models/stay.d.ts +462 -0
  307. package/dist/lib/models/stay.d.ts.map +1 -0
  308. package/dist/lib/models/stay.js +215 -0
  309. package/dist/lib/models/store.d.ts +71 -0
  310. package/dist/lib/models/store.d.ts.map +1 -0
  311. package/dist/lib/models/store.js +1 -0
  312. package/dist/lib/models/tile.d.ts +57 -0
  313. package/dist/lib/models/tile.d.ts.map +1 -0
  314. package/dist/lib/models/tile.js +1 -0
  315. package/dist/lib/models/travelPackage.d.ts +844 -0
  316. package/dist/lib/models/travelPackage.d.ts.map +1 -0
  317. package/dist/lib/models/travelPackage.js +324 -0
  318. package/dist/lib/models/user.d.ts +241 -0
  319. package/dist/lib/models/user.d.ts.map +1 -0
  320. package/dist/lib/models/user.js +115 -0
  321. package/dist/lib/multistepDraft.d.ts +4 -0
  322. package/dist/lib/multistepDraft.d.ts.map +1 -0
  323. package/dist/lib/multistepDraft.js +18 -0
  324. package/dist/lib/opportunityFormData.d.ts +13 -0
  325. package/dist/lib/opportunityFormData.d.ts.map +1 -0
  326. package/dist/lib/opportunityFormData.js +62 -0
  327. package/dist/lib/opportunityFormPage.d.ts +39 -0
  328. package/dist/lib/opportunityFormPage.d.ts.map +1 -0
  329. package/dist/lib/opportunityFormPage.js +34 -0
  330. package/dist/lib/packageActions.d.ts +86 -0
  331. package/dist/lib/packageActions.d.ts.map +1 -0
  332. package/dist/lib/packageActions.js +168 -0
  333. package/dist/lib/packageDummyData.d.ts +3 -0
  334. package/dist/lib/packageDummyData.d.ts.map +1 -0
  335. package/dist/lib/packageDummyData.js +57 -0
  336. package/dist/lib/placeActions.d.ts +192 -0
  337. package/dist/lib/placeActions.d.ts.map +1 -0
  338. package/dist/lib/placeActions.js +57 -0
  339. package/dist/lib/pricingActions.d.ts +13 -0
  340. package/dist/lib/pricingActions.d.ts.map +1 -0
  341. package/dist/lib/pricingActions.js +16 -0
  342. package/dist/lib/propertyActions.d.ts +17 -0
  343. package/dist/lib/propertyActions.d.ts.map +1 -0
  344. package/dist/lib/propertyActions.js +16 -0
  345. package/dist/lib/rentalActions.d.ts +86 -0
  346. package/dist/lib/rentalActions.d.ts.map +1 -0
  347. package/dist/lib/rentalActions.js +234 -0
  348. package/dist/lib/rentalDummyData.d.ts +3 -0
  349. package/dist/lib/rentalDummyData.d.ts.map +1 -0
  350. package/dist/lib/rentalDummyData.js +367 -0
  351. package/dist/lib/rentalFormPage.d.ts +46 -0
  352. package/dist/lib/rentalFormPage.d.ts.map +1 -0
  353. package/dist/lib/rentalFormPage.js +94 -0
  354. package/dist/lib/roomActions.d.ts +39 -0
  355. package/dist/lib/roomActions.d.ts.map +1 -0
  356. package/dist/lib/roomActions.js +74 -0
  357. package/dist/lib/stayActions.d.ts +97 -0
  358. package/dist/lib/stayActions.d.ts.map +1 -0
  359. package/dist/lib/stayActions.js +138 -0
  360. package/dist/lib/staysDummyData.d.ts +72 -0
  361. package/dist/lib/staysDummyData.d.ts.map +1 -0
  362. package/dist/lib/staysDummyData.js +694 -0
  363. package/dist/lib/storeActions.d.ts +25 -0
  364. package/dist/lib/storeActions.d.ts.map +1 -0
  365. package/dist/lib/storeActions.js +46 -0
  366. package/dist/lib/storeDummyData.d.ts +9 -0
  367. package/dist/lib/storeDummyData.d.ts.map +1 -0
  368. package/dist/lib/storeDummyData.js +336 -0
  369. package/dist/lib/travelPackageActions.d.ts +102 -0
  370. package/dist/lib/travelPackageActions.d.ts.map +1 -0
  371. package/dist/lib/travelPackageActions.js +487 -0
  372. package/dist/lib/travelPackageFormData.d.ts +20 -0
  373. package/dist/lib/travelPackageFormData.d.ts.map +1 -0
  374. package/dist/lib/travelPackageFormData.js +54 -0
  375. package/dist/lib/travelPackageFormPage.d.ts +32 -0
  376. package/dist/lib/travelPackageFormPage.d.ts.map +1 -0
  377. package/dist/lib/travelPackageFormPage.js +43 -0
  378. package/dist/lib/userAtom.d.ts +294 -0
  379. package/dist/lib/userAtom.d.ts.map +1 -0
  380. package/dist/lib/userAtom.js +139 -0
  381. package/dist/lib/util.d.ts +11 -0
  382. package/dist/lib/util.d.ts.map +1 -0
  383. package/dist/lib/util.js +82 -0
  384. package/dist/lib/utils/entitySubmission.d.ts +21 -0
  385. package/dist/lib/utils/entitySubmission.d.ts.map +1 -0
  386. package/dist/lib/utils/entitySubmission.js +10 -0
  387. package/dist/lib/utils/fileCompression.d.ts +16 -0
  388. package/dist/lib/utils/fileCompression.d.ts.map +1 -0
  389. package/dist/lib/utils/fileCompression.js +56 -0
  390. package/dist/lib/utils/imageUpload.d.ts +4 -0
  391. package/dist/lib/utils/imageUpload.d.ts.map +1 -0
  392. package/dist/lib/utils/imageUpload.js +36 -0
  393. package/dist/lib/utils/socialMediaUrl.d.ts +25 -0
  394. package/dist/lib/utils/socialMediaUrl.d.ts.map +1 -0
  395. package/dist/lib/utils/socialMediaUrl.js +97 -0
  396. package/dist/lib/utils/tileConverters.d.ts +8 -0
  397. package/dist/lib/utils/tileConverters.d.ts.map +1 -0
  398. package/dist/lib/utils/tileConverters.js +59 -0
  399. package/dist/lib/utils.d.ts +53 -0
  400. package/dist/lib/utils.d.ts.map +1 -0
  401. package/dist/lib/utils.js +183 -0
  402. package/dist/lib/vehicleData.d.ts +2 -0
  403. package/dist/lib/vehicleData.d.ts.map +1 -0
  404. package/dist/lib/vehicleData.js +181 -0
  405. package/dist/lib/vehicleModels.d.ts +2 -0
  406. package/dist/lib/vehicleModels.d.ts.map +1 -0
  407. package/dist/lib/vehicleModels.js +128 -0
  408. package/package.json +61 -0
@@ -0,0 +1,294 @@
1
+ export declare const storageInitializedAtom: import("jotai").PrimitiveAtom<boolean> & {
2
+ init: boolean;
3
+ };
4
+ export declare const userAtom: import("jotai").WritableAtom<{
5
+ username: string;
6
+ firstName: string;
7
+ lastName: string;
8
+ email: string;
9
+ password: string;
10
+ phoneNumber: string;
11
+ countryCode: string;
12
+ country: string;
13
+ gender: "male" | "female" | "other";
14
+ rating: number;
15
+ ratingCount: number;
16
+ reviewCount: number;
17
+ joinedDate: Date;
18
+ isActive: boolean;
19
+ lastActive: Date;
20
+ verifiedEmail: boolean;
21
+ verifiedMobile: boolean;
22
+ role: string;
23
+ _id?: string | undefined;
24
+ location?: string | undefined;
25
+ pinCode?: string | undefined;
26
+ dob?: Date | undefined;
27
+ profilePic?: string | undefined;
28
+ blogsCount?: number | undefined;
29
+ userBio?: string | undefined;
30
+ userIdCard?: string | undefined;
31
+ watchHistory?: string[] | undefined;
32
+ accessToken?: string | undefined;
33
+ refreshToken?: string | undefined;
34
+ verifiedIdCard?: boolean | undefined;
35
+ permissions?: string[] | undefined;
36
+ accountType?: "user" | "host" | "staff" | undefined;
37
+ baseAccountType?: "user" | "host" | undefined;
38
+ legacyRole?: string | undefined;
39
+ staffProfileId?: string | null | undefined;
40
+ baseUserId?: string | null | undefined;
41
+ baseHostId?: string | null | undefined;
42
+ socialLinks?: Partial<Record<"instagram" | "linkedin" | "youtube" | "googleBusiness", string>> | undefined;
43
+ userResume?: string | undefined;
44
+ skills?: {
45
+ skill: string;
46
+ skillExpertise: number;
47
+ }[] | undefined;
48
+ wishlist?: string[] | undefined;
49
+ favBlogs?: string[] | undefined;
50
+ favPackages?: string[] | undefined;
51
+ id?: string | undefined;
52
+ selfie?: string | undefined;
53
+ selfieAction?: string | undefined;
54
+ jobCount?: number | undefined;
55
+ travelPackageCount?: number | undefined;
56
+ gstNumber?: string | undefined;
57
+ panCard?: string | undefined;
58
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
59
+ properties?: {
60
+ country: string;
61
+ type: string;
62
+ name: string;
63
+ address: string;
64
+ city: string;
65
+ state: string;
66
+ pinCode?: string | undefined;
67
+ registrationNumber?: string | undefined;
68
+ }[] | undefined;
69
+ businessDocument?: string | undefined;
70
+ businessIdType?: "PAN" | "GST" | "Udyam" | "PersonalPAN" | undefined;
71
+ businessIdNumber?: string | undefined;
72
+ businessApiVerificationStatus?: "pending" | "verified" | "failed" | undefined;
73
+ businessVerificationDenialReason?: string | undefined;
74
+ } | null, [{
75
+ username: string;
76
+ firstName: string;
77
+ lastName: string;
78
+ email: string;
79
+ password: string;
80
+ phoneNumber: string;
81
+ countryCode: string;
82
+ country: string;
83
+ gender: "male" | "female" | "other";
84
+ rating: number;
85
+ ratingCount: number;
86
+ reviewCount: number;
87
+ joinedDate: Date;
88
+ isActive: boolean;
89
+ lastActive: Date;
90
+ verifiedEmail: boolean;
91
+ verifiedMobile: boolean;
92
+ role: string;
93
+ _id?: string | undefined;
94
+ location?: string | undefined;
95
+ pinCode?: string | undefined;
96
+ dob?: Date | undefined;
97
+ profilePic?: string | undefined;
98
+ blogsCount?: number | undefined;
99
+ userBio?: string | undefined;
100
+ userIdCard?: string | undefined;
101
+ watchHistory?: string[] | undefined;
102
+ accessToken?: string | undefined;
103
+ refreshToken?: string | undefined;
104
+ verifiedIdCard?: boolean | undefined;
105
+ permissions?: string[] | undefined;
106
+ accountType?: "user" | "host" | "staff" | undefined;
107
+ baseAccountType?: "user" | "host" | undefined;
108
+ legacyRole?: string | undefined;
109
+ staffProfileId?: string | null | undefined;
110
+ baseUserId?: string | null | undefined;
111
+ baseHostId?: string | null | undefined;
112
+ socialLinks?: Partial<Record<"instagram" | "linkedin" | "youtube" | "googleBusiness", string>> | undefined;
113
+ userResume?: string | undefined;
114
+ skills?: {
115
+ skill: string;
116
+ skillExpertise: number;
117
+ }[] | undefined;
118
+ wishlist?: string[] | undefined;
119
+ favBlogs?: string[] | undefined;
120
+ favPackages?: string[] | undefined;
121
+ id?: string | undefined;
122
+ selfie?: string | undefined;
123
+ selfieAction?: string | undefined;
124
+ jobCount?: number | undefined;
125
+ travelPackageCount?: number | undefined;
126
+ gstNumber?: string | undefined;
127
+ panCard?: string | undefined;
128
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
129
+ properties?: {
130
+ country: string;
131
+ type: string;
132
+ name: string;
133
+ address: string;
134
+ city: string;
135
+ state: string;
136
+ pinCode?: string | undefined;
137
+ registrationNumber?: string | undefined;
138
+ }[] | undefined;
139
+ businessDocument?: string | undefined;
140
+ businessIdType?: "PAN" | "GST" | "Udyam" | "PersonalPAN" | undefined;
141
+ businessIdNumber?: string | undefined;
142
+ businessApiVerificationStatus?: "pending" | "verified" | "failed" | undefined;
143
+ businessVerificationDenialReason?: string | undefined;
144
+ } | typeof import("jotai/utils").RESET | ((prev: {
145
+ username: string;
146
+ firstName: string;
147
+ lastName: string;
148
+ email: string;
149
+ password: string;
150
+ phoneNumber: string;
151
+ countryCode: string;
152
+ country: string;
153
+ gender: "male" | "female" | "other";
154
+ rating: number;
155
+ ratingCount: number;
156
+ reviewCount: number;
157
+ joinedDate: Date;
158
+ isActive: boolean;
159
+ lastActive: Date;
160
+ verifiedEmail: boolean;
161
+ verifiedMobile: boolean;
162
+ role: string;
163
+ _id?: string | undefined;
164
+ location?: string | undefined;
165
+ pinCode?: string | undefined;
166
+ dob?: Date | undefined;
167
+ profilePic?: string | undefined;
168
+ blogsCount?: number | undefined;
169
+ userBio?: string | undefined;
170
+ userIdCard?: string | undefined;
171
+ watchHistory?: string[] | undefined;
172
+ accessToken?: string | undefined;
173
+ refreshToken?: string | undefined;
174
+ verifiedIdCard?: boolean | undefined;
175
+ permissions?: string[] | undefined;
176
+ accountType?: "user" | "host" | "staff" | undefined;
177
+ baseAccountType?: "user" | "host" | undefined;
178
+ legacyRole?: string | undefined;
179
+ staffProfileId?: string | null | undefined;
180
+ baseUserId?: string | null | undefined;
181
+ baseHostId?: string | null | undefined;
182
+ socialLinks?: Partial<Record<"instagram" | "linkedin" | "youtube" | "googleBusiness", string>> | undefined;
183
+ userResume?: string | undefined;
184
+ skills?: {
185
+ skill: string;
186
+ skillExpertise: number;
187
+ }[] | undefined;
188
+ wishlist?: string[] | undefined;
189
+ favBlogs?: string[] | undefined;
190
+ favPackages?: string[] | undefined;
191
+ id?: string | undefined;
192
+ selfie?: string | undefined;
193
+ selfieAction?: string | undefined;
194
+ jobCount?: number | undefined;
195
+ travelPackageCount?: number | undefined;
196
+ gstNumber?: string | undefined;
197
+ panCard?: string | undefined;
198
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
199
+ properties?: {
200
+ country: string;
201
+ type: string;
202
+ name: string;
203
+ address: string;
204
+ city: string;
205
+ state: string;
206
+ pinCode?: string | undefined;
207
+ registrationNumber?: string | undefined;
208
+ }[] | undefined;
209
+ businessDocument?: string | undefined;
210
+ businessIdType?: "PAN" | "GST" | "Udyam" | "PersonalPAN" | undefined;
211
+ businessIdNumber?: string | undefined;
212
+ businessApiVerificationStatus?: "pending" | "verified" | "failed" | undefined;
213
+ businessVerificationDenialReason?: string | undefined;
214
+ } | null) => {
215
+ username: string;
216
+ firstName: string;
217
+ lastName: string;
218
+ email: string;
219
+ password: string;
220
+ phoneNumber: string;
221
+ countryCode: string;
222
+ country: string;
223
+ gender: "male" | "female" | "other";
224
+ rating: number;
225
+ ratingCount: number;
226
+ reviewCount: number;
227
+ joinedDate: Date;
228
+ isActive: boolean;
229
+ lastActive: Date;
230
+ verifiedEmail: boolean;
231
+ verifiedMobile: boolean;
232
+ role: string;
233
+ _id?: string | undefined;
234
+ location?: string | undefined;
235
+ pinCode?: string | undefined;
236
+ dob?: Date | undefined;
237
+ profilePic?: string | undefined;
238
+ blogsCount?: number | undefined;
239
+ userBio?: string | undefined;
240
+ userIdCard?: string | undefined;
241
+ watchHistory?: string[] | undefined;
242
+ accessToken?: string | undefined;
243
+ refreshToken?: string | undefined;
244
+ verifiedIdCard?: boolean | undefined;
245
+ permissions?: string[] | undefined;
246
+ accountType?: "user" | "host" | "staff" | undefined;
247
+ baseAccountType?: "user" | "host" | undefined;
248
+ legacyRole?: string | undefined;
249
+ staffProfileId?: string | null | undefined;
250
+ baseUserId?: string | null | undefined;
251
+ baseHostId?: string | null | undefined;
252
+ socialLinks?: Partial<Record<"instagram" | "linkedin" | "youtube" | "googleBusiness", string>> | undefined;
253
+ userResume?: string | undefined;
254
+ skills?: {
255
+ skill: string;
256
+ skillExpertise: number;
257
+ }[] | undefined;
258
+ wishlist?: string[] | undefined;
259
+ favBlogs?: string[] | undefined;
260
+ favPackages?: string[] | undefined;
261
+ id?: string | undefined;
262
+ selfie?: string | undefined;
263
+ selfieAction?: string | undefined;
264
+ jobCount?: number | undefined;
265
+ travelPackageCount?: number | undefined;
266
+ gstNumber?: string | undefined;
267
+ panCard?: string | undefined;
268
+ verifiedBusiness?: "true" | "false" | "inProgress" | undefined;
269
+ properties?: {
270
+ country: string;
271
+ type: string;
272
+ name: string;
273
+ address: string;
274
+ city: string;
275
+ state: string;
276
+ pinCode?: string | undefined;
277
+ registrationNumber?: string | undefined;
278
+ }[] | undefined;
279
+ businessDocument?: string | undefined;
280
+ businessIdType?: "PAN" | "GST" | "Udyam" | "PersonalPAN" | undefined;
281
+ businessIdNumber?: string | undefined;
282
+ businessApiVerificationStatus?: "pending" | "verified" | "failed" | undefined;
283
+ businessVerificationDenialReason?: string | undefined;
284
+ } | typeof import("jotai/utils").RESET | null) | null], void>;
285
+ export declare const isLoggedInAtom: import("jotai").WritableAtom<boolean, [boolean | typeof import("jotai/utils").RESET | ((prev: boolean) => boolean | typeof import("jotai/utils").RESET)], void>;
286
+ export declare const userLoadingAtom: import("jotai").Atom<boolean>;
287
+ export declare const initializeAuthSessionAtom: import("jotai").WritableAtom<null, [], Promise<void>> & {
288
+ init: null;
289
+ };
290
+ export declare const resetAuthStateAtom: import("jotai").WritableAtom<null, [], void> & {
291
+ init: null;
292
+ };
293
+ export declare function resetAuthState(): void;
294
+ //# sourceMappingURL=userAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAtom.d.ts","sourceRoot":"","sources":["../../src/lib/userAtom.ts"],"names":[],"mappings":"AAgEA,eAAO,MAAM,sBAAsB;;CAAuB,CAAC;AAG3D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAQpB,CAAC;AAEF,eAAO,MAAM,cAAc,iKAA6C,CAAC;AAGzE,eAAO,MAAM,eAAe,+BAM1B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;CA+CrC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;CAO7B,CAAC;AAEH,wBAAgB,cAAc,SAU7B"}
@@ -0,0 +1,139 @@
1
+ // atoms/userAtom.ts
2
+ import CryptoJS from 'crypto-js';
3
+ import { atom, getDefaultStore } from 'jotai';
4
+ import { atomWithStorage } from 'jotai/utils';
5
+ import { getCurrentUser } from './actions/actions';
6
+ const STORAGE_KEY = process.env.NEXT_PUBLIC_USER_KEY;
7
+ const LOGIN_KEY = process.env.NEXT_PUBLIC_LOGIN_KEY;
8
+ const SECRET_KEY = process.env.NEXT_PUBLIC_RACE;
9
+ const EXPIRY_DAYS = 90;
10
+ const EXPIRY_MS = EXPIRY_DAYS * 24 * 60 * 60 * 1000;
11
+ const store = getDefaultStore();
12
+ // 🔐 Encryption
13
+ const encrypt = (data) => CryptoJS.AES.encrypt(JSON.stringify(data), SECRET_KEY).toString();
14
+ const decrypt = (cipher) => {
15
+ try {
16
+ const bytes = CryptoJS.AES.decrypt(cipher, SECRET_KEY);
17
+ const decrypted = bytes.toString(CryptoJS.enc.Utf8);
18
+ return JSON.parse(decrypted);
19
+ }
20
+ catch (e) {
21
+ console.warn('Decryption failed:', e);
22
+ return null;
23
+ }
24
+ };
25
+ // 🧠 Wrap expiry in localStorage
26
+ const getWithExpiry = (key) => {
27
+ if (typeof window === 'undefined')
28
+ return null;
29
+ try {
30
+ const raw = localStorage.getItem(key);
31
+ if (!raw)
32
+ return null;
33
+ const data = decrypt(raw);
34
+ if (!data)
35
+ return null;
36
+ const { value, expiry } = data;
37
+ if (Date.now() > expiry) {
38
+ resetAuthState();
39
+ return null;
40
+ }
41
+ return value;
42
+ }
43
+ catch (e) {
44
+ console.warn('Invalid user data:', e);
45
+ resetAuthState();
46
+ return null;
47
+ }
48
+ };
49
+ const setWithExpiry = (key, value) => {
50
+ if (typeof window === 'undefined')
51
+ return null;
52
+ if (!value)
53
+ return localStorage.removeItem(key);
54
+ const expiry = Date.now() + EXPIRY_MS;
55
+ const encrypted = encrypt({ value, expiry });
56
+ localStorage.setItem(key, encrypted);
57
+ };
58
+ // Storage initialization atom - tracks if we've tried to load from storage
59
+ export const storageInitializedAtom = atom(false);
60
+ // 🍱 Base storage atom (persisted)
61
+ export const userAtom = atomWithStorage(STORAGE_KEY, null, {
62
+ getItem: (key) => getWithExpiry(key),
63
+ setItem: setWithExpiry,
64
+ removeItem: (key) => localStorage.removeItem(key),
65
+ });
66
+ export const isLoggedInAtom = atomWithStorage(LOGIN_KEY, false);
67
+ // 🕒 Tracks if user is loading
68
+ export const userLoadingAtom = atom((get) => {
69
+ // The issue was here - we need to properly track initialization state
70
+ const initialized = get(storageInitializedAtom);
71
+ // We're loading if we haven't initialized storage yet
72
+ return !initialized;
73
+ });
74
+ // Initialize storage atom effect
75
+ export const initializeAuthSessionAtom = atom(null, async (get, set) => {
76
+ // Only run in browser
77
+ if (typeof window === 'undefined')
78
+ return;
79
+ // 1. Validate session (role-aware — host route differs from user route)
80
+ // const session = await validateSession();
81
+ // if (session.success) {
82
+ // Session validated successfully
83
+ // } else {
84
+ // resetAuthState();
85
+ // set(storageInitializedAtom, true);
86
+ // return;
87
+ // }
88
+ // NOTE: if validateSession fails we do NOT reset — we just fall through
89
+ // to cache/API. A failed ping could mean the backend is temporarily down,
90
+ // the user is a host (different endpoint), etc. We only clear state if we
91
+ // POSITIVELY know the user is logged out (getCurrentUser fails).
92
+ // 2. Try cache (localStorage)
93
+ const userData = getWithExpiry(STORAGE_KEY);
94
+ if (userData) {
95
+ set(userAtom, userData);
96
+ set(isLoggedInAtom, true);
97
+ set(storageInitializedAtom, true);
98
+ return;
99
+ }
100
+ // 3. If cache miss: fetch user from backend using session cookie
101
+ try {
102
+ // This endpoint can hit DB or another cache as needed
103
+ const remoteUser = await getCurrentUser();
104
+ if (remoteUser) {
105
+ set(userAtom, remoteUser);
106
+ set(isLoggedInAtom, true);
107
+ setWithExpiry(STORAGE_KEY, remoteUser); // Write to local cache for next time
108
+ }
109
+ else {
110
+ resetAuthState();
111
+ }
112
+ }
113
+ catch {
114
+ resetAuthState();
115
+ }
116
+ finally {
117
+ set(storageInitializedAtom, true);
118
+ }
119
+ });
120
+ export const resetAuthStateAtom = atom(null, (_get, set) => {
121
+ if (typeof window === 'undefined')
122
+ return;
123
+ localStorage.removeItem(STORAGE_KEY);
124
+ localStorage.removeItem(LOGIN_KEY);
125
+ set(userAtom, null);
126
+ set(isLoggedInAtom, false);
127
+ set(storageInitializedAtom, true);
128
+ });
129
+ export function resetAuthState() {
130
+ if (typeof window === 'undefined') {
131
+ console.warn('resetAuthState called on server — skipped');
132
+ return;
133
+ }
134
+ localStorage.removeItem(STORAGE_KEY);
135
+ localStorage.removeItem(LOGIN_KEY);
136
+ store.set(userAtom, null);
137
+ store.set(isLoggedInAtom, false);
138
+ store.set(storageInitializedAtom, true);
139
+ }
@@ -0,0 +1,11 @@
1
+ import { Blog } from "@myrjfa/state/dist/lib/models/blog";
2
+ import { TileProps } from "@myrjfa/state/dist/lib/models/tile";
3
+ import { User } from "@myrjfa/state/dist/lib/models/user";
4
+ import { TravelPackage } from "@myrjfa/state/dist/lib/models/package";
5
+ import { Opportunity } from "@myrjfa/state/dist/lib/models/opportunities/opportunity";
6
+ export declare const expertiseLevels: string[];
7
+ export declare function incompleteMVP(user?: User): string[];
8
+ export declare function convertOpportunityToTileProps(opportunity: Opportunity): TileProps;
9
+ export declare function convertBlogToTileProps(blog: Blog): TileProps;
10
+ export declare function convertTravelPackageToTileProps(travelPackage: TravelPackage): TileProps;
11
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAgB,MAAM,yDAAyD,CAAC;AAIpG,eAAO,MAAM,eAAe,UAA0D,CAAC;AAEvF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAgBjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAgB5D;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAuBvF"}
@@ -0,0 +1,82 @@
1
+ import { truncateText } from "@myrjfa/state/dist/lib/utils";
2
+ import { calculatePricingStrategyDisplayUnitPrice, getPricingCurrency, getPricingStrategies } from "@myrjfa/state/dist/lib/models/pricing";
3
+ export const expertiseLevels = ["none", "basic", "intermediate", "advanced", "expert"];
4
+ export function incompleteMVP(user) {
5
+ const incompletions = [];
6
+ if (user) {
7
+ if (!user.verifiedIdCard)
8
+ incompletions.push("Verify your id card");
9
+ if (!user.skills || user.skills.length == 0)
10
+ incompletions.push("Your skills");
11
+ if (!user.userResume)
12
+ incompletions.push("Profile Default Resume");
13
+ if (!user.location)
14
+ incompletions.push("your location");
15
+ if (!user.pinCode)
16
+ incompletions.push("PinCode");
17
+ if (!user.profilePic)
18
+ incompletions.push("Proile Pic");
19
+ }
20
+ else {
21
+ incompletions.push("Please login first");
22
+ }
23
+ return incompletions;
24
+ }
25
+ export function convertOpportunityToTileProps(opportunity) {
26
+ return {
27
+ slug: opportunity.slug || '',
28
+ image: opportunity.images?.[0] || "/images/placeholder.svg",
29
+ title: opportunity.title || '',
30
+ description: opportunity.description || '',
31
+ location: opportunity.city + ', ' + opportunity.state || '',
32
+ date: opportunity.createdAt || new Date(),
33
+ rating: opportunity.rating,
34
+ skills: opportunity.skills || [],
35
+ className: opportunity.categoryId,
36
+ duration: opportunity.minDuration,
37
+ maxDuration: opportunity.maxDuration,
38
+ opportunityType: opportunity.opportunityType || 'volunteer',
39
+ payFrequency: opportunity.compensation?.frequency || undefined,
40
+ };
41
+ }
42
+ export function convertBlogToTileProps(blog) {
43
+ return {
44
+ slug: blog.slug || '',
45
+ image: blog.blogImages?.[0] || "/images/placeholder.svg",
46
+ title: blog.title || '',
47
+ description: truncateText(blog.overview, 150),
48
+ location: '',
49
+ date: blog.createdAt,
50
+ rating: blog.likes || 0,
51
+ skills: [],
52
+ className: '',
53
+ host: blog.author ? {
54
+ name: blog.author,
55
+ image: blog.authorImage
56
+ } : undefined,
57
+ };
58
+ }
59
+ export function convertTravelPackageToTileProps(travelPackage) {
60
+ return {
61
+ slug: travelPackage.slug || '',
62
+ image: travelPackage.packageImages?.[0] || "/images/placeholder.svg",
63
+ title: travelPackage.title || '',
64
+ description: '',
65
+ tileType: "packages",
66
+ location: travelPackage.city + ', ' + travelPackage.state || '',
67
+ date: travelPackage.createdAt instanceof Date ? travelPackage.createdAt : new Date(travelPackage.createdAt),
68
+ rating: travelPackage.rating,
69
+ className: travelPackage.categoryId,
70
+ price: calculatePricingStrategyDisplayUnitPrice(getPricingStrategies(travelPackage)?.[0]),
71
+ currency: getPricingCurrency(travelPackage),
72
+ duration: travelPackage.duration,
73
+ difficultyLevel: travelPackage.difficultyLevel,
74
+ host: travelPackage.host?.name ? {
75
+ image: travelPackage.host?.image ?? "/images/profile_placeholder.webp",
76
+ name: travelPackage.host?.name,
77
+ } : {
78
+ image: travelPackage.hostId?.profilePic ?? "/images/profile_placeholder.webp",
79
+ name: travelPackage.hostId?.username,
80
+ }
81
+ };
82
+ }
@@ -0,0 +1,21 @@
1
+ type SubmissionResult = {
2
+ success?: boolean;
3
+ error?: string;
4
+ slug?: string;
5
+ };
6
+ type HandleEntitySubmissionResultOptions = {
7
+ result: SubmissionResult;
8
+ isEditing: boolean;
9
+ editSlug?: string | null;
10
+ clearDraft: () => void;
11
+ setDone: (value: {
12
+ slug: string;
13
+ asDraft?: boolean;
14
+ }) => void;
15
+ setSubmitError: (message: string) => void;
16
+ asDraft: boolean;
17
+ defaultError: string;
18
+ };
19
+ export declare function handleEntitySubmissionResult({ result, isEditing, editSlug, clearDraft, setDone, setSubmitError, asDraft, defaultError, }: HandleEntitySubmissionResultOptions): boolean;
20
+ export {};
21
+ //# sourceMappingURL=entitySubmission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitySubmission.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/entitySubmission.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mCAAmC,GAAG;IACzC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,EAC3C,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,OAAO,EACP,YAAY,GACb,EAAE,mCAAmC,WAUrC"}
@@ -0,0 +1,10 @@
1
+ export function handleEntitySubmissionResult({ result, isEditing, editSlug, clearDraft, setDone, setSubmitError, asDraft, defaultError, }) {
2
+ if (result.success) {
3
+ clearDraft();
4
+ const finalSlug = isEditing ? editSlug : result.slug;
5
+ setDone({ slug: finalSlug || "", asDraft });
6
+ return true;
7
+ }
8
+ setSubmitError(result.error || defaultError);
9
+ return false;
10
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Utility for client-side file compression before upload.
3
+ */
4
+ interface CompressionOptions {
5
+ maxWidth?: number;
6
+ maxHeight?: number;
7
+ quality?: number;
8
+ mimeType?: string;
9
+ }
10
+ export declare function compressImage(file: File, options?: CompressionOptions): Promise<File>;
11
+ /**
12
+ * Checks if a file is an image that can be compressed.
13
+ */
14
+ export declare function isCompressibleImage(file: File): boolean;
15
+ export {};
16
+ //# sourceMappingURL=fileCompression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileCompression.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/fileCompression.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,UAAU,kBAAkB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D/F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Utility for client-side file compression before upload.
3
+ */
4
+ export async function compressImage(file, options = {}) {
5
+ const { maxWidth = 1920, maxHeight = 1080, quality = 0.2, mimeType = "image/jpeg" } = options;
6
+ return new Promise((resolve, reject) => {
7
+ const img = new Image();
8
+ img.src = URL.createObjectURL(file);
9
+ img.onload = () => {
10
+ URL.revokeObjectURL(img.src);
11
+ const canvas = document.createElement("canvas");
12
+ let width = img.width;
13
+ let height = img.height;
14
+ // Maintain aspect ratio
15
+ if (width > height) {
16
+ if (width > maxWidth) {
17
+ height *= maxWidth / width;
18
+ width = maxWidth;
19
+ }
20
+ }
21
+ else {
22
+ if (height > maxHeight) {
23
+ width *= maxHeight / height;
24
+ height = maxHeight;
25
+ }
26
+ }
27
+ canvas.width = width;
28
+ canvas.height = height;
29
+ const ctx = canvas.getContext("2d");
30
+ if (!ctx) {
31
+ return reject(new Error("Could not get canvas context"));
32
+ }
33
+ ctx.drawImage(img, 0, 0, width, height);
34
+ canvas.toBlob((blob) => {
35
+ if (!blob) {
36
+ return reject(new Error("Canvas toBlob failed"));
37
+ }
38
+ const compressedFile = new File([blob], file.name, {
39
+ type: mimeType,
40
+ lastModified: Date.now(),
41
+ });
42
+ resolve(compressedFile);
43
+ }, mimeType, quality);
44
+ };
45
+ img.onerror = (err) => {
46
+ URL.revokeObjectURL(img.src);
47
+ reject(err);
48
+ };
49
+ });
50
+ }
51
+ /**
52
+ * Checks if a file is an image that can be compressed.
53
+ */
54
+ export function isCompressibleImage(file) {
55
+ return file.type.startsWith("image/") && !file.type.includes("svg") && !file.type.includes("gif");
56
+ }
@@ -0,0 +1,4 @@
1
+ export declare function normalizeImageFile(file: File): Promise<File>;
2
+ export declare function normalizeImageFiles(files: File[]): Promise<File[]>;
3
+ export declare function prepareImageFiles(files: File[], maxImageSizeMb: number, onWarning: (message: string) => void | Promise<void>): Promise<File[]>;
4
+ //# sourceMappingURL=imageUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageUpload.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/imageUpload.ts"],"names":[],"mappings":"AAAA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlE;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAExE;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,EAAE,CAAC,CAkBjB"}