be-components 7.4.7 → 7.5.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 (596) hide show
  1. package/lib/commonjs/ApiOverrides/index.js +4 -0
  2. package/lib/commonjs/ApiOverrides/index.js.map +1 -1
  3. package/lib/commonjs/BetRouter/api/index.js +884 -0
  4. package/lib/commonjs/BetRouter/api/index.js.map +1 -0
  5. package/lib/commonjs/BetRouter/api/types.js +2 -0
  6. package/lib/commonjs/BetRouter/api/types.js.map +1 -0
  7. package/lib/commonjs/BetRouter/components/AccountManager.js +592 -0
  8. package/lib/commonjs/BetRouter/components/AccountManager.js.map +1 -0
  9. package/lib/commonjs/BetRouter/components/AdminPortal.js +51 -0
  10. package/lib/commonjs/BetRouter/components/AdminPortal.js.map +1 -0
  11. package/lib/commonjs/BetRouter/components/BuyOpportunities.js +550 -0
  12. package/lib/commonjs/BetRouter/components/BuyOpportunities.js.map +1 -0
  13. package/lib/commonjs/BetRouter/components/BuyOpportunityCard.js +320 -0
  14. package/lib/commonjs/BetRouter/components/BuyOpportunityCard.js.map +1 -0
  15. package/lib/commonjs/BetRouter/components/ContestLiquidity.js +666 -0
  16. package/lib/commonjs/BetRouter/components/ContestLiquidity.js.map +1 -0
  17. package/lib/commonjs/BetRouter/components/ContestSelector.js +193 -0
  18. package/lib/commonjs/BetRouter/components/ContestSelector.js.map +1 -0
  19. package/lib/commonjs/BetRouter/components/MyOpportunities.js +332 -0
  20. package/lib/commonjs/BetRouter/components/MyOpportunities.js.map +1 -0
  21. package/lib/commonjs/BetRouter/components/MyOpportunities.tsx.bak +440 -0
  22. package/lib/commonjs/BetRouter/components/OpportunityDetailModal.js +545 -0
  23. package/lib/commonjs/BetRouter/components/OpportunityDetailModal.js.map +1 -0
  24. package/lib/commonjs/BetRouter/components/OpportunityHistory.js +489 -0
  25. package/lib/commonjs/BetRouter/components/OpportunityHistory.js.map +1 -0
  26. package/lib/commonjs/BetRouter/components/PartnerCredentials.js +229 -0
  27. package/lib/commonjs/BetRouter/components/PartnerCredentials.js.map +1 -0
  28. package/lib/commonjs/BetRouter/components/PlacedOpportunityModal.js +262 -0
  29. package/lib/commonjs/BetRouter/components/PlacedOpportunityModal.js.map +1 -0
  30. package/lib/commonjs/BetRouter/components/admin/AutoFillView.js +380 -0
  31. package/lib/commonjs/BetRouter/components/admin/AutoFillView.js.map +1 -0
  32. package/lib/commonjs/BetRouter/components/admin/ConfigManager.js +814 -0
  33. package/lib/commonjs/BetRouter/components/admin/ConfigManager.js.map +1 -0
  34. package/lib/commonjs/BetRouter/components/admin/JobManager.js +895 -0
  35. package/lib/commonjs/BetRouter/components/admin/JobManager.js.map +1 -0
  36. package/lib/commonjs/BetRouter/components/admin/LeagueContests.js +2844 -0
  37. package/lib/commonjs/BetRouter/components/admin/LeagueContests.js.map +1 -0
  38. package/lib/commonjs/BetRouter/components/admin/LeagueInfo.js +378 -0
  39. package/lib/commonjs/BetRouter/components/admin/LeagueInfo.js.map +1 -0
  40. package/lib/commonjs/BetRouter/components/admin/LeagueParticipants.js +795 -0
  41. package/lib/commonjs/BetRouter/components/admin/LeagueParticipants.js.map +1 -0
  42. package/lib/commonjs/BetRouter/index.js +411 -0
  43. package/lib/commonjs/BetRouter/index.js.map +1 -0
  44. package/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.js +312 -0
  45. package/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.js.map +1 -0
  46. package/lib/commonjs/BetRouter/layouts/DesktopLayout.js +271 -0
  47. package/lib/commonjs/BetRouter/layouts/DesktopLayout.js.map +1 -0
  48. package/lib/commonjs/BetRouter/layouts/MobileAdminLayout.js +435 -0
  49. package/lib/commonjs/BetRouter/layouts/MobileAdminLayout.js.map +1 -0
  50. package/lib/commonjs/BetRouter/layouts/MobileLayout.js +293 -0
  51. package/lib/commonjs/BetRouter/layouts/MobileLayout.js.map +1 -0
  52. package/lib/commonjs/BetRouter/types/ADMIN_PORTAL.md +863 -0
  53. package/lib/commonjs/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
  54. package/lib/commonjs/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
  55. package/lib/commonjs/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
  56. package/lib/commonjs/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
  57. package/lib/commonjs/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
  58. package/lib/commonjs/BetRouter/types/README.md +249 -0
  59. package/lib/commonjs/BetRouter/types/accounts.js +2 -0
  60. package/lib/commonjs/BetRouter/types/accounts.js.map +1 -0
  61. package/lib/commonjs/BetRouter/types/api-contracts.js +776 -0
  62. package/lib/commonjs/BetRouter/types/api-contracts.js.map +1 -0
  63. package/lib/commonjs/BetRouter/types/config.js +2 -0
  64. package/lib/commonjs/BetRouter/types/config.js.map +1 -0
  65. package/lib/commonjs/BetRouter/types/contests.js +2 -0
  66. package/lib/commonjs/BetRouter/types/contests.js.map +1 -0
  67. package/lib/commonjs/BetRouter/types/credentials.js +90 -0
  68. package/lib/commonjs/BetRouter/types/credentials.js.map +1 -0
  69. package/lib/commonjs/BetRouter/types/index.js +149 -0
  70. package/lib/commonjs/BetRouter/types/index.js.map +1 -0
  71. package/lib/commonjs/BetRouter/types/jobs.js +2 -0
  72. package/lib/commonjs/BetRouter/types/jobs.js.map +1 -0
  73. package/lib/commonjs/BetRouter/types/leagues.js +2 -0
  74. package/lib/commonjs/BetRouter/types/leagues.js.map +1 -0
  75. package/lib/commonjs/BetRouter/types/liquidity.js +2 -0
  76. package/lib/commonjs/BetRouter/types/liquidity.js.map +1 -0
  77. package/lib/commonjs/BetRouter/types/markets.js +2 -0
  78. package/lib/commonjs/BetRouter/types/markets.js.map +1 -0
  79. package/lib/commonjs/BetRouter/types/opportunities.js +6 -0
  80. package/lib/commonjs/BetRouter/types/opportunities.js.map +1 -0
  81. package/lib/commonjs/BetRouter/types/orders.js +2 -0
  82. package/lib/commonjs/BetRouter/types/orders.js.map +1 -0
  83. package/lib/commonjs/BetRouter/types/participants.js +2 -0
  84. package/lib/commonjs/BetRouter/types/participants.js.map +1 -0
  85. package/lib/commonjs/BetRouter/types/partners.js +2 -0
  86. package/lib/commonjs/BetRouter/types/partners.js.map +1 -0
  87. package/lib/commonjs/Charts/README.md +310 -0
  88. package/lib/commonjs/Charts/adapters/TradeChartAdapter.js +406 -0
  89. package/lib/commonjs/Charts/adapters/TradeChartAdapter.js.map +1 -0
  90. package/lib/commonjs/Charts/components/BaseLineChart.js +285 -0
  91. package/lib/commonjs/Charts/components/BaseLineChart.js.map +1 -0
  92. package/lib/commonjs/Charts/components/LivePriceChart.js +504 -0
  93. package/lib/commonjs/Charts/components/LivePriceChart.js.map +1 -0
  94. package/lib/commonjs/Charts/index.js +126 -0
  95. package/lib/commonjs/Charts/index.js.map +1 -0
  96. package/lib/commonjs/Charts/themes/chartTheme.js +141 -0
  97. package/lib/commonjs/Charts/themes/chartTheme.js.map +1 -0
  98. package/lib/commonjs/Charts/types.js +2 -0
  99. package/lib/commonjs/Charts/types.js.map +1 -0
  100. package/lib/commonjs/Charts/utils/formatters.js +194 -0
  101. package/lib/commonjs/Charts/utils/formatters.js.map +1 -0
  102. package/lib/commonjs/Components/Dropdown.js +5 -3
  103. package/lib/commonjs/Components/Dropdown.js.map +1 -1
  104. package/lib/commonjs/Components/Icons.js +24 -0
  105. package/lib/commonjs/Components/Icons.js.map +1 -1
  106. package/lib/commonjs/Components/index.js +34 -0
  107. package/lib/commonjs/Components/index.js.map +1 -1
  108. package/lib/commonjs/LocationTracker/LocationStatus.js +5 -2
  109. package/lib/commonjs/LocationTracker/LocationStatus.js.map +1 -1
  110. package/lib/commonjs/LocationTracker/api/index.js +2 -2
  111. package/lib/commonjs/LocationTracker/api/index.js.map +1 -1
  112. package/lib/commonjs/index.js +28 -0
  113. package/lib/commonjs/index.js.map +1 -1
  114. package/lib/commonjs/types.d.js +16 -0
  115. package/lib/commonjs/types.d.js.map +1 -1
  116. package/lib/module/ApiOverrides/index.js +4 -0
  117. package/lib/module/ApiOverrides/index.js.map +1 -1
  118. package/lib/module/BetRouter/api/index.js +873 -0
  119. package/lib/module/BetRouter/api/index.js.map +1 -0
  120. package/lib/module/BetRouter/api/types.js +2 -0
  121. package/lib/module/BetRouter/api/types.js.map +1 -0
  122. package/lib/module/BetRouter/components/AccountManager.js +584 -0
  123. package/lib/module/BetRouter/components/AccountManager.js.map +1 -0
  124. package/lib/module/BetRouter/components/AdminPortal.js +43 -0
  125. package/lib/module/BetRouter/components/AdminPortal.js.map +1 -0
  126. package/lib/module/BetRouter/components/BuyOpportunities.js +542 -0
  127. package/lib/module/BetRouter/components/BuyOpportunities.js.map +1 -0
  128. package/lib/module/BetRouter/components/BuyOpportunityCard.js +313 -0
  129. package/lib/module/BetRouter/components/BuyOpportunityCard.js.map +1 -0
  130. package/lib/module/BetRouter/components/ContestLiquidity.js +658 -0
  131. package/lib/module/BetRouter/components/ContestLiquidity.js.map +1 -0
  132. package/lib/module/BetRouter/components/ContestSelector.js +185 -0
  133. package/lib/module/BetRouter/components/ContestSelector.js.map +1 -0
  134. package/lib/module/BetRouter/components/MyOpportunities.js +324 -0
  135. package/lib/module/BetRouter/components/MyOpportunities.js.map +1 -0
  136. package/lib/module/BetRouter/components/MyOpportunities.tsx.bak +440 -0
  137. package/lib/module/BetRouter/components/OpportunityDetailModal.js +538 -0
  138. package/lib/module/BetRouter/components/OpportunityDetailModal.js.map +1 -0
  139. package/lib/module/BetRouter/components/OpportunityHistory.js +481 -0
  140. package/lib/module/BetRouter/components/OpportunityHistory.js.map +1 -0
  141. package/lib/module/BetRouter/components/PartnerCredentials.js +222 -0
  142. package/lib/module/BetRouter/components/PartnerCredentials.js.map +1 -0
  143. package/lib/module/BetRouter/components/PlacedOpportunityModal.js +255 -0
  144. package/lib/module/BetRouter/components/PlacedOpportunityModal.js.map +1 -0
  145. package/lib/module/BetRouter/components/admin/AutoFillView.js +372 -0
  146. package/lib/module/BetRouter/components/admin/AutoFillView.js.map +1 -0
  147. package/lib/module/BetRouter/components/admin/ConfigManager.js +806 -0
  148. package/lib/module/BetRouter/components/admin/ConfigManager.js.map +1 -0
  149. package/lib/module/BetRouter/components/admin/JobManager.js +888 -0
  150. package/lib/module/BetRouter/components/admin/JobManager.js.map +1 -0
  151. package/lib/module/BetRouter/components/admin/LeagueContests.js +2836 -0
  152. package/lib/module/BetRouter/components/admin/LeagueContests.js.map +1 -0
  153. package/lib/module/BetRouter/components/admin/LeagueInfo.js +372 -0
  154. package/lib/module/BetRouter/components/admin/LeagueInfo.js.map +1 -0
  155. package/lib/module/BetRouter/components/admin/LeagueParticipants.js +787 -0
  156. package/lib/module/BetRouter/components/admin/LeagueParticipants.js.map +1 -0
  157. package/lib/module/BetRouter/index.js +399 -0
  158. package/lib/module/BetRouter/index.js.map +1 -0
  159. package/lib/module/BetRouter/layouts/DesktopAdminLayout.js +304 -0
  160. package/lib/module/BetRouter/layouts/DesktopAdminLayout.js.map +1 -0
  161. package/lib/module/BetRouter/layouts/DesktopLayout.js +263 -0
  162. package/lib/module/BetRouter/layouts/DesktopLayout.js.map +1 -0
  163. package/lib/module/BetRouter/layouts/MobileAdminLayout.js +427 -0
  164. package/lib/module/BetRouter/layouts/MobileAdminLayout.js.map +1 -0
  165. package/lib/module/BetRouter/layouts/MobileLayout.js +285 -0
  166. package/lib/module/BetRouter/layouts/MobileLayout.js.map +1 -0
  167. package/lib/module/BetRouter/types/ADMIN_PORTAL.md +863 -0
  168. package/lib/module/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
  169. package/lib/module/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
  170. package/lib/module/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
  171. package/lib/module/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
  172. package/lib/module/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
  173. package/lib/module/BetRouter/types/README.md +249 -0
  174. package/lib/module/BetRouter/types/accounts.js +2 -0
  175. package/lib/module/BetRouter/types/accounts.js.map +1 -0
  176. package/lib/module/BetRouter/types/api-contracts.js +770 -0
  177. package/lib/module/BetRouter/types/api-contracts.js.map +1 -0
  178. package/lib/module/BetRouter/types/config.js +2 -0
  179. package/lib/module/BetRouter/types/config.js.map +1 -0
  180. package/lib/module/BetRouter/types/contests.js +2 -0
  181. package/lib/module/BetRouter/types/contests.js.map +1 -0
  182. package/lib/module/BetRouter/types/credentials.js +78 -0
  183. package/lib/module/BetRouter/types/credentials.js.map +1 -0
  184. package/lib/module/BetRouter/types/index.js +17 -0
  185. package/lib/module/BetRouter/types/index.js.map +1 -0
  186. package/lib/module/BetRouter/types/jobs.js +2 -0
  187. package/lib/module/BetRouter/types/jobs.js.map +1 -0
  188. package/lib/module/BetRouter/types/leagues.js +2 -0
  189. package/lib/module/BetRouter/types/leagues.js.map +1 -0
  190. package/lib/module/BetRouter/types/liquidity.js +2 -0
  191. package/lib/module/BetRouter/types/liquidity.js.map +1 -0
  192. package/lib/module/BetRouter/types/markets.js +2 -0
  193. package/lib/module/BetRouter/types/markets.js.map +1 -0
  194. package/lib/module/BetRouter/types/opportunities.js +2 -0
  195. package/lib/module/BetRouter/types/opportunities.js.map +1 -0
  196. package/lib/module/BetRouter/types/orders.js +2 -0
  197. package/lib/module/BetRouter/types/orders.js.map +1 -0
  198. package/lib/module/BetRouter/types/participants.js +2 -0
  199. package/lib/module/BetRouter/types/participants.js.map +1 -0
  200. package/lib/module/BetRouter/types/partners.js +2 -0
  201. package/lib/module/BetRouter/types/partners.js.map +1 -0
  202. package/lib/module/Charts/README.md +310 -0
  203. package/lib/module/Charts/adapters/TradeChartAdapter.js +400 -0
  204. package/lib/module/Charts/adapters/TradeChartAdapter.js.map +1 -0
  205. package/lib/module/Charts/components/BaseLineChart.js +281 -0
  206. package/lib/module/Charts/components/BaseLineChart.js.map +1 -0
  207. package/lib/module/Charts/components/LivePriceChart.js +497 -0
  208. package/lib/module/Charts/components/LivePriceChart.js.map +1 -0
  209. package/lib/module/Charts/index.js +36 -0
  210. package/lib/module/Charts/index.js.map +1 -0
  211. package/lib/module/Charts/themes/chartTheme.js +134 -0
  212. package/lib/module/Charts/themes/chartTheme.js.map +1 -0
  213. package/lib/module/Charts/types.js +2 -0
  214. package/lib/module/Charts/types.js.map +1 -0
  215. package/lib/module/Charts/utils/formatters.js +178 -0
  216. package/lib/module/Charts/utils/formatters.js.map +1 -0
  217. package/lib/module/Components/Dropdown.js +5 -3
  218. package/lib/module/Components/Dropdown.js.map +1 -1
  219. package/lib/module/Components/Icons.js +24 -1
  220. package/lib/module/Components/Icons.js.map +1 -1
  221. package/lib/module/Components/index.js +3 -0
  222. package/lib/module/Components/index.js.map +1 -1
  223. package/lib/module/LocationTracker/LocationStatus.js +5 -2
  224. package/lib/module/LocationTracker/LocationStatus.js.map +1 -1
  225. package/lib/module/LocationTracker/api/index.js +2 -2
  226. package/lib/module/LocationTracker/api/index.js.map +1 -1
  227. package/lib/module/index.js +5 -1
  228. package/lib/module/index.js.map +1 -1
  229. package/lib/module/types.d.js +16 -0
  230. package/lib/module/types.d.js.map +1 -1
  231. package/lib/typescript/lib/commonjs/ApiOverrides/index.d.ts.map +1 -1
  232. package/lib/typescript/lib/commonjs/BetRouter/api/index.d.ts +109 -0
  233. package/lib/typescript/lib/commonjs/BetRouter/api/index.d.ts.map +1 -0
  234. package/lib/typescript/lib/commonjs/BetRouter/api/types.d.ts +2 -0
  235. package/lib/typescript/lib/commonjs/BetRouter/api/types.d.ts.map +1 -0
  236. package/lib/typescript/lib/commonjs/BetRouter/components/AccountManager.d.ts +16 -0
  237. package/lib/typescript/lib/commonjs/BetRouter/components/AccountManager.d.ts.map +1 -0
  238. package/lib/typescript/lib/commonjs/BetRouter/components/AdminPortal.d.ts +9 -0
  239. package/lib/typescript/lib/commonjs/BetRouter/components/AdminPortal.d.ts.map +1 -0
  240. package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunities.d.ts +16 -0
  241. package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
  242. package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunityCard.d.ts +14 -0
  243. package/lib/typescript/lib/commonjs/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
  244. package/lib/typescript/lib/commonjs/BetRouter/components/ContestLiquidity.d.ts +11 -0
  245. package/lib/typescript/lib/commonjs/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
  246. package/lib/typescript/lib/commonjs/BetRouter/components/ContestSelector.d.ts +11 -0
  247. package/lib/typescript/lib/commonjs/BetRouter/components/ContestSelector.d.ts.map +1 -0
  248. package/lib/typescript/lib/commonjs/BetRouter/components/MyOpportunities.d.ts +8 -0
  249. package/lib/typescript/lib/commonjs/BetRouter/components/MyOpportunities.d.ts.map +1 -0
  250. package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityDetailModal.d.ts +14 -0
  251. package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
  252. package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityHistory.d.ts +9 -0
  253. package/lib/typescript/lib/commonjs/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
  254. package/lib/typescript/lib/commonjs/BetRouter/components/PartnerCredentials.d.ts +10 -0
  255. package/lib/typescript/lib/commonjs/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
  256. package/lib/typescript/lib/commonjs/BetRouter/components/PlacedOpportunityModal.d.ts +11 -0
  257. package/lib/typescript/lib/commonjs/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
  258. package/lib/typescript/lib/commonjs/BetRouter/components/admin/AutoFillView.d.ts +4 -0
  259. package/lib/typescript/lib/commonjs/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
  260. package/lib/typescript/lib/commonjs/BetRouter/components/admin/ConfigManager.d.ts +4 -0
  261. package/lib/typescript/lib/commonjs/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
  262. package/lib/typescript/lib/commonjs/BetRouter/components/admin/JobManager.d.ts +4 -0
  263. package/lib/typescript/lib/commonjs/BetRouter/components/admin/JobManager.d.ts.map +1 -0
  264. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueContests.d.ts +7 -0
  265. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
  266. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueInfo.d.ts +6 -0
  267. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
  268. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueParticipants.d.ts +6 -0
  269. package/lib/typescript/lib/commonjs/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
  270. package/lib/typescript/lib/commonjs/BetRouter/index.d.ts +8 -0
  271. package/lib/typescript/lib/commonjs/BetRouter/index.d.ts.map +1 -0
  272. package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.d.ts +9 -0
  273. package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
  274. package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopLayout.d.ts +20 -0
  275. package/lib/typescript/lib/commonjs/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
  276. package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileAdminLayout.d.ts +9 -0
  277. package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
  278. package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileLayout.d.ts +20 -0
  279. package/lib/typescript/lib/commonjs/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
  280. package/lib/typescript/lib/commonjs/BetRouter/types/accounts.d.ts +2 -0
  281. package/lib/typescript/lib/commonjs/BetRouter/types/accounts.d.ts.map +1 -0
  282. package/lib/typescript/lib/commonjs/BetRouter/types/api-contracts.d.ts +743 -0
  283. package/lib/typescript/lib/commonjs/BetRouter/types/api-contracts.d.ts.map +1 -0
  284. package/lib/typescript/lib/commonjs/BetRouter/types/config.d.ts +2 -0
  285. package/lib/typescript/lib/commonjs/BetRouter/types/config.d.ts.map +1 -0
  286. package/lib/typescript/lib/commonjs/BetRouter/types/contests.d.ts +2 -0
  287. package/lib/typescript/lib/commonjs/BetRouter/types/contests.d.ts.map +1 -0
  288. package/lib/typescript/lib/commonjs/BetRouter/types/credentials.d.ts +56 -0
  289. package/lib/typescript/lib/commonjs/BetRouter/types/credentials.d.ts.map +1 -0
  290. package/lib/typescript/lib/commonjs/BetRouter/types/index.d.ts +2 -0
  291. package/lib/typescript/lib/commonjs/BetRouter/types/index.d.ts.map +1 -0
  292. package/lib/typescript/lib/commonjs/BetRouter/types/jobs.d.ts +2 -0
  293. package/lib/typescript/lib/commonjs/BetRouter/types/jobs.d.ts.map +1 -0
  294. package/lib/typescript/lib/commonjs/BetRouter/types/leagues.d.ts +2 -0
  295. package/lib/typescript/lib/commonjs/BetRouter/types/leagues.d.ts.map +1 -0
  296. package/lib/typescript/lib/commonjs/BetRouter/types/liquidity.d.ts +2 -0
  297. package/lib/typescript/lib/commonjs/BetRouter/types/liquidity.d.ts.map +1 -0
  298. package/lib/typescript/lib/commonjs/BetRouter/types/markets.d.ts +2 -0
  299. package/lib/typescript/lib/commonjs/BetRouter/types/markets.d.ts.map +1 -0
  300. package/lib/typescript/lib/commonjs/BetRouter/types/opportunities.d.ts +2 -0
  301. package/lib/typescript/lib/commonjs/BetRouter/types/opportunities.d.ts.map +1 -0
  302. package/lib/typescript/lib/commonjs/BetRouter/types/orders.d.ts +2 -0
  303. package/lib/typescript/lib/commonjs/BetRouter/types/orders.d.ts.map +1 -0
  304. package/lib/typescript/lib/commonjs/BetRouter/types/participants.d.ts +2 -0
  305. package/lib/typescript/lib/commonjs/BetRouter/types/participants.d.ts.map +1 -0
  306. package/lib/typescript/lib/commonjs/BetRouter/types/partners.d.ts +2 -0
  307. package/lib/typescript/lib/commonjs/BetRouter/types/partners.d.ts.map +1 -0
  308. package/lib/typescript/lib/commonjs/Charts/adapters/TradeChartAdapter.d.ts +87 -0
  309. package/lib/typescript/lib/commonjs/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
  310. package/lib/typescript/lib/commonjs/Charts/components/BaseLineChart.d.ts +31 -0
  311. package/lib/typescript/lib/commonjs/Charts/components/BaseLineChart.d.ts.map +1 -0
  312. package/lib/typescript/lib/commonjs/Charts/components/LivePriceChart.d.ts +45 -0
  313. package/lib/typescript/lib/commonjs/Charts/components/LivePriceChart.d.ts.map +1 -0
  314. package/lib/typescript/lib/commonjs/Charts/index.d.ts +95 -0
  315. package/lib/typescript/lib/commonjs/Charts/index.d.ts.map +1 -0
  316. package/lib/typescript/lib/commonjs/Charts/themes/chartTheme.d.ts +106 -0
  317. package/lib/typescript/lib/commonjs/Charts/themes/chartTheme.d.ts.map +1 -0
  318. package/lib/typescript/lib/commonjs/Charts/types.d.ts +2 -0
  319. package/lib/typescript/lib/commonjs/Charts/types.d.ts.map +1 -0
  320. package/lib/typescript/lib/commonjs/Charts/utils/formatters.d.ts +24 -0
  321. package/lib/typescript/lib/commonjs/Charts/utils/formatters.d.ts.map +1 -0
  322. package/lib/typescript/lib/commonjs/Components/Dropdown.d.ts.map +1 -1
  323. package/lib/typescript/lib/commonjs/Components/Icons.d.ts +5 -0
  324. package/lib/typescript/lib/commonjs/Components/Icons.d.ts.map +1 -1
  325. package/lib/typescript/lib/commonjs/LocationTracker/LocationStatus.d.ts +2 -1
  326. package/lib/typescript/lib/commonjs/LocationTracker/LocationStatus.d.ts.map +1 -1
  327. package/lib/typescript/lib/commonjs/LocationTracker/api/index.d.ts +1 -1
  328. package/lib/typescript/lib/commonjs/LocationTracker/api/index.d.ts.map +1 -1
  329. package/lib/typescript/lib/commonjs/index.d.ts +6 -1
  330. package/lib/typescript/lib/commonjs/index.d.ts.map +1 -1
  331. package/lib/typescript/lib/module/ApiOverrides/index.d.ts.map +1 -1
  332. package/lib/typescript/lib/module/BetRouter/api/index.d.ts +108 -0
  333. package/lib/typescript/lib/module/BetRouter/api/index.d.ts.map +1 -0
  334. package/lib/typescript/lib/module/BetRouter/api/types.d.ts +2 -0
  335. package/lib/typescript/lib/module/BetRouter/api/types.d.ts.map +1 -0
  336. package/lib/typescript/lib/module/BetRouter/components/AccountManager.d.ts +16 -0
  337. package/lib/typescript/lib/module/BetRouter/components/AccountManager.d.ts.map +1 -0
  338. package/lib/typescript/lib/module/BetRouter/components/AdminPortal.d.ts +9 -0
  339. package/lib/typescript/lib/module/BetRouter/components/AdminPortal.d.ts.map +1 -0
  340. package/lib/typescript/lib/module/BetRouter/components/BuyOpportunities.d.ts +16 -0
  341. package/lib/typescript/lib/module/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
  342. package/lib/typescript/lib/module/BetRouter/components/BuyOpportunityCard.d.ts +14 -0
  343. package/lib/typescript/lib/module/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
  344. package/lib/typescript/lib/module/BetRouter/components/ContestLiquidity.d.ts +11 -0
  345. package/lib/typescript/lib/module/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
  346. package/lib/typescript/lib/module/BetRouter/components/ContestSelector.d.ts +11 -0
  347. package/lib/typescript/lib/module/BetRouter/components/ContestSelector.d.ts.map +1 -0
  348. package/lib/typescript/lib/module/BetRouter/components/MyOpportunities.d.ts +8 -0
  349. package/lib/typescript/lib/module/BetRouter/components/MyOpportunities.d.ts.map +1 -0
  350. package/lib/typescript/lib/module/BetRouter/components/OpportunityDetailModal.d.ts +15 -0
  351. package/lib/typescript/lib/module/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
  352. package/lib/typescript/lib/module/BetRouter/components/OpportunityHistory.d.ts +9 -0
  353. package/lib/typescript/lib/module/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
  354. package/lib/typescript/lib/module/BetRouter/components/PartnerCredentials.d.ts +11 -0
  355. package/lib/typescript/lib/module/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
  356. package/lib/typescript/lib/module/BetRouter/components/PlacedOpportunityModal.d.ts +12 -0
  357. package/lib/typescript/lib/module/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
  358. package/lib/typescript/lib/module/BetRouter/components/admin/AutoFillView.d.ts +4 -0
  359. package/lib/typescript/lib/module/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
  360. package/lib/typescript/lib/module/BetRouter/components/admin/ConfigManager.d.ts +4 -0
  361. package/lib/typescript/lib/module/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
  362. package/lib/typescript/lib/module/BetRouter/components/admin/JobManager.d.ts +4 -0
  363. package/lib/typescript/lib/module/BetRouter/components/admin/JobManager.d.ts.map +1 -0
  364. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueContests.d.ts +9 -0
  365. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
  366. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueInfo.d.ts +6 -0
  367. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
  368. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueParticipants.d.ts +8 -0
  369. package/lib/typescript/lib/module/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
  370. package/lib/typescript/lib/module/BetRouter/index.d.ts +9 -0
  371. package/lib/typescript/lib/module/BetRouter/index.d.ts.map +1 -0
  372. package/lib/typescript/lib/module/BetRouter/layouts/DesktopAdminLayout.d.ts +9 -0
  373. package/lib/typescript/lib/module/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
  374. package/lib/typescript/lib/module/BetRouter/layouts/DesktopLayout.d.ts +20 -0
  375. package/lib/typescript/lib/module/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
  376. package/lib/typescript/lib/module/BetRouter/layouts/MobileAdminLayout.d.ts +9 -0
  377. package/lib/typescript/lib/module/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
  378. package/lib/typescript/lib/module/BetRouter/layouts/MobileLayout.d.ts +20 -0
  379. package/lib/typescript/lib/module/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
  380. package/lib/typescript/lib/module/BetRouter/types/accounts.d.ts +2 -0
  381. package/lib/typescript/lib/module/BetRouter/types/accounts.d.ts.map +1 -0
  382. package/lib/typescript/lib/module/BetRouter/types/api-contracts.d.ts +742 -0
  383. package/lib/typescript/lib/module/BetRouter/types/api-contracts.d.ts.map +1 -0
  384. package/lib/typescript/lib/module/BetRouter/types/config.d.ts +2 -0
  385. package/lib/typescript/lib/module/BetRouter/types/config.d.ts.map +1 -0
  386. package/lib/typescript/lib/module/BetRouter/types/contests.d.ts +2 -0
  387. package/lib/typescript/lib/module/BetRouter/types/contests.d.ts.map +1 -0
  388. package/lib/typescript/lib/module/BetRouter/types/credentials.d.ts +55 -0
  389. package/lib/typescript/lib/module/BetRouter/types/credentials.d.ts.map +1 -0
  390. package/lib/typescript/lib/module/BetRouter/types/index.d.ts +14 -0
  391. package/lib/typescript/lib/module/BetRouter/types/index.d.ts.map +1 -0
  392. package/lib/typescript/lib/module/BetRouter/types/jobs.d.ts +2 -0
  393. package/lib/typescript/lib/module/BetRouter/types/jobs.d.ts.map +1 -0
  394. package/lib/typescript/lib/module/BetRouter/types/leagues.d.ts +2 -0
  395. package/lib/typescript/lib/module/BetRouter/types/leagues.d.ts.map +1 -0
  396. package/lib/typescript/lib/module/BetRouter/types/liquidity.d.ts +2 -0
  397. package/lib/typescript/lib/module/BetRouter/types/liquidity.d.ts.map +1 -0
  398. package/lib/typescript/lib/module/BetRouter/types/markets.d.ts +2 -0
  399. package/lib/typescript/lib/module/BetRouter/types/markets.d.ts.map +1 -0
  400. package/lib/typescript/lib/module/BetRouter/types/opportunities.d.ts +2 -0
  401. package/lib/typescript/lib/module/BetRouter/types/opportunities.d.ts.map +1 -0
  402. package/lib/typescript/lib/module/BetRouter/types/orders.d.ts +2 -0
  403. package/lib/typescript/lib/module/BetRouter/types/orders.d.ts.map +1 -0
  404. package/lib/typescript/lib/module/BetRouter/types/participants.d.ts +2 -0
  405. package/lib/typescript/lib/module/BetRouter/types/participants.d.ts.map +1 -0
  406. package/lib/typescript/lib/module/BetRouter/types/partners.d.ts +2 -0
  407. package/lib/typescript/lib/module/BetRouter/types/partners.d.ts.map +1 -0
  408. package/lib/typescript/lib/module/Charts/adapters/TradeChartAdapter.d.ts +81 -0
  409. package/lib/typescript/lib/module/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
  410. package/lib/typescript/lib/module/Charts/components/BaseLineChart.d.ts +31 -0
  411. package/lib/typescript/lib/module/Charts/components/BaseLineChart.d.ts.map +1 -0
  412. package/lib/typescript/lib/module/Charts/components/LivePriceChart.d.ts +41 -0
  413. package/lib/typescript/lib/module/Charts/components/LivePriceChart.d.ts.map +1 -0
  414. package/lib/typescript/lib/module/Charts/index.d.ts +6 -0
  415. package/lib/typescript/lib/module/Charts/index.d.ts.map +1 -0
  416. package/lib/typescript/lib/module/Charts/themes/chartTheme.d.ts +102 -0
  417. package/lib/typescript/lib/module/Charts/themes/chartTheme.d.ts.map +1 -0
  418. package/lib/typescript/lib/module/Charts/types.d.ts +2 -0
  419. package/lib/typescript/lib/module/Charts/types.d.ts.map +1 -0
  420. package/lib/typescript/lib/module/Charts/utils/formatters.d.ts +14 -0
  421. package/lib/typescript/lib/module/Charts/utils/formatters.d.ts.map +1 -0
  422. package/lib/typescript/lib/module/Components/Dropdown.d.ts.map +1 -1
  423. package/lib/typescript/lib/module/Components/Icons.d.ts +5 -0
  424. package/lib/typescript/lib/module/Components/Icons.d.ts.map +1 -1
  425. package/lib/typescript/lib/module/Components/index.d.ts +1 -0
  426. package/lib/typescript/lib/module/Components/index.d.ts.map +1 -1
  427. package/lib/typescript/lib/module/LocationTracker/LocationStatus.d.ts +2 -1
  428. package/lib/typescript/lib/module/LocationTracker/LocationStatus.d.ts.map +1 -1
  429. package/lib/typescript/lib/module/LocationTracker/api/index.d.ts +1 -1
  430. package/lib/typescript/lib/module/index.d.ts +3 -1
  431. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  432. package/lib/typescript/src/ApiOverrides/index.d.ts.map +1 -1
  433. package/lib/typescript/src/BetRouter/api/index.d.ts +115 -0
  434. package/lib/typescript/src/BetRouter/api/index.d.ts.map +1 -0
  435. package/lib/typescript/src/BetRouter/api/types.d.ts +2 -0
  436. package/lib/typescript/src/BetRouter/api/types.d.ts.map +1 -0
  437. package/lib/typescript/src/BetRouter/components/AccountManager.d.ts +18 -0
  438. package/lib/typescript/src/BetRouter/components/AccountManager.d.ts.map +1 -0
  439. package/lib/typescript/src/BetRouter/components/AdminPortal.d.ts +15 -0
  440. package/lib/typescript/src/BetRouter/components/AdminPortal.d.ts.map +1 -0
  441. package/lib/typescript/src/BetRouter/components/BuyOpportunities.d.ts +24 -0
  442. package/lib/typescript/src/BetRouter/components/BuyOpportunities.d.ts.map +1 -0
  443. package/lib/typescript/src/BetRouter/components/BuyOpportunityCard.d.ts +19 -0
  444. package/lib/typescript/src/BetRouter/components/BuyOpportunityCard.d.ts.map +1 -0
  445. package/lib/typescript/src/BetRouter/components/ContestLiquidity.d.ts +15 -0
  446. package/lib/typescript/src/BetRouter/components/ContestLiquidity.d.ts.map +1 -0
  447. package/lib/typescript/src/BetRouter/components/ContestSelector.d.ts +13 -0
  448. package/lib/typescript/src/BetRouter/components/ContestSelector.d.ts.map +1 -0
  449. package/lib/typescript/src/BetRouter/components/MyOpportunities.d.ts +16 -0
  450. package/lib/typescript/src/BetRouter/components/MyOpportunities.d.ts.map +1 -0
  451. package/lib/typescript/src/BetRouter/components/OpportunityDetailModal.d.ts +21 -0
  452. package/lib/typescript/src/BetRouter/components/OpportunityDetailModal.d.ts.map +1 -0
  453. package/lib/typescript/src/BetRouter/components/OpportunityHistory.d.ts +20 -0
  454. package/lib/typescript/src/BetRouter/components/OpportunityHistory.d.ts.map +1 -0
  455. package/lib/typescript/src/BetRouter/components/PartnerCredentials.d.ts +12 -0
  456. package/lib/typescript/src/BetRouter/components/PartnerCredentials.d.ts.map +1 -0
  457. package/lib/typescript/src/BetRouter/components/PlacedOpportunityModal.d.ts +18 -0
  458. package/lib/typescript/src/BetRouter/components/PlacedOpportunityModal.d.ts.map +1 -0
  459. package/lib/typescript/src/BetRouter/components/admin/AutoFillView.d.ts +4 -0
  460. package/lib/typescript/src/BetRouter/components/admin/AutoFillView.d.ts.map +1 -0
  461. package/lib/typescript/src/BetRouter/components/admin/ConfigManager.d.ts +4 -0
  462. package/lib/typescript/src/BetRouter/components/admin/ConfigManager.d.ts.map +1 -0
  463. package/lib/typescript/src/BetRouter/components/admin/JobManager.d.ts +4 -0
  464. package/lib/typescript/src/BetRouter/components/admin/JobManager.d.ts.map +1 -0
  465. package/lib/typescript/src/BetRouter/components/admin/LeagueContests.d.ts +9 -0
  466. package/lib/typescript/src/BetRouter/components/admin/LeagueContests.d.ts.map +1 -0
  467. package/lib/typescript/src/BetRouter/components/admin/LeagueInfo.d.ts +8 -0
  468. package/lib/typescript/src/BetRouter/components/admin/LeagueInfo.d.ts.map +1 -0
  469. package/lib/typescript/src/BetRouter/components/admin/LeagueParticipants.d.ts +8 -0
  470. package/lib/typescript/src/BetRouter/components/admin/LeagueParticipants.d.ts.map +1 -0
  471. package/lib/typescript/src/BetRouter/index.d.ts +16 -0
  472. package/lib/typescript/src/BetRouter/index.d.ts.map +1 -0
  473. package/lib/typescript/src/BetRouter/layouts/DesktopAdminLayout.d.ts +15 -0
  474. package/lib/typescript/src/BetRouter/layouts/DesktopAdminLayout.d.ts.map +1 -0
  475. package/lib/typescript/src/BetRouter/layouts/DesktopLayout.d.ts +44 -0
  476. package/lib/typescript/src/BetRouter/layouts/DesktopLayout.d.ts.map +1 -0
  477. package/lib/typescript/src/BetRouter/layouts/MobileAdminLayout.d.ts +15 -0
  478. package/lib/typescript/src/BetRouter/layouts/MobileAdminLayout.d.ts.map +1 -0
  479. package/lib/typescript/src/BetRouter/layouts/MobileLayout.d.ts +44 -0
  480. package/lib/typescript/src/BetRouter/layouts/MobileLayout.d.ts.map +1 -0
  481. package/lib/typescript/src/BetRouter/types/accounts.d.ts +19 -0
  482. package/lib/typescript/src/BetRouter/types/accounts.d.ts.map +1 -0
  483. package/lib/typescript/src/BetRouter/types/api-contracts.d.ts +1071 -0
  484. package/lib/typescript/src/BetRouter/types/api-contracts.d.ts.map +1 -0
  485. package/lib/typescript/src/BetRouter/types/config.d.ts +12 -0
  486. package/lib/typescript/src/BetRouter/types/config.d.ts.map +1 -0
  487. package/lib/typescript/src/BetRouter/types/contests.d.ts +34 -0
  488. package/lib/typescript/src/BetRouter/types/contests.d.ts.map +1 -0
  489. package/lib/typescript/src/BetRouter/types/credentials.d.ts +24 -0
  490. package/lib/typescript/src/BetRouter/types/credentials.d.ts.map +1 -0
  491. package/lib/typescript/src/BetRouter/types/index.d.ts +14 -0
  492. package/lib/typescript/src/BetRouter/types/index.d.ts.map +1 -0
  493. package/lib/typescript/src/BetRouter/types/jobs.d.ts +35 -0
  494. package/lib/typescript/src/BetRouter/types/jobs.d.ts.map +1 -0
  495. package/lib/typescript/src/BetRouter/types/leagues.d.ts +26 -0
  496. package/lib/typescript/src/BetRouter/types/leagues.d.ts.map +1 -0
  497. package/lib/typescript/src/BetRouter/types/liquidity.d.ts +14 -0
  498. package/lib/typescript/src/BetRouter/types/liquidity.d.ts.map +1 -0
  499. package/lib/typescript/src/BetRouter/types/markets.d.ts +87 -0
  500. package/lib/typescript/src/BetRouter/types/markets.d.ts.map +1 -0
  501. package/lib/typescript/src/BetRouter/types/opportunities.d.ts +88 -0
  502. package/lib/typescript/src/BetRouter/types/opportunities.d.ts.map +1 -0
  503. package/lib/typescript/src/BetRouter/types/orders.d.ts +34 -0
  504. package/lib/typescript/src/BetRouter/types/orders.d.ts.map +1 -0
  505. package/lib/typescript/src/BetRouter/types/participants.d.ts +33 -0
  506. package/lib/typescript/src/BetRouter/types/participants.d.ts.map +1 -0
  507. package/lib/typescript/src/BetRouter/types/partners.d.ts +11 -0
  508. package/lib/typescript/src/BetRouter/types/partners.d.ts.map +1 -0
  509. package/lib/typescript/src/Charts/adapters/TradeChartAdapter.d.ts +117 -0
  510. package/lib/typescript/src/Charts/adapters/TradeChartAdapter.d.ts.map +1 -0
  511. package/lib/typescript/src/Charts/components/BaseLineChart.d.ts +40 -0
  512. package/lib/typescript/src/Charts/components/BaseLineChart.d.ts.map +1 -0
  513. package/lib/typescript/src/Charts/components/LivePriceChart.d.ts +13 -0
  514. package/lib/typescript/src/Charts/components/LivePriceChart.d.ts.map +1 -0
  515. package/lib/typescript/src/Charts/index.d.ts +28 -0
  516. package/lib/typescript/src/Charts/index.d.ts.map +1 -0
  517. package/lib/typescript/src/Charts/themes/chartTheme.d.ts +78 -0
  518. package/lib/typescript/src/Charts/themes/chartTheme.d.ts.map +1 -0
  519. package/lib/typescript/src/Charts/types.d.ts +155 -0
  520. package/lib/typescript/src/Charts/types.d.ts.map +1 -0
  521. package/lib/typescript/src/Charts/utils/formatters.d.ts +66 -0
  522. package/lib/typescript/src/Charts/utils/formatters.d.ts.map +1 -0
  523. package/lib/typescript/src/Components/Dropdown.d.ts.map +1 -1
  524. package/lib/typescript/src/Components/Icons.d.ts +1 -0
  525. package/lib/typescript/src/Components/Icons.d.ts.map +1 -1
  526. package/lib/typescript/src/Components/index.d.ts +1 -0
  527. package/lib/typescript/src/Components/index.d.ts.map +1 -1
  528. package/lib/typescript/src/LocationTracker/LocationStatus.d.ts +2 -1
  529. package/lib/typescript/src/LocationTracker/LocationStatus.d.ts.map +1 -1
  530. package/lib/typescript/src/LocationTracker/api/index.d.ts +3 -1
  531. package/lib/typescript/src/LocationTracker/api/index.d.ts.map +1 -1
  532. package/lib/typescript/src/index.d.ts +4 -1
  533. package/lib/typescript/src/index.d.ts.map +1 -1
  534. package/package.json +4 -2
  535. package/src/ApiOverrides/index.ts +4 -0
  536. package/src/BetRouter/api/index.ts +854 -0
  537. package/src/BetRouter/api/types.ts +0 -0
  538. package/src/BetRouter/components/AccountManager.tsx +533 -0
  539. package/src/BetRouter/components/AdminPortal.tsx +44 -0
  540. package/src/BetRouter/components/BuyOpportunities.tsx +491 -0
  541. package/src/BetRouter/components/BuyOpportunityCard.tsx +331 -0
  542. package/src/BetRouter/components/ContestLiquidity.tsx +613 -0
  543. package/src/BetRouter/components/ContestSelector.tsx +179 -0
  544. package/src/BetRouter/components/MyOpportunities.tsx +279 -0
  545. package/src/BetRouter/components/MyOpportunities.tsx.bak +440 -0
  546. package/src/BetRouter/components/OpportunityDetailModal.tsx +360 -0
  547. package/src/BetRouter/components/OpportunityHistory.tsx +408 -0
  548. package/src/BetRouter/components/PartnerCredentials.tsx +212 -0
  549. package/src/BetRouter/components/PlacedOpportunityModal.tsx +192 -0
  550. package/src/BetRouter/components/admin/AutoFillView.tsx +275 -0
  551. package/src/BetRouter/components/admin/ConfigManager.tsx +596 -0
  552. package/src/BetRouter/components/admin/JobManager.tsx +758 -0
  553. package/src/BetRouter/components/admin/LeagueContests.tsx +2443 -0
  554. package/src/BetRouter/components/admin/LeagueInfo.tsx +253 -0
  555. package/src/BetRouter/components/admin/LeagueParticipants.tsx +662 -0
  556. package/src/BetRouter/index.tsx +453 -0
  557. package/src/BetRouter/layouts/DesktopAdminLayout.tsx +348 -0
  558. package/src/BetRouter/layouts/DesktopLayout.tsx +292 -0
  559. package/src/BetRouter/layouts/MobileAdminLayout.tsx +387 -0
  560. package/src/BetRouter/layouts/MobileLayout.tsx +325 -0
  561. package/src/BetRouter/types/ADMIN_PORTAL.md +863 -0
  562. package/src/BetRouter/types/ADMIN_PORTAL_SIMPLIFIED.md +1881 -0
  563. package/src/BetRouter/types/CREDENTIALS_EXAMPLE.md +350 -0
  564. package/src/BetRouter/types/LIQUIDITY_CLIENT_GUIDE.md +399 -0
  565. package/src/BetRouter/types/MARKET_LINKING_WORKFLOW.md +682 -0
  566. package/src/BetRouter/types/MARKET_LINKING_WORKFLOW_V2.md +627 -0
  567. package/src/BetRouter/types/README.md +249 -0
  568. package/src/BetRouter/types/accounts.ts +21 -0
  569. package/src/BetRouter/types/api-contracts.ts +1164 -0
  570. package/src/BetRouter/types/config.ts +12 -0
  571. package/src/BetRouter/types/contests.ts +37 -0
  572. package/src/BetRouter/types/credentials.ts +99 -0
  573. package/src/BetRouter/types/index.ts +16 -0
  574. package/src/BetRouter/types/jobs.ts +37 -0
  575. package/src/BetRouter/types/leagues.ts +29 -0
  576. package/src/BetRouter/types/liquidity.ts +15 -0
  577. package/src/BetRouter/types/markets.ts +94 -0
  578. package/src/BetRouter/types/opportunities.ts +107 -0
  579. package/src/BetRouter/types/orders.ts +51 -0
  580. package/src/BetRouter/types/participants.ts +34 -0
  581. package/src/BetRouter/types/partners.ts +10 -0
  582. package/src/Charts/README.md +310 -0
  583. package/src/Charts/adapters/TradeChartAdapter.ts +471 -0
  584. package/src/Charts/components/BaseLineChart.tsx +293 -0
  585. package/src/Charts/components/LivePriceChart.tsx +521 -0
  586. package/src/Charts/index.tsx +62 -0
  587. package/src/Charts/themes/chartTheme.ts +113 -0
  588. package/src/Charts/types.ts +160 -0
  589. package/src/Charts/utils/formatters.ts +182 -0
  590. package/src/Components/Dropdown.tsx +6 -3
  591. package/src/Components/Icons.tsx +12 -0
  592. package/src/Components/index.tsx +4 -0
  593. package/src/LocationTracker/LocationStatus.tsx +4 -3
  594. package/src/LocationTracker/api/index.tsx +2 -2
  595. package/src/index.tsx +6 -0
  596. package/src/types.d.ts +410 -2
@@ -0,0 +1,758 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { View, Text, Button } from "../../../Components/Themed";
3
+ import { ActivityIndicator, TouchableOpacity, ScrollView, TextInput, Modal } from 'react-native';
4
+ import { useColors } from '../../../constants/useColors';
5
+ import { BetRouterApi } from '../../api';
6
+ import { Icons } from '../../../Components';
7
+ import type { RouterJobProps, RouterJobStatusProps } from '../../types';
8
+
9
+ const JobManager = () => {
10
+ const Colors = useColors();
11
+
12
+ // State
13
+ const [loading, setLoading] = useState(true);
14
+ const [jobs, setJobs] = useState<RouterJobProps[]>([]);
15
+ const [statusJobs, setStatusJobs] = useState<RouterJobProps[]>([]); // Jobs related to statuses
16
+ const [recentStatuses, setRecentStatuses] = useState<RouterJobStatusProps[]>([]);
17
+ const [statusesLoading, setStatusesLoading] = useState(false);
18
+ const [statusesPage, setStatusesPage] = useState(0);
19
+ const [hasMoreStatuses, setHasMoreStatuses] = useState(false);
20
+ const [totalStatusCount, setTotalStatusCount] = useState(0);
21
+
22
+ // Modal states
23
+ const [showCreateModal, setShowCreateModal] = useState(false);
24
+ const [showEditModal, setShowEditModal] = useState(false);
25
+ const [showChildStatusModal, setShowChildStatusModal] = useState(false);
26
+ const [selectedJob, setSelectedJob] = useState<RouterJobProps | null>(null);
27
+ const [selectedParentStatus, setSelectedParentStatus] = useState<RouterJobStatusProps | null>(null);
28
+ const [childStatuses, setChildStatuses] = useState<RouterJobStatusProps[]>([]);
29
+
30
+ // Form states
31
+ const [formData, setFormData] = useState({
32
+ job_key: '',
33
+ name: '',
34
+ description: '',
35
+ frequency: '',
36
+ frequency_type: 'minutes' as 'minutes' | 'hours' | 'days' | 'seconds'
37
+ });
38
+
39
+ const STATUSES_PER_PAGE = 50;
40
+
41
+ useEffect(() => {
42
+ loadJobs();
43
+ loadRecentStatuses(0);
44
+ }, []);
45
+
46
+ const loadJobs = async () => {
47
+ setLoading(true);
48
+ try {
49
+ const result = await BetRouterApi.BetRouter.JobApi.getJobs();
50
+ if (result.jobs) {
51
+ setJobs(result.jobs);
52
+ }
53
+ } catch (error) {
54
+ console.error('Failed to load jobs:', error);
55
+ alert('Error loading jobs: ' + (error as any).message);
56
+ } finally {
57
+ setLoading(false);
58
+ }
59
+ };
60
+
61
+ const loadRecentStatuses = async (offset: number) => {
62
+ setStatusesLoading(true);
63
+ try {
64
+ const result = await BetRouterApi.BetRouter.JobApi.getRecentStatuses(STATUSES_PER_PAGE, offset);
65
+ if (result.statuses) {
66
+ setRecentStatuses(result.statuses);
67
+ setStatusJobs(result.jobs || []); // Store the jobs related to these statuses
68
+ setTotalStatusCount(result.count || 0);
69
+ setHasMoreStatuses(false);
70
+ }
71
+ } catch (error) {
72
+ console.error('Failed to load job statuses:', error);
73
+ } finally {
74
+ setStatusesLoading(false);
75
+ }
76
+ };
77
+
78
+ const handlePageChange = (newPage: number) => {
79
+ setStatusesPage(newPage);
80
+ loadRecentStatuses(newPage * STATUSES_PER_PAGE);
81
+ };
82
+
83
+ const handleCreateJob = async () => {
84
+ try {
85
+ if (!formData.job_key || !formData.name || !formData.frequency) {
86
+ alert('Please fill in all required fields');
87
+ return;
88
+ }
89
+
90
+ const frequency = parseInt(formData.frequency);
91
+ if (isNaN(frequency) || frequency <= 0) {
92
+ alert('Frequency must be a positive number');
93
+ return;
94
+ }
95
+
96
+ await BetRouterApi.BetRouter.JobApi.createJob(
97
+ formData.job_key,
98
+ formData.name,
99
+ formData.description,
100
+ frequency,
101
+ formData.frequency_type as any
102
+ );
103
+
104
+ alert(`Job "${formData.name}" created successfully!`);
105
+ setShowCreateModal(false);
106
+ resetForm();
107
+ loadJobs();
108
+ } catch (error) {
109
+ console.error('Failed to create job:', error);
110
+ alert('Error creating job: ' + (error as any).message);
111
+ }
112
+ };
113
+
114
+ const handleUpdateJob = async () => {
115
+ if (!selectedJob) return;
116
+
117
+ try {
118
+ const frequency = parseInt(formData.frequency);
119
+ if (isNaN(frequency) || frequency <= 0) {
120
+ alert('Frequency must be a positive number');
121
+ return;
122
+ }
123
+
124
+ await BetRouterApi.BetRouter.JobApi.updateJob(
125
+ selectedJob.router_job_id,
126
+ {
127
+ name: formData.name,
128
+ description: formData.description,
129
+ frequency: frequency,
130
+ frequency_type: formData.frequency_type as any
131
+ }
132
+ );
133
+
134
+ alert(`Job "${formData.name}" updated successfully!`);
135
+ setShowEditModal(false);
136
+ resetForm();
137
+ loadJobs();
138
+ } catch (error) {
139
+ console.error('Failed to update job:', error);
140
+ alert('Error updating job: ' + (error as any).message);
141
+ }
142
+ };
143
+
144
+ const handleDeleteJob = async (job: RouterJobProps) => {
145
+ if (!confirm(`Are you sure you want to delete job "${job.name}"?`)) {
146
+ return;
147
+ }
148
+
149
+ try {
150
+ await BetRouterApi.BetRouter.JobApi.deleteJob(job.router_job_id);
151
+ alert(`Job "${job.name}" deleted successfully!`);
152
+ loadJobs();
153
+ } catch (error) {
154
+ console.error('Failed to delete job:', error);
155
+ alert('Error deleting job: ' + (error as any).message);
156
+ }
157
+ };
158
+
159
+ const handleRunJob = async (job: RouterJobProps) => {
160
+ try {
161
+ setLoading(true);
162
+ await BetRouterApi.BetRouter.JobApi.queueJob(job.job_key);
163
+ alert(`Job "${job.name}" queued successfully! Created status record(s).`);
164
+ loadRecentStatuses(statusesPage * STATUSES_PER_PAGE);
165
+ loadJobs(); // Refresh to update last_success_datetime
166
+ } catch (error) {
167
+ console.error('Failed to queue job:', error);
168
+ alert('Error running job: ' + (error as any).message);
169
+ } finally {
170
+ setLoading(false);
171
+ }
172
+ };
173
+
174
+ const handleViewChildStatuses = async (parentStatus: RouterJobStatusProps) => {
175
+ try {
176
+ setSelectedParentStatus(parentStatus);
177
+ // Child statuses reference their parent via parent_job_id
178
+ // Filter recentStatuses to find children of this parent
179
+ const children = recentStatuses.filter(s => s.parent_job_id === parentStatus.job_status_id);
180
+ setChildStatuses(children);
181
+ setShowChildStatusModal(true);
182
+ } catch (error) {
183
+ console.error('Failed to load child statuses:', error);
184
+ alert('Error loading child job statuses: ' + (error as any).message);
185
+ }
186
+ };
187
+
188
+ const openEditModal = (job: RouterJobProps) => {
189
+ setSelectedJob(job);
190
+ setFormData({
191
+ job_key: job.job_key,
192
+ name: job.name,
193
+ description: job.description,
194
+ frequency: job.frequency.toString(),
195
+ frequency_type: job.frequency_type
196
+ });
197
+ setShowEditModal(true);
198
+ };
199
+
200
+ const resetForm = () => {
201
+ setFormData({
202
+ job_key: '',
203
+ name: '',
204
+ description: '',
205
+ frequency: '',
206
+ frequency_type: 'minutes'
207
+ });
208
+ setSelectedJob(null);
209
+ };
210
+
211
+ // Helper to look up job details for a status
212
+ const getJobForStatus = (status: RouterJobStatusProps): RouterJobProps | undefined => {
213
+ return statusJobs.find(job => job.router_job_id === status.router_job_id);
214
+ };
215
+
216
+ const getStatusIcon = (status: string) => {
217
+ switch (status) {
218
+ case 'success':
219
+ return '✅';
220
+ case 'failed':
221
+ return '❌';
222
+ case 'in_progress':
223
+ return '⏳';
224
+ case 'scheduled':
225
+ return '📅';
226
+ default:
227
+ return '⚪';
228
+ }
229
+ };
230
+
231
+ const getStatusColor = (status: string) => {
232
+ switch (status) {
233
+ case 'success':
234
+ return Colors.text.success;
235
+ case 'failed':
236
+ return Colors.text.error;
237
+ case 'in_progress':
238
+ return Colors.text.warning;
239
+ default:
240
+ return Colors.text.descriptionLight;
241
+ }
242
+ };
243
+
244
+ const formatDuration = (start: string, end: string | null) => {
245
+ if (!end) return 'In progress...';
246
+ const duration = new Date(end).getTime() - new Date(start).getTime();
247
+ const seconds = Math.floor(duration / 1000);
248
+ if (seconds < 60) return `${seconds}s`;
249
+ const minutes = Math.floor(seconds / 60);
250
+ return `${minutes}m ${seconds % 60}s`;
251
+ };
252
+
253
+ const formatLastRun = (datetime: string | null) => {
254
+ if (!datetime) return 'Never';
255
+ const diff = Date.now() - new Date(datetime).getTime();
256
+ const minutes = Math.floor(diff / 60000);
257
+ const hours = Math.floor(minutes / 60);
258
+ const days = Math.floor(hours / 24);
259
+
260
+ if (days > 0) return `${days} day${days > 1 ? 's' : ''} ago`;
261
+ if (hours > 0) return `${hours} hour${hours > 1 ? 's' : ''} ago`;
262
+ if (minutes > 0) return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;
263
+ return 'Just now';
264
+ };
265
+
266
+ const renderFormModal = (isEdit: boolean) => (
267
+ <Modal
268
+ visible={isEdit ? showEditModal : showCreateModal}
269
+ animationType="slide"
270
+ transparent={true}
271
+ onRequestClose={() => {
272
+ isEdit ? setShowEditModal(false) : setShowCreateModal(false);
273
+ resetForm();
274
+ }}
275
+ >
276
+ <TouchableOpacity
277
+ activeOpacity={1}
278
+ onPress={() => {
279
+ isEdit ? setShowEditModal(false) : setShowCreateModal(false);
280
+ resetForm();
281
+ }}
282
+ style={{
283
+ flex: 1,
284
+ backgroundColor: 'rgba(0,0,0,0.5)',
285
+ justifyContent: 'center',
286
+ alignItems: 'center',
287
+ padding: 20
288
+ }}
289
+ >
290
+ <TouchableOpacity
291
+ activeOpacity={1}
292
+ onPress={(e) => e.stopPropagation()}
293
+ style={{ width: '100%', maxWidth: 500 }}
294
+ >
295
+ <View type='body' style={{
296
+ borderRadius: 8,
297
+ borderWidth: 1,
298
+ borderColor: Colors.borders.light,
299
+ overflow: 'hidden'
300
+ }}>
301
+ <View type='header' style={{ padding: 16, flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
302
+ <Text theme='h1' size={18}>{isEdit ? 'Edit Job' : 'Create New Job'}</Text>
303
+ <TouchableOpacity onPress={() => {
304
+ isEdit ? setShowEditModal(false) : setShowCreateModal(false);
305
+ resetForm();
306
+ }}>
307
+ <Icons.CloseIcon size={20} color={Colors.text.h1} />
308
+ </TouchableOpacity>
309
+ </View>
310
+
311
+ <ScrollView style={{ maxHeight: 500 }}>
312
+ <View transparent style={{ padding: 16 }}>
313
+ <Text theme='h2' size={13} style={{ marginBottom: 6 }}>Job Key *</Text>
314
+ <TextInput
315
+ style={{
316
+ backgroundColor: Colors.views.input,
317
+ borderRadius: 6,
318
+ padding: 10,
319
+ color: Colors.text.h1,
320
+ marginBottom: 16,
321
+ borderWidth: 1,
322
+ borderColor: Colors.borders.light,
323
+ fontSize: 13
324
+ }}
325
+ value={formData.job_key}
326
+ onChangeText={(text) => setFormData({ ...formData, job_key: text })}
327
+ placeholder="loadContests"
328
+ placeholderTextColor={Colors.text.descriptionLight}
329
+ editable={!isEdit}
330
+ />
331
+
332
+ <Text theme='h2' size={13} style={{ marginBottom: 6 }}>Name *</Text>
333
+ <TextInput
334
+ style={{
335
+ backgroundColor: Colors.views.input,
336
+ borderRadius: 6,
337
+ padding: 10,
338
+ color: Colors.text.h1,
339
+ marginBottom: 16,
340
+ borderWidth: 1,
341
+ borderColor: Colors.borders.light,
342
+ fontSize: 13
343
+ }}
344
+ value={formData.name}
345
+ onChangeText={(text) => setFormData({ ...formData, name: text })}
346
+ placeholder="Load Contests"
347
+ placeholderTextColor={Colors.text.descriptionLight}
348
+ />
349
+
350
+ <Text theme='h2' size={13} style={{ marginBottom: 6 }}>Description</Text>
351
+ <TextInput
352
+ style={{
353
+ backgroundColor: Colors.views.input,
354
+ borderRadius: 6,
355
+ padding: 10,
356
+ color: Colors.text.h1,
357
+ marginBottom: 16,
358
+ borderWidth: 1,
359
+ borderColor: Colors.borders.light,
360
+ minHeight: 70,
361
+ fontSize: 13
362
+ }}
363
+ value={formData.description}
364
+ onChangeText={(text) => setFormData({ ...formData, description: text })}
365
+ placeholder="Loads contests for all active leagues"
366
+ placeholderTextColor={Colors.text.descriptionLight}
367
+ multiline
368
+ textAlignVertical="top"
369
+ />
370
+
371
+ <Text theme='h2' size={13} style={{ marginBottom: 6 }}>Frequency *</Text>
372
+ <View transparent style={{ flexDirection: 'row', gap: 8, marginBottom: 20 }}>
373
+ <TextInput
374
+ style={{
375
+ flex: 1,
376
+ backgroundColor: Colors.views.input,
377
+ borderRadius: 6,
378
+ padding: 10,
379
+ color: Colors.text.h1,
380
+ borderWidth: 1,
381
+ borderColor: Colors.borders.light,
382
+ fontSize: 13
383
+ }}
384
+ value={formData.frequency}
385
+ onChangeText={(text) => setFormData({ ...formData, frequency: text })}
386
+ placeholder="15"
387
+ placeholderTextColor={Colors.text.descriptionLight}
388
+ keyboardType="number-pad"
389
+ />
390
+ <View transparent style={{ flex: 1, gap: 4 }}>
391
+ {['minutes', 'hours', 'days'].map((type) => (
392
+ <TouchableOpacity
393
+ key={type}
394
+ onPress={() => setFormData({ ...formData, frequency_type: type as any })}
395
+ style={{
396
+ padding: 8,
397
+ backgroundColor: formData.frequency_type === type ? Colors.buttons.background.action : Colors.views.header,
398
+ borderRadius: 4,
399
+ borderWidth: 1,
400
+ borderColor: formData.frequency_type === type ? Colors.buttons.background.action : Colors.borders.light
401
+ }}
402
+ >
403
+ <Text
404
+ theme={formData.frequency_type === type ? 'h2' : 'description'}
405
+ size={11}
406
+ style={{
407
+ textAlign: 'center',
408
+ color: formData.frequency_type === type ? Colors.text.white : Colors.text.description
409
+ }}
410
+ >
411
+ {type}
412
+ </Text>
413
+ </TouchableOpacity>
414
+ ))}
415
+ </View>
416
+ </View>
417
+
418
+ <Button
419
+ type='success'
420
+ title={isEdit ? 'Update Job' : 'Create Job'}
421
+ onPress={isEdit ? handleUpdateJob : handleCreateJob}
422
+ />
423
+ </View>
424
+ </ScrollView>
425
+ </View>
426
+ </TouchableOpacity>
427
+ </TouchableOpacity>
428
+ </Modal>
429
+ );
430
+
431
+ const renderChildStatusModal = () => (
432
+ <Modal
433
+ visible={showChildStatusModal}
434
+ animationType="slide"
435
+ transparent={true}
436
+ onRequestClose={() => {
437
+ setShowChildStatusModal(false);
438
+ setSelectedParentStatus(null);
439
+ setChildStatuses([]);
440
+ }}
441
+ >
442
+ <TouchableOpacity
443
+ activeOpacity={1}
444
+ onPress={() => {
445
+ setShowChildStatusModal(false);
446
+ setSelectedParentStatus(null);
447
+ setChildStatuses([]);
448
+ }}
449
+ style={{
450
+ flex: 1,
451
+ backgroundColor: 'rgba(0,0,0,0.5)',
452
+ justifyContent: 'center',
453
+ alignItems: 'center',
454
+ padding: 20
455
+ }}
456
+ >
457
+ <TouchableOpacity
458
+ activeOpacity={1}
459
+ onPress={(e) => e.stopPropagation()}
460
+ style={{ width: '100%', maxWidth: 600 }}
461
+ >
462
+ <View type='body' style={{
463
+ borderRadius: 8,
464
+ borderWidth: 1,
465
+ borderColor: Colors.borders.light,
466
+ overflow: 'hidden'
467
+ }}>
468
+ <View type='header' style={{ padding: 16 }}>
469
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
470
+ <View transparent>
471
+ <Text theme='h1' size={18}>Child Jobs</Text>
472
+ {selectedParentStatus && (
473
+ <Text theme='description' size={11} style={{ marginTop: 4 }}>
474
+ {getJobForStatus(selectedParentStatus)?.name || selectedParentStatus.router_job_id} - {new Date(selectedParentStatus.start_datetime).toLocaleString()}
475
+ </Text>
476
+ )}
477
+ </View>
478
+ <TouchableOpacity onPress={() => {
479
+ setShowChildStatusModal(false);
480
+ setSelectedParentStatus(null);
481
+ setChildStatuses([]);
482
+ }}>
483
+ <Icons.CloseIcon size={20} color={Colors.text.h1} />
484
+ </TouchableOpacity>
485
+ </View>
486
+ </View>
487
+
488
+ <ScrollView style={{ maxHeight: 500 }}>
489
+ <View transparent style={{ padding: 16 }}>
490
+ {childStatuses.length === 0 ? (
491
+ <View transparent style={{ padding: 40, alignItems: 'center' }}>
492
+ <Text theme='description'>No child jobs found</Text>
493
+ </View>
494
+ ) : (
495
+ childStatuses.map((status, index) => {
496
+ const job = getJobForStatus(status);
497
+ return (
498
+ <View
499
+ key={status.job_status_id}
500
+ transparent
501
+ style={{
502
+ padding: 12,
503
+ backgroundColor: Colors.views.header,
504
+ borderRadius: 6,
505
+ marginBottom: 8,
506
+ borderLeftWidth: 3,
507
+ borderLeftColor: getStatusColor(status.status)
508
+ }}
509
+ >
510
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'space-between', marginBottom: 6 }}>
511
+ <Text theme='h2' size={14}>
512
+ {index + 1}. {job?.name || status.router_job_id}
513
+ </Text>
514
+ <Text size={16}>{getStatusIcon(status.status)}</Text>
515
+ </View>
516
+ <Text theme='description' size={11} style={{ marginBottom: 3 }}>
517
+ Job Key: {job?.job_key || 'Unknown'}
518
+ </Text>
519
+ <Text theme='description' size={11} style={{ marginBottom: 3 }}>
520
+ Started: {new Date(status.start_datetime).toLocaleTimeString()}
521
+ </Text>
522
+ <Text theme='description' size={11}>
523
+ Duration: {formatDuration(status.start_datetime, status.end_datetime)}
524
+ </Text>
525
+ </View>
526
+ );
527
+ })
528
+ )}
529
+ </View>
530
+ </ScrollView>
531
+ </View>
532
+ </TouchableOpacity>
533
+ </TouchableOpacity>
534
+ </Modal>
535
+ );
536
+
537
+ if (loading) {
538
+ return (
539
+ <View transparent style={{ padding: 40, alignItems: 'center' }}>
540
+ <ActivityIndicator size="large" color={Colors.text.h1} />
541
+ </View>
542
+ );
543
+ }
544
+
545
+ const totalPages = Math.ceil(totalStatusCount / STATUSES_PER_PAGE);
546
+
547
+ return (
548
+ <View transparent>
549
+ {/* Header */}
550
+ <View transparent style={{ marginBottom: 24 }}>
551
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
552
+ <View transparent>
553
+ <Text theme='h1' size={24}>Job Manager</Text>
554
+ <Text theme='description' size={14} style={{ marginTop: 8 }}>
555
+ Manage automated background jobs
556
+ </Text>
557
+ </View>
558
+ <Button
559
+ type='success'
560
+ title='+ New Job'
561
+ onPress={() => setShowCreateModal(true)}
562
+ />
563
+ </View>
564
+ </View>
565
+
566
+ {/* Jobs List */}
567
+ <View type='body' style={{ borderRadius: 8, borderWidth: 1, borderColor: Colors.borders.light, overflow: 'hidden', marginBottom: 24 }}>
568
+ <View type='header' style={{ padding: 16 }}>
569
+ <Text theme='h2' size={16}>Configured Jobs</Text>
570
+ <Text theme='description' size={12} style={{ marginTop: 4 }}>
571
+ {jobs.length} job{jobs.length !== 1 ? 's' : ''} configured
572
+ </Text>
573
+ </View>
574
+
575
+ <View transparent style={{ padding: 16 }}>
576
+ {jobs.length === 0 ? (
577
+ <View transparent style={{ padding: 40, alignItems: 'center' }}>
578
+ <Text theme='description'>No jobs configured yet</Text>
579
+ </View>
580
+ ) : (
581
+ jobs.map((job) => (
582
+ <View
583
+ key={job.router_job_id}
584
+ transparent
585
+ style={{
586
+ padding: 12,
587
+ backgroundColor: Colors.views.header,
588
+ borderRadius: 6,
589
+ marginBottom: 8
590
+ }}
591
+ >
592
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
593
+ <View transparent style={{ flex: 1, marginRight: 12 }}>
594
+ <Text theme='h2' size={14}>{job.name}</Text>
595
+ <Text theme='description' size={11} style={{ marginTop: 4 }}>
596
+ {job.description}
597
+ </Text>
598
+ <Text theme='description' size={11} style={{ marginTop: 6 }}>
599
+ Runs every {job.frequency} {job.frequency_type}
600
+ </Text>
601
+ <Text theme='description' size={11} style={{ marginTop: 2 }}>
602
+ Last success: {formatLastRun(job.last_success_datetime)}
603
+ </Text>
604
+ </View>
605
+ <View transparent style={{ gap: 6, minWidth: 100 }}>
606
+ <Button
607
+ type='success'
608
+ title='Run Now'
609
+ onPress={() => handleRunJob(job)}
610
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
611
+ />
612
+ <Button
613
+ type='action'
614
+ title='Edit'
615
+ onPress={() => openEditModal(job)}
616
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
617
+ />
618
+ <Button
619
+ type='error'
620
+ title='Delete'
621
+ onPress={() => handleDeleteJob(job)}
622
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
623
+ />
624
+ </View>
625
+ </View>
626
+ </View>
627
+ ))
628
+ )}
629
+ </View>
630
+ </View>
631
+
632
+ {/* Job Execution History */}
633
+ <View type='body' style={{ borderRadius: 8, borderWidth: 1, borderColor: Colors.borders.light, overflow: 'hidden' }}>
634
+ <View type='header' style={{ padding: 16, flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }}>
635
+ <View transparent>
636
+ <Text theme='h2' size={16}>Job Execution History</Text>
637
+ <Text theme='description' size={12} style={{ marginTop: 4 }}>
638
+ Recent job runs and their status
639
+ </Text>
640
+ </View>
641
+ <Button
642
+ type='action'
643
+ title='Refresh'
644
+ onPress={() => loadRecentStatuses(statusesPage * STATUSES_PER_PAGE)}
645
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
646
+ />
647
+ </View>
648
+
649
+ <View transparent style={{ padding: 16 }}>
650
+ {statusesLoading ? (
651
+ <View transparent style={{ padding: 40, alignItems: 'center' }}>
652
+ <ActivityIndicator size="large" color={Colors.text.h1} />
653
+ </View>
654
+ ) : recentStatuses.length === 0 ? (
655
+ <View transparent style={{ padding: 40, alignItems: 'center' }}>
656
+ <Text theme='description'>No job executions yet</Text>
657
+ </View>
658
+ ) : (
659
+ <>
660
+ <Text theme='description' size={11} style={{ marginBottom: 12 }}>
661
+ Showing {statusesPage * STATUSES_PER_PAGE + 1}-{Math.min((statusesPage + 1) * STATUSES_PER_PAGE, totalStatusCount)} of {totalStatusCount} executions
662
+ </Text>
663
+
664
+ {recentStatuses.map((status) => {
665
+ const job = getJobForStatus(status);
666
+ const isParent = !!status.parent_job_id === false; // If it has no parent, it could be a parent
667
+ const childCount = recentStatuses.filter(s => s.parent_job_id === status.job_status_id).length;
668
+
669
+ return (
670
+ <View
671
+ key={status.job_status_id}
672
+ transparent
673
+ style={{
674
+ padding: 12,
675
+ backgroundColor: Colors.views.header,
676
+ borderRadius: 6,
677
+ marginBottom: 8,
678
+ borderLeftWidth: 3,
679
+ borderLeftColor: getStatusColor(status.status)
680
+ }}
681
+ >
682
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'space-between' }}>
683
+ <View transparent style={{ flex: 1, marginRight: 12 }}>
684
+ <View transparent style={{ flexDirection: 'row', alignItems: 'center', gap: 8, marginBottom: 4 }}>
685
+ <Text size={16}>{getStatusIcon(status.status)}</Text>
686
+ <Text theme='h2' size={14}>{job?.name || status.router_job_id}</Text>
687
+ {isParent && childCount > 0 && (
688
+ <View transparent style={{
689
+ backgroundColor: Colors.buttons.background.action,
690
+ paddingHorizontal: 6,
691
+ paddingVertical: 2,
692
+ borderRadius: 3
693
+ }}>
694
+ <Text size={9} style={{ color: Colors.text.white }}>PARENT</Text>
695
+ </View>
696
+ )}
697
+ </View>
698
+ <Text theme='description' size={11} style={{ marginTop: 2 }}>
699
+ Started: {new Date(status.start_datetime).toLocaleString()}
700
+ </Text>
701
+ <Text theme='description' size={11} style={{ marginTop: 2 }}>
702
+ Duration: {formatDuration(status.start_datetime, status.end_datetime)}
703
+ </Text>
704
+ {isParent && childCount > 0 && (
705
+ <Text theme='description' size={11} style={{ marginTop: 2 }}>
706
+ {childCount} child job{childCount > 1 ? 's' : ''} executed
707
+ </Text>
708
+ )}
709
+ </View>
710
+ {isParent && childCount > 0 && (
711
+ <Button
712
+ type='action'
713
+ title='View Children'
714
+ onPress={() => handleViewChildStatuses(status)}
715
+ style={{ paddingVertical: 6, paddingHorizontal: 10 }}
716
+ />
717
+ )}
718
+ </View>
719
+ </View>
720
+ );
721
+ })}
722
+
723
+ {/* Pagination */}
724
+ {totalPages > 1 && (
725
+ <View transparent style={{ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', gap: 12, marginTop: 16 }}>
726
+ <Button
727
+ type='action'
728
+ title='Previous'
729
+ onPress={() => handlePageChange(statusesPage - 1)}
730
+ disabled={statusesPage === 0}
731
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
732
+ />
733
+ <Text theme='description' size={12}>
734
+ Page {statusesPage + 1} of {totalPages}
735
+ </Text>
736
+ <Button
737
+ type='action'
738
+ title='Next'
739
+ onPress={() => handlePageChange(statusesPage + 1)}
740
+ disabled={!hasMoreStatuses}
741
+ style={{ paddingVertical: 6, paddingHorizontal: 12 }}
742
+ />
743
+ </View>
744
+ )}
745
+ </>
746
+ )}
747
+ </View>
748
+ </View>
749
+
750
+ {/* Modals */}
751
+ {renderFormModal(false)}
752
+ {renderFormModal(true)}
753
+ {renderChildStatusModal()}
754
+ </View>
755
+ );
756
+ };
757
+
758
+ export default JobManager;