beatsaber-bot-core 0.2.0-rc.13 → 0.2.0-rc.15

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 (338) hide show
  1. package/dist/cjs/cmd/bind/{bind-beatleader.js → bind-beatleader.cjs} +1 -1
  2. package/dist/cjs/cmd/bind/{bind-beatsaver.js → bind-beatsaver.cjs} +1 -1
  3. package/dist/cjs/cmd/bind/{bind-id-beatleader.js → bind-id-beatleader.cjs} +2 -2
  4. package/dist/cjs/cmd/bind/{bind-id-beatsaver.js → bind-id-beatsaver.cjs} +2 -2
  5. package/dist/cjs/cmd/bind/{bind-scoresaber.js → bind-scoresaber.cjs} +2 -2
  6. package/dist/cjs/cmd/bind/{index.js → index.cjs} +5 -5
  7. package/dist/cjs/cmd/bsmap/{id-search.js → id-search.cjs} +3 -3
  8. package/dist/cjs/cmd/bsmap/{key-search.js → key-search.cjs} +2 -2
  9. package/dist/cjs/cmd/bsmap/{latest.js → latest.cjs} +2 -2
  10. package/dist/cjs/cmd/config/index.cjs +1 -0
  11. package/dist/cjs/cmd/deprecated/{tmp.js → tmp.cjs} +2 -2
  12. package/dist/cjs/cmd/{index.js → index.cjs} +12 -12
  13. package/dist/cjs/cmd/index.cjs.map +1 -0
  14. package/dist/cjs/cmd/{rank.js → rank.cjs} +4 -4
  15. package/dist/cjs/cmd/{score.js → score.cjs} +6 -6
  16. package/dist/cjs/cmd/subscribe/{beatleader.js → beatleader.cjs} +2 -2
  17. package/dist/cjs/cmd/subscribe/{beatsaver.js → beatsaver.cjs} +2 -2
  18. package/dist/cjs/cmd/subscribe/{id-beatleader-score.js → id-beatleader-score.cjs} +2 -2
  19. package/dist/cjs/cmd/subscribe/{id-beatsaver-mapper.js → id-beatsaver-mapper.cjs} +2 -2
  20. package/dist/cjs/cmd/subscribe/{index.js → index.cjs} +6 -6
  21. package/dist/cjs/cmd/subscribe/{subjoin.js → subjoin.cjs} +3 -3
  22. package/dist/cjs/cmd/subscribe/{subleave.js → subleave.cjs} +2 -2
  23. package/dist/cjs/cmd/subscribe/{unsubscribe.js → unsubscribe.cjs} +3 -3
  24. package/dist/cjs/components/components/{RankDifficulty.js → RankDifficulty.cjs} +2 -2
  25. package/dist/cjs/components/components/base/{avatar.js → avatar.cjs} +1 -1
  26. package/dist/cjs/components/components/{bl-rank-score-item.js → bl-rank-score-item.cjs} +4 -4
  27. package/dist/cjs/components/components/{bl-score-item.js → bl-score-item.cjs} +2 -2
  28. package/dist/cjs/components/components/bl-score-item.cjs.map +1 -0
  29. package/dist/cjs/components/components/{characteristic.js → characteristic.cjs} +1 -1
  30. package/dist/cjs/components/components/{flag.js → flag.cjs} +2 -2
  31. package/dist/cjs/components/components/icons/{BeatLeader.js → BeatLeader.cjs} +1 -1
  32. package/dist/cjs/components/components/icons/{RankIcon.js → RankIcon.cjs} +3 -3
  33. package/dist/cjs/components/components/icons/{ScoreSaberIcon.js → ScoreSaberIcon.cjs} +1 -1
  34. package/dist/cjs/components/components/{progressbar.js → progressbar.cjs} +1 -1
  35. package/dist/cjs/components/components/{scoreItem.js → scoreItem.cjs} +2 -2
  36. package/dist/cjs/components/components/scoreItem.cjs.map +1 -0
  37. package/dist/cjs/components/components/{scoregraph.js → scoregraph.cjs} +3 -3
  38. package/dist/cjs/components/components/{skill-graph.js → skill-graph.cjs} +1 -1
  39. package/dist/cjs/components/components/{socre-badge.js → socre-badge.cjs} +1 -1
  40. package/dist/cjs/components/components/{ss-rank-score-item.js → ss-rank-score-item.cjs} +4 -4
  41. package/dist/cjs/components/components/{ss-score-item.js → ss-score-item.cjs} +2 -2
  42. package/dist/cjs/components/components/ss-score-item.cjs.map +1 -0
  43. package/dist/cjs/components/{index.js → index.cjs} +2 -2
  44. package/dist/cjs/components/pages/{bl-player.js → bl-player.cjs} +6 -6
  45. package/dist/cjs/components/pages/{bl-score-with-rank.js → bl-score-with-rank.cjs} +7 -7
  46. package/dist/cjs/components/pages/{bl-score.js → bl-score.cjs} +3 -3
  47. package/dist/cjs/components/pages/{bs-map.js → bs-map.cjs} +4 -4
  48. package/dist/cjs/components/pages/{index.js → index.cjs} +5 -5
  49. package/dist/cjs/components/pages/{ss-player.js → ss-player.cjs} +3 -3
  50. package/dist/cjs/components/utils/bl/{beatleader.js → beatleader.cjs} +1 -1
  51. package/dist/cjs/components/utils/bl/{blheadset.js → blheadset.cjs} +1 -1
  52. package/dist/cjs/components/utils/bl/{bsorDecoder.js → bsorDecoder.cjs} +1 -1
  53. package/dist/cjs/components/utils/bl/{bsorReplayAcc.js → bsorReplayAcc.cjs} +1 -1
  54. package/dist/cjs/components/utils/bl/{getPart.js → getPart.cjs} +1 -1
  55. package/dist/cjs/components/utils/bl/{stastic.js → stastic.cjs} +1 -1
  56. package/dist/cjs/components/utils/{canvas.js → canvas.cjs} +1 -1
  57. package/dist/cjs/components/utils/{format.js → format.cjs} +5 -5
  58. package/dist/cjs/components/utils/format.cjs.map +1 -0
  59. package/dist/cjs/components/utils/{getMods.js → getMods.cjs} +1 -1
  60. package/dist/cjs/components/utils/{index.js → index.cjs} +1 -1
  61. package/dist/cjs/components/utils/{qrcode.js → qrcode.cjs} +1 -1
  62. package/dist/cjs/components/utils/{sleep.js → sleep.cjs} +1 -1
  63. package/dist/cjs/components/utils/{tag-format.js → tag-format.cjs} +1 -1
  64. package/dist/cjs/components/utils/{tw-join.js → tw-join.cjs} +1 -1
  65. package/dist/cjs/config.cjs +55 -0
  66. package/dist/cjs/config.cjs.map +1 -0
  67. package/dist/cjs/{index.js → index.cjs} +1 -1
  68. package/dist/cjs/index.cjs.map +1 -0
  69. package/dist/cjs/infra/errors/{index.js → index.cjs} +1 -1
  70. package/dist/cjs/infra/i18n/{default.js → default.cjs} +1 -1
  71. package/dist/cjs/infra/i18n/{index.js → index.cjs} +1 -1
  72. package/dist/cjs/infra/i18n/{parser.js → parser.cjs} +1 -1
  73. package/dist/cjs/infra/i18n/{util.js → util.cjs} +1 -1
  74. package/dist/cjs/infra/{index.js → index.cjs} +4 -4
  75. package/dist/cjs/infra/index.cjs.map +1 -0
  76. package/dist/cjs/infra/s3/{index.js → index.cjs} +35 -4
  77. package/dist/cjs/infra/s3/index.cjs.map +1 -0
  78. package/dist/cjs/infra/support/{cache.js → cache.cjs} +1 -1
  79. package/dist/cjs/infra/support/fetch/{error.js → error.cjs} +1 -1
  80. package/dist/cjs/infra/support/fetch/{index.js → index.cjs} +14 -5
  81. package/dist/cjs/infra/support/fetch/index.cjs.map +1 -0
  82. package/dist/cjs/infra/support/fetch/{ofetch.js → ofetch.cjs} +6 -13
  83. package/dist/cjs/infra/support/fetch/ofetch.cjs.map +1 -0
  84. package/dist/cjs/infra/support/render/{index.js → index.cjs} +49 -15
  85. package/dist/cjs/infra/support/render/index.cjs.map +1 -0
  86. package/dist/cjs/infra/support/render/{puppeteer.js → puppeteer.cjs} +1 -1
  87. package/dist/cjs/interface/{bot.js → bot.cjs} +1 -1
  88. package/dist/cjs/interface/cmd/{builder.js → builder.cjs} +2 -2
  89. package/dist/cjs/interface/cmd/{type.js → type.cjs} +1 -1
  90. package/dist/cjs/interface/db/{index.js → index.cjs} +1 -1
  91. package/dist/cjs/interface/db/{models.js → models.cjs} +1 -1
  92. package/dist/cjs/interface/{index.js → index.cjs} +1 -1
  93. package/dist/cjs/interface/{logger.js → logger.cjs} +1 -1
  94. package/dist/cjs/schedules/{index.js → index.cjs} +4 -3
  95. package/dist/cjs/schedules/index.cjs.map +1 -0
  96. package/dist/cjs/schedules/{interface.js → interface.cjs} +1 -1
  97. package/dist/cjs/schedules/{temp.js → temp.cjs} +1 -1
  98. package/dist/cjs/service/api/base/{aioclient.js → aioclient.cjs} +2 -2
  99. package/dist/cjs/service/api/base/{blclient.js → blclient.cjs} +2 -2
  100. package/dist/cjs/service/api/base/{bsclient.js → bsclient.cjs} +3 -3
  101. package/dist/cjs/service/api/base/{index.js → index.cjs} +1 -1
  102. package/dist/cjs/service/api/base/{ssclient.js → ssclient.cjs} +3 -3
  103. package/dist/cjs/service/api/{index.js → index.cjs} +15 -6
  104. package/dist/cjs/service/api/index.cjs.map +1 -0
  105. package/dist/cjs/service/api/interfaces/aiosaber/{index.js → index.cjs} +1 -1
  106. package/dist/cjs/service/api/interfaces/beatleader/{bsor.js → bsor.cjs} +1 -1
  107. package/dist/cjs/service/api/interfaces/beatleader/{index.js → index.cjs} +1 -1
  108. package/dist/cjs/service/api/interfaces/beatleader/{req.js → req.cjs} +1 -1
  109. package/dist/cjs/service/api/interfaces/beatleader/{score.js → score.cjs} +1 -1
  110. package/dist/cjs/service/api/interfaces/beatleader/{user.js → user.cjs} +1 -1
  111. package/dist/cjs/service/api/interfaces/{beatsaver/ws.js → beatleader/ws.cjs} +1 -1
  112. package/dist/cjs/service/api/interfaces/beatsaver/{alert.js → alert.cjs} +1 -1
  113. package/dist/cjs/service/api/interfaces/beatsaver/{bsmap.js → bsmap.cjs} +1 -1
  114. package/dist/cjs/service/api/interfaces/beatsaver/{index.js → index.cjs} +1 -1
  115. package/dist/cjs/service/api/interfaces/beatsaver/{resp.js → resp.cjs} +1 -1
  116. package/dist/cjs/service/api/interfaces/beatsaver/{user.js → user.cjs} +1 -1
  117. package/dist/cjs/service/api/interfaces/{scoresaber/ws.js → beatsaver/ws.cjs} +1 -1
  118. package/dist/cjs/service/api/interfaces/{index.js → index.cjs} +1 -1
  119. package/dist/cjs/service/api/interfaces/scoresaber/{index.js → index.cjs} +1 -1
  120. package/dist/cjs/service/api/interfaces/scoresaber/{item.js → item.cjs} +1 -1
  121. package/dist/cjs/service/api/interfaces/scoresaber/{leaderboard.js → leaderboard.cjs} +1 -1
  122. package/dist/cjs/service/api/interfaces/scoresaber/{resp.js → resp.cjs} +1 -1
  123. package/dist/cjs/service/api/interfaces/scoresaber/{user.js → user.cjs} +1 -1
  124. package/dist/cjs/service/api/interfaces/{beatleader/ws.js → scoresaber/ws.cjs} +1 -1
  125. package/dist/cjs/service/api/{sortScore.js → sortScore.cjs} +1 -1
  126. package/dist/cjs/service/{index.js → index.cjs} +1 -1
  127. package/dist/cjs/service/{preference.js → preference.cjs} +1 -1
  128. package/dist/cjs/service/render/{index.js → index.cjs} +22 -9
  129. package/dist/cjs/service/render/index.cjs.map +1 -0
  130. package/dist/cjs/service/render/{interfaces.js → interfaces.cjs} +1 -1
  131. package/dist/cjs/utils/{index.js → index.cjs} +1 -1
  132. package/dist/cjs/ws/{beatleader.js → beatleader.cjs} +1 -1
  133. package/dist/cjs/ws/{beatsaver.js → beatsaver.cjs} +2 -2
  134. package/dist/cjs/ws/bl-filter.cjs +1 -0
  135. package/dist/cjs/ws/{handler.js → handler.cjs} +1 -1
  136. package/dist/cjs/ws/{index.js → index.cjs} +1 -1
  137. package/dist/esm/cmd/bind/bind-id-beatleader.js +1 -1
  138. package/dist/esm/cmd/bind/bind-id-beatsaver.js +1 -1
  139. package/dist/esm/cmd/bind/bind-scoresaber.js +1 -1
  140. package/dist/esm/cmd/bind/index.js +5 -5
  141. package/dist/esm/cmd/bsmap/id-search.js +2 -2
  142. package/dist/esm/cmd/bsmap/key-search.js +1 -1
  143. package/dist/esm/cmd/bsmap/latest.js +1 -1
  144. package/dist/esm/cmd/deprecated/tmp.js +1 -1
  145. package/dist/esm/cmd/index.js +11 -11
  146. package/dist/esm/cmd/index.js.map +1 -1
  147. package/dist/esm/cmd/rank.js +3 -3
  148. package/dist/esm/cmd/score.js +5 -5
  149. package/dist/esm/cmd/subscribe/beatleader.js +1 -1
  150. package/dist/esm/cmd/subscribe/beatsaver.js +1 -1
  151. package/dist/esm/cmd/subscribe/id-beatleader-score.js +1 -1
  152. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +1 -1
  153. package/dist/esm/cmd/subscribe/index.js +5 -5
  154. package/dist/esm/cmd/subscribe/subjoin.js +2 -2
  155. package/dist/esm/cmd/subscribe/subleave.js +1 -1
  156. package/dist/esm/cmd/subscribe/unsubscribe.js +2 -2
  157. package/dist/esm/components/components/RankDifficulty.js +1 -1
  158. package/dist/esm/components/components/bl-rank-score-item.js +2 -2
  159. package/dist/esm/components/components/bl-score-item.js +2 -2
  160. package/dist/esm/components/components/bl-score-item.js.map +1 -1
  161. package/dist/esm/components/components/icons/RankIcon.js +2 -2
  162. package/dist/esm/components/components/scoreItem.js +1 -1
  163. package/dist/esm/components/components/scoreItem.js.map +1 -1
  164. package/dist/esm/components/components/scoregraph.js +3 -3
  165. package/dist/esm/components/components/socre-badge.js +1 -1
  166. package/dist/esm/components/components/ss-rank-score-item.js +2 -2
  167. package/dist/esm/components/components/ss-score-item.js +2 -2
  168. package/dist/esm/components/components/ss-score-item.js.map +1 -1
  169. package/dist/esm/components/pages/bl-player.js +7 -7
  170. package/dist/esm/components/pages/bl-score-with-rank.js +6 -6
  171. package/dist/esm/components/pages/bl-score.js +3 -3
  172. package/dist/esm/components/pages/bs-map.js +5 -5
  173. package/dist/esm/components/pages/index.js +5 -5
  174. package/dist/esm/components/pages/ss-player.js +3 -3
  175. package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
  176. package/dist/esm/components/utils/format.js +3 -3
  177. package/dist/esm/components/utils/format.js.map +1 -1
  178. package/dist/esm/components/utils/index.js +2 -2
  179. package/dist/esm/config.js +31 -0
  180. package/dist/esm/config.js.map +1 -1
  181. package/dist/esm/index.js +10 -10
  182. package/dist/esm/index.js.map +1 -1
  183. package/dist/esm/infra/i18n/index.js +2 -2
  184. package/dist/esm/infra/index.js +5 -5
  185. package/dist/esm/infra/index.js.map +1 -1
  186. package/dist/esm/infra/s3/index.js +31 -1
  187. package/dist/esm/infra/s3/index.js.map +1 -1
  188. package/dist/esm/infra/support/fetch/index.js +16 -7
  189. package/dist/esm/infra/support/fetch/index.js.map +1 -1
  190. package/dist/esm/infra/support/fetch/ofetch.js +4 -10
  191. package/dist/esm/infra/support/fetch/ofetch.js.map +1 -1
  192. package/dist/esm/infra/support/render/index.js +47 -13
  193. package/dist/esm/infra/support/render/index.js.map +1 -1
  194. package/dist/esm/interface/cmd/builder.js +1 -1
  195. package/dist/esm/interface/index.js +4 -4
  196. package/dist/esm/schedules/index.js +4 -3
  197. package/dist/esm/schedules/index.js.map +1 -1
  198. package/dist/esm/service/api/base/aioclient.js +1 -1
  199. package/dist/esm/service/api/base/blclient.js +1 -1
  200. package/dist/esm/service/api/base/bsclient.js +2 -2
  201. package/dist/esm/service/api/base/index.js +4 -4
  202. package/dist/esm/service/api/base/ssclient.js +2 -2
  203. package/dist/esm/service/api/index.js +16 -7
  204. package/dist/esm/service/api/index.js.map +1 -1
  205. package/dist/esm/service/api/interfaces/beatleader/index.js +5 -5
  206. package/dist/esm/service/api/interfaces/beatsaver/index.js +5 -5
  207. package/dist/esm/service/api/interfaces/scoresaber/index.js +3 -3
  208. package/dist/esm/service/index.js +2 -2
  209. package/dist/esm/service/render/index.js +22 -9
  210. package/dist/esm/service/render/index.js.map +1 -1
  211. package/dist/esm/ws/beatsaver.js +1 -1
  212. package/dist/esm/ws/index.js +3 -3
  213. package/dist/types/index.d.ts +205 -123
  214. package/package.json +27 -17
  215. package/dist/cjs/cmd/config/index.js +0 -1
  216. package/dist/cjs/cmd/index.js.map +0 -1
  217. package/dist/cjs/components/components/bl-score-item.js.map +0 -1
  218. package/dist/cjs/components/components/scoreItem.js.map +0 -1
  219. package/dist/cjs/components/components/ss-score-item.js.map +0 -1
  220. package/dist/cjs/components/utils/format.js.map +0 -1
  221. package/dist/cjs/config.js +0 -16
  222. package/dist/cjs/config.js.map +0 -1
  223. package/dist/cjs/index.js.map +0 -1
  224. package/dist/cjs/infra/index.js.map +0 -1
  225. package/dist/cjs/infra/s3/index.js.map +0 -1
  226. package/dist/cjs/infra/support/fetch/index.js.map +0 -1
  227. package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
  228. package/dist/cjs/infra/support/render/index.js.map +0 -1
  229. package/dist/cjs/schedules/index.js.map +0 -1
  230. package/dist/cjs/service/api/index.js.map +0 -1
  231. package/dist/cjs/service/render/index.js.map +0 -1
  232. package/dist/cjs/ws/bl-filter.js +0 -1
  233. /package/dist/cjs/cmd/bind/{bind-beatleader.js.map → bind-beatleader.cjs.map} +0 -0
  234. /package/dist/cjs/cmd/bind/{bind-beatsaver.js.map → bind-beatsaver.cjs.map} +0 -0
  235. /package/dist/cjs/cmd/bind/{bind-id-beatleader.js.map → bind-id-beatleader.cjs.map} +0 -0
  236. /package/dist/cjs/cmd/bind/{bind-id-beatsaver.js.map → bind-id-beatsaver.cjs.map} +0 -0
  237. /package/dist/cjs/cmd/bind/{bind-scoresaber.js.map → bind-scoresaber.cjs.map} +0 -0
  238. /package/dist/cjs/cmd/bind/{index.js.map → index.cjs.map} +0 -0
  239. /package/dist/cjs/cmd/bsmap/{id-search.js.map → id-search.cjs.map} +0 -0
  240. /package/dist/cjs/cmd/bsmap/{key-search.js.map → key-search.cjs.map} +0 -0
  241. /package/dist/cjs/cmd/bsmap/{latest.js.map → latest.cjs.map} +0 -0
  242. /package/dist/cjs/cmd/config/{index.js.map → index.cjs.map} +0 -0
  243. /package/dist/cjs/cmd/deprecated/{tmp.js.map → tmp.cjs.map} +0 -0
  244. /package/dist/cjs/cmd/{rank.js.map → rank.cjs.map} +0 -0
  245. /package/dist/cjs/cmd/{score.js.map → score.cjs.map} +0 -0
  246. /package/dist/cjs/cmd/subscribe/{beatleader.js.map → beatleader.cjs.map} +0 -0
  247. /package/dist/cjs/cmd/subscribe/{beatsaver.js.map → beatsaver.cjs.map} +0 -0
  248. /package/dist/cjs/cmd/subscribe/{id-beatleader-score.js.map → id-beatleader-score.cjs.map} +0 -0
  249. /package/dist/cjs/cmd/subscribe/{id-beatsaver-mapper.js.map → id-beatsaver-mapper.cjs.map} +0 -0
  250. /package/dist/cjs/cmd/subscribe/{index.js.map → index.cjs.map} +0 -0
  251. /package/dist/cjs/cmd/subscribe/{subjoin.js.map → subjoin.cjs.map} +0 -0
  252. /package/dist/cjs/cmd/subscribe/{subleave.js.map → subleave.cjs.map} +0 -0
  253. /package/dist/cjs/cmd/subscribe/{unsubscribe.js.map → unsubscribe.cjs.map} +0 -0
  254. /package/dist/cjs/components/components/{RankDifficulty.js.map → RankDifficulty.cjs.map} +0 -0
  255. /package/dist/cjs/components/components/base/{avatar.js.map → avatar.cjs.map} +0 -0
  256. /package/dist/cjs/components/components/{bl-rank-score-item.js.map → bl-rank-score-item.cjs.map} +0 -0
  257. /package/dist/cjs/components/components/{characteristic.js.map → characteristic.cjs.map} +0 -0
  258. /package/dist/cjs/components/components/{flag.js.map → flag.cjs.map} +0 -0
  259. /package/dist/cjs/components/components/icons/{BeatLeader.js.map → BeatLeader.cjs.map} +0 -0
  260. /package/dist/cjs/components/components/icons/{RankIcon.js.map → RankIcon.cjs.map} +0 -0
  261. /package/dist/cjs/components/components/icons/{ScoreSaberIcon.js.map → ScoreSaberIcon.cjs.map} +0 -0
  262. /package/dist/cjs/components/components/{progressbar.js.map → progressbar.cjs.map} +0 -0
  263. /package/dist/cjs/components/components/{scoregraph.js.map → scoregraph.cjs.map} +0 -0
  264. /package/dist/cjs/components/components/{skill-graph.js.map → skill-graph.cjs.map} +0 -0
  265. /package/dist/cjs/components/components/{socre-badge.js.map → socre-badge.cjs.map} +0 -0
  266. /package/dist/cjs/components/components/{ss-rank-score-item.js.map → ss-rank-score-item.cjs.map} +0 -0
  267. /package/dist/cjs/components/{index.js.map → index.cjs.map} +0 -0
  268. /package/dist/cjs/components/pages/{bl-player.js.map → bl-player.cjs.map} +0 -0
  269. /package/dist/cjs/components/pages/{bl-score-with-rank.js.map → bl-score-with-rank.cjs.map} +0 -0
  270. /package/dist/cjs/components/pages/{bl-score.js.map → bl-score.cjs.map} +0 -0
  271. /package/dist/cjs/components/pages/{bs-map.js.map → bs-map.cjs.map} +0 -0
  272. /package/dist/cjs/components/pages/{index.js.map → index.cjs.map} +0 -0
  273. /package/dist/cjs/components/pages/{ss-player.js.map → ss-player.cjs.map} +0 -0
  274. /package/dist/cjs/components/utils/bl/{beatleader.js.map → beatleader.cjs.map} +0 -0
  275. /package/dist/cjs/components/utils/bl/{blheadset.js.map → blheadset.cjs.map} +0 -0
  276. /package/dist/cjs/components/utils/bl/{bsorDecoder.js.map → bsorDecoder.cjs.map} +0 -0
  277. /package/dist/cjs/components/utils/bl/{bsorReplayAcc.js.map → bsorReplayAcc.cjs.map} +0 -0
  278. /package/dist/cjs/components/utils/bl/{getPart.js.map → getPart.cjs.map} +0 -0
  279. /package/dist/cjs/components/utils/bl/{stastic.js.map → stastic.cjs.map} +0 -0
  280. /package/dist/cjs/components/utils/{canvas.js.map → canvas.cjs.map} +0 -0
  281. /package/dist/cjs/components/utils/{getMods.js.map → getMods.cjs.map} +0 -0
  282. /package/dist/cjs/components/utils/{index.js.map → index.cjs.map} +0 -0
  283. /package/dist/cjs/components/utils/{qrcode.js.map → qrcode.cjs.map} +0 -0
  284. /package/dist/cjs/components/utils/{sleep.js.map → sleep.cjs.map} +0 -0
  285. /package/dist/cjs/components/utils/{tag-format.js.map → tag-format.cjs.map} +0 -0
  286. /package/dist/cjs/components/utils/{tw-join.js.map → tw-join.cjs.map} +0 -0
  287. /package/dist/cjs/infra/errors/{index.js.map → index.cjs.map} +0 -0
  288. /package/dist/cjs/infra/i18n/{default.js.map → default.cjs.map} +0 -0
  289. /package/dist/cjs/infra/i18n/{index.js.map → index.cjs.map} +0 -0
  290. /package/dist/cjs/infra/i18n/{parser.js.map → parser.cjs.map} +0 -0
  291. /package/dist/cjs/infra/i18n/{util.js.map → util.cjs.map} +0 -0
  292. /package/dist/cjs/infra/support/{cache.js.map → cache.cjs.map} +0 -0
  293. /package/dist/cjs/infra/support/fetch/{error.js.map → error.cjs.map} +0 -0
  294. /package/dist/cjs/infra/support/render/{puppeteer.js.map → puppeteer.cjs.map} +0 -0
  295. /package/dist/cjs/interface/{bot.js.map → bot.cjs.map} +0 -0
  296. /package/dist/cjs/interface/cmd/{builder.js.map → builder.cjs.map} +0 -0
  297. /package/dist/cjs/interface/cmd/{type.js.map → type.cjs.map} +0 -0
  298. /package/dist/cjs/interface/db/{index.js.map → index.cjs.map} +0 -0
  299. /package/dist/cjs/interface/db/{models.js.map → models.cjs.map} +0 -0
  300. /package/dist/cjs/interface/{index.js.map → index.cjs.map} +0 -0
  301. /package/dist/cjs/interface/{logger.js.map → logger.cjs.map} +0 -0
  302. /package/dist/cjs/schedules/{interface.js.map → interface.cjs.map} +0 -0
  303. /package/dist/cjs/schedules/{temp.js.map → temp.cjs.map} +0 -0
  304. /package/dist/cjs/service/api/base/{aioclient.js.map → aioclient.cjs.map} +0 -0
  305. /package/dist/cjs/service/api/base/{blclient.js.map → blclient.cjs.map} +0 -0
  306. /package/dist/cjs/service/api/base/{bsclient.js.map → bsclient.cjs.map} +0 -0
  307. /package/dist/cjs/service/api/base/{index.js.map → index.cjs.map} +0 -0
  308. /package/dist/cjs/service/api/base/{ssclient.js.map → ssclient.cjs.map} +0 -0
  309. /package/dist/cjs/service/api/interfaces/aiosaber/{index.js.map → index.cjs.map} +0 -0
  310. /package/dist/cjs/service/api/interfaces/beatleader/{bsor.js.map → bsor.cjs.map} +0 -0
  311. /package/dist/cjs/service/api/interfaces/beatleader/{index.js.map → index.cjs.map} +0 -0
  312. /package/dist/cjs/service/api/interfaces/beatleader/{req.js.map → req.cjs.map} +0 -0
  313. /package/dist/cjs/service/api/interfaces/beatleader/{score.js.map → score.cjs.map} +0 -0
  314. /package/dist/cjs/service/api/interfaces/beatleader/{user.js.map → user.cjs.map} +0 -0
  315. /package/dist/cjs/service/api/interfaces/beatleader/{ws.js.map → ws.cjs.map} +0 -0
  316. /package/dist/cjs/service/api/interfaces/beatsaver/{alert.js.map → alert.cjs.map} +0 -0
  317. /package/dist/cjs/service/api/interfaces/beatsaver/{bsmap.js.map → bsmap.cjs.map} +0 -0
  318. /package/dist/cjs/service/api/interfaces/beatsaver/{index.js.map → index.cjs.map} +0 -0
  319. /package/dist/cjs/service/api/interfaces/beatsaver/{resp.js.map → resp.cjs.map} +0 -0
  320. /package/dist/cjs/service/api/interfaces/beatsaver/{user.js.map → user.cjs.map} +0 -0
  321. /package/dist/cjs/service/api/interfaces/beatsaver/{ws.js.map → ws.cjs.map} +0 -0
  322. /package/dist/cjs/service/api/interfaces/{index.js.map → index.cjs.map} +0 -0
  323. /package/dist/cjs/service/api/interfaces/scoresaber/{index.js.map → index.cjs.map} +0 -0
  324. /package/dist/cjs/service/api/interfaces/scoresaber/{item.js.map → item.cjs.map} +0 -0
  325. /package/dist/cjs/service/api/interfaces/scoresaber/{leaderboard.js.map → leaderboard.cjs.map} +0 -0
  326. /package/dist/cjs/service/api/interfaces/scoresaber/{resp.js.map → resp.cjs.map} +0 -0
  327. /package/dist/cjs/service/api/interfaces/scoresaber/{user.js.map → user.cjs.map} +0 -0
  328. /package/dist/cjs/service/api/interfaces/scoresaber/{ws.js.map → ws.cjs.map} +0 -0
  329. /package/dist/cjs/service/api/{sortScore.js.map → sortScore.cjs.map} +0 -0
  330. /package/dist/cjs/service/{index.js.map → index.cjs.map} +0 -0
  331. /package/dist/cjs/service/{preference.js.map → preference.cjs.map} +0 -0
  332. /package/dist/cjs/service/render/{interfaces.js.map → interfaces.cjs.map} +0 -0
  333. /package/dist/cjs/utils/{index.js.map → index.cjs.map} +0 -0
  334. /package/dist/cjs/ws/{beatleader.js.map → beatleader.cjs.map} +0 -0
  335. /package/dist/cjs/ws/{beatsaver.js.map → beatsaver.cjs.map} +0 -0
  336. /package/dist/cjs/ws/{bl-filter.js.map → bl-filter.cjs.map} +0 -0
  337. /package/dist/cjs/ws/{handler.js.map → handler.cjs.map} +0 -0
  338. /package/dist/cjs/ws/{index.js.map → index.cjs.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/service/render/index.ts"],"sourcesContent":["import {IRenderService, RenderOption} from './interfaces'\nimport { getHtml } from '@/components'\nimport { PuppeteerError, TimeoutError } from 'puppeteer-core'\nimport { Platform } from '@/interface'\nimport {getBLPlayerComp, getBLRankScoreComp, getBSMapComp, getSSPlayerComp} from '@/components/pages'\nimport {preferenceKey} from \"../preference\";\nimport {ImageRenderError, RequestError} from \"@/infra/errors\";\nimport createQrcode from \"@/components/utils/qrcode\";\nimport {APIService} from \"../api\";\nimport {BSMap} from \"../api/interfaces/beatsaver\";\nimport {CreateImageRenderOption, getImageRender, ImageRender} from \"@/infra/support/render\";\n\n\nconst getPreferenceKey = (platform: string) => {\n return platform == Platform.SS\n ? preferenceKey.ssProfileRenderImg.key\n : preferenceKey.blProfileRenderImg.key\n}\n\nexport class RenderService implements IRenderService {\n private constructor(\n private api: APIService,\n private imageRender: ImageRender\n ) {}\n\n static create(imgRenderConfig: CreateImageRenderOption & { api: APIService }) {\n const { api, ...config} = imgRenderConfig\n return new RenderService(api, getImageRender(config))\n }\n\n async renderRank(\n accountId: string,\n platform: Platform,\n renderOpts?: RenderOption\n ) {\n try {\n let bg = (await renderOpts?.userPreference?.get<string>(getPreferenceKey(platform)))\n bg = bg || 'https://www.loliapi.com/acg/pc/'\n let html: string\n if (platform == Platform.BL) {\n const { scores, userInfo } = await this.api.getBLPlayerScoresWithUserInfo(accountId)\n html = getHtml(getBLPlayerComp(scores, userInfo, bg))\n } else {\n const { scores, userInfo } = await this.api.getSSPlayerRecentScoreWithUserInfo(accountId)\n html = getHtml(getSSPlayerComp(scores, userInfo, bg))\n }\n return this.imageRender.html2img(html, {selector: '#render-result', ...renderOpts})\n }catch (e) {\n if (e instanceof TimeoutError || e instanceof PuppeteerError) {\n throw new ImageRenderError()\n }\n throw e\n }\n }\n\n async renderScore(\n scoreId: string,\n renderOpts?: RenderOption\n ) {\n const bg = (await renderOpts?.userPreference?.get<string>(preferenceKey.blScoreImg.key))\n ?? 'https://www.loliapi.com/acg/pc/'\n try {\n const { score, statistic, bsor, bsMap } =\n await this.api.getScoreAndBSMapByScoreId(scoreId)\n\n const { aroundScores, regionTopScores, difficulties } =\n await this.api.getAroundScoreAndRegionScoreByRankAndPage(\n score.leaderboardId,\n score.rank,\n score.player.country\n )\n return this.imageRender.html2img(\n getHtml(getBLRankScoreComp(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)),\n {selector: '#render-result', ...renderOpts}\n )\n }catch (e) {\n if (e instanceof RequestError) {\n throw e\n }\n throw new ImageRenderError()\n }\n }\n\n async renderMapById(\n mapId: string,\n renderOption: RenderOption\n ) {\n const map = await this.api.BeatSaver.searchMapById(mapId)\n return this.renderMap(map, renderOption)\n }\n\n async renderMap(\n bsMap: BSMap,\n renderOption?: RenderOption\n ) {\n const previewQrUrl = await createQrcode(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`)\n const bsMapQrUrl = await createQrcode(`https://beatsaver.com/maps/${bsMap.id}`)\n return this.imageRender.html2img(\n getHtml(getBSMapComp(bsMap, bsMapQrUrl, previewQrUrl)), {selector: '#render-result', ...renderOption}\n )\n }\n\n async renderUrl(url: string, renderOption?: RenderOption) {\n renderOption.onRenderStart?.()\n try {\n return this.imageRender.url2img(url, renderOption)\n }catch (e) {\n renderOption?.onRenderError?.(e)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAwB;AACxB,4BAA6C;AAC7C,uBAAyB;AACzB,mBAAiF;AACjF,wBAA4B;AAC5B,oBAA6C;AAC7C,oBAAyB;AAGzB,oBAAmE;AAGnE,MAAM,mBAAmB,CAAC,aAAqB;AAC7C,SAAO,YAAY,0BAAS,KACxB,gCAAc,mBAAmB,MACjC,gCAAc,mBAAmB;AACvC;AAEO,MAAM,cAAwC;AAAA,EAC3C,YACE,KACA,aACR;AAFQ;AACA;AAAA,EACP;AAAA,EAEH,OAAO,OAAO,iBAAgE;AAC5E,UAA0B,sBAAlB,MA1BZ,IA0B8B,IAAV,mBAAU,IAAV,CAAR;AACR,WAAO,IAAI,cAAc,SAAK,8BAAe,MAAM,CAAC;AAAA,EACtD;AAAA,EAEM,WACJ,WACA,UACA,YACA;AAAA;AAlCJ;AAmCI,UAAI;AACF,YAAI,KAAM,OAAM,8CAAY,mBAAZ,mBAA4B,IAAY,iBAAiB,QAAQ;AACjF,aAAK,MAAM;AACX,YAAI;AACJ,YAAI,YAAY,0BAAS,IAAI;AAC3B,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,8BAA8B,SAAS;AACnF,qBAAO,+BAAQ,8BAAgB,QAAQ,UAAU,EAAE,CAAC;AAAA,QACtD,OAAO;AACL,gBAAM,EAAE,QAAQ,SAAS,IAAI,MAAM,KAAK,IAAI,mCAAmC,SAAS;AACxF,qBAAO,+BAAQ,8BAAgB,QAAQ,UAAU,EAAE,CAAC;AAAA,QACtD;AACA,eAAO,KAAK,YAAY,SAAS,MAAM,iBAAC,UAAU,oBAAqB,WAAW;AAAA,MACpF,SAAQ,GAAG;AACT,YAAI,aAAa,sCAAgB,aAAa,sCAAgB;AAC5D,gBAAM,IAAI,+BAAiB;AAAA,QAC7B;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA,EAEM,YACJ,SACA,YACA;AAAA;AA1DJ;AA2DI,YAAM,MAAM,YAAM,8CAAY,mBAAZ,mBAA4B,IAAY,gCAAc,WAAW,SAAvE,YACP;AACL,UAAI;AACF,cAAM,EAAE,OAAO,WAAW,MAAM,MAAM,IACpC,MAAM,KAAK,IAAI,0BAA0B,OAAO;AAElD,cAAM,EAAE,cAAc,iBAAiB,aAAa,IAClD,MAAM,KAAK,IAAI;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM,OAAO;AAAA,QACf;AACF,eAAO,KAAK,YAAY;AAAA,cACtB,+BAAQ,iCAAmB,OAAO,cAAc,iBAAiB,cAAc,OAAO,WAAW,MAAM,EAAE,CAAC;AAAA,UAC1G,iBAAC,UAAU,oBAAqB;AAAA,QAClC;AAAA,MACF,SAAQ,GAAG;AACT,YAAI,aAAa,4BAAc;AAC7B,gBAAM;AAAA,QACR;AACA,cAAM,IAAI,+BAAiB;AAAA,MAC7B;AAAA,IACF;AAAA;AAAA,EAEM,cACJ,OACA,cACA;AAAA;AACA,YAAM,MAAM,MAAM,KAAK,IAAI,UAAU,cAAc,KAAK;AACxD,aAAO,KAAK,UAAU,KAAK,YAAY;AAAA,IACzC;AAAA;AAAA,EAEM,UACJ,OACA,cACA;AAAA;AACA,YAAM,eAAe,UAAM,cAAAA,SAAa,6CAA6C,MAAM,EAAE,EAAE;AAC/F,YAAM,aAAa,UAAM,cAAAA,SAAa,8BAA8B,MAAM,EAAE,EAAE;AAC9E,aAAO,KAAK,YAAY;AAAA,YACtB,+BAAQ,2BAAa,OAAO,YAAY,YAAY,CAAC;AAAA,QAAG,iBAAC,UAAU,oBAAqB;AAAA,MAC1F;AAAA,IACF;AAAA;AAAA,EAEM,UAAU,KAAa,cAA6B;AAAA;AAtG5D;AAuGI,yBAAa,kBAAb;AACA,UAAI;AACF,eAAO,KAAK,YAAY,QAAQ,KAAK,YAAY;AAAA,MACnD,SAAQ,GAAG;AACT,2DAAc,kBAAd,sCAA8B;AAAA,MAChC;AAAA,IACF;AAAA;AACF;","names":["createQrcode"]}
@@ -13,4 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var interfaces_exports = {};
15
15
  module.exports = __toCommonJS(interfaces_exports);
16
- //# sourceMappingURL=interfaces.js.map
16
+ //# sourceMappingURL=interfaces.cjs.map
@@ -92,4 +92,4 @@ const convertDiff = (diff) => {
92
92
  handleWSEventWithCache,
93
93
  sleep
94
94
  });
95
- //# sourceMappingURL=index.js.map
95
+ //# sourceMappingURL=index.cjs.map
@@ -89,4 +89,4 @@ class BeatleaderWSHandler {
89
89
  0 && (module.exports = {
90
90
  BeatleaderWSHandler
91
91
  });
92
- //# sourceMappingURL=beatleader.js.map
92
+ //# sourceMappingURL=beatleader.cjs.map
@@ -42,7 +42,7 @@ __export(beatsaver_exports, {
42
42
  BeatSaverWSHandler: () => BeatSaverWSHandler
43
43
  });
44
44
  module.exports = __toCommonJS(beatsaver_exports);
45
- var import_utils = require("../utils");
45
+ var import_utils = require("@/utils");
46
46
  class BeatSaverWSHandler {
47
47
  constructor(db, render, logger, config, botService) {
48
48
  __publicField(this, "logger");
@@ -128,4 +128,4 @@ class BeatSaverWSHandler {
128
128
  0 && (module.exports = {
129
129
  BeatSaverWSHandler
130
130
  });
131
- //# sourceMappingURL=beatsaver.js.map
131
+ //# sourceMappingURL=beatsaver.cjs.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=bl-filter.cjs.map
@@ -13,4 +13,4 @@ var __copyProps = (to, from, except, desc) => {
13
13
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
14
  var handler_exports = {};
15
15
  module.exports = __toCommonJS(handler_exports);
16
- //# sourceMappingURL=handler.js.map
16
+ //# sourceMappingURL=handler.cjs.map
@@ -23,4 +23,4 @@ __reExport(ws_exports, require("./handler"), module.exports);
23
23
  ...require("./beatsaver"),
24
24
  ...require("./handler")
25
25
  });
26
- //# sourceMappingURL=index.js.map
26
+ //# sourceMappingURL=index.cjs.map
@@ -22,7 +22,7 @@ import {
22
22
  BLIDNotFoundError,
23
23
  SessionPromotionCancelError,
24
24
  SessionPromotionTimeoutError
25
- } from "../../infra/errors";
25
+ } from "../../infra/errors/index.js";
26
26
  const handleBeatLeaderIDBind = (c) => __async(null, null, function* () {
27
27
  const player = yield c.services.api.BeatLeader.getPlayerInfo(c.input);
28
28
  if (!player) {
@@ -22,7 +22,7 @@ import {
22
22
  BSIDNotFoundError,
23
23
  SessionPromotionCancelError,
24
24
  SessionPromotionTimeoutError
25
- } from "../../infra/errors";
25
+ } from "../../infra/errors/index.js";
26
26
  const handleBeatSaverIDBind = (c) => __async(null, null, function* () {
27
27
  const mapper = yield c.services.api.BeatSaver.getBSMapperById(c.input);
28
28
  if (!mapper) {
@@ -22,7 +22,7 @@ import {
22
22
  SessionPromotionCancelError,
23
23
  SessionPromotionTimeoutError,
24
24
  SSIDNotFoundError
25
- } from "../../infra/errors";
25
+ } from "../../infra/errors/index.js";
26
26
  const handleScoreSaberBind = (c) => __async(null, null, function* () {
27
27
  const scoreSaberUser = yield c.services.api.ScoreSaber.getScoreUserById(c.input);
28
28
  if (!scoreSaberUser) {
@@ -18,11 +18,11 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { handleScoreSaberBind } from "./bind-scoresaber";
22
- import { Platform } from "../../interface";
23
- import { handleBeatLeaderIDBind } from "../../cmd/bind/bind-id-beatleader";
24
- import { handleBeatSaverIDBind } from "../../cmd/bind/bind-id-beatsaver";
25
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { handleScoreSaberBind } from "./bind-scoresaber.js";
22
+ import { Platform } from "../../interface/index.js";
23
+ import { handleBeatLeaderIDBind } from "../../cmd/bind/bind-id-beatleader.js";
24
+ import { handleBeatSaverIDBind } from "../../cmd/bind/bind-id-beatsaver.js";
25
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
26
26
  var bind_default = () => new CommandBuilder().setName("bind").addOption("p", "platform:string").addAlias("bbbind").addAlias("bindbs", { options: { p: "bs" } }).addAlias("bindbl", { options: { p: "bl" } }).addAlias("bindss", { options: { p: "ss" } }).addAlias("bbbindbs", { options: { p: "bs" } }).addAlias("bbbindbl", { options: { p: "bl" } }).addAlias("bbbindss", { options: { p: "ss" } }).addAlias("ssbind", { options: { p: "ss" } }).addAlias("blbind", { options: { p: "bl" } }).addAlias("bsbind", { options: { p: "bs" } }).setDescription("clear an auth account relate info").setExecutor((c) => __async(null, null, function* () {
27
27
  if (!c.options.p) {
28
28
  c.options.p = "ss";
@@ -18,8 +18,8 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { InvalidMapIdError, MapIdNotFoundError } from "../../infra/errors";
22
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { InvalidMapIdError, MapIdNotFoundError } from "../../infra/errors/index.js";
22
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
23
23
  const mapIdReg = /^[a-fA-F0-9]{1,6}$/;
24
24
  var id_search_default = () => new CommandBuilder().setName("id").addAlias("/id").addAlias("bbid").addAlias("/bbid").addAlias("!bsr").setDescription("clear an auth account relate info").setExecutor((c) => __async(null, null, function* () {
25
25
  if (!c.input || c.input && c.input.length < 1) {
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
22
  var key_search_default = () => new CommandBuilder().setName("search").addAlias("bbsou").addAlias("bbsearch").addAlias("bbmap").setDescription("search beatmap by keyword").setExecutor((c) => __async(null, null, function* () {
23
23
  let key = c.input;
24
24
  if (key.length > 15) {
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
22
  var latest_default = () => new CommandBuilder().setName("latest").addAlias("bbnew").addAlias("blnew").addAlias("ssnew").addAlias("bsnew").addAlias("/blnew").addAlias("/ssnew").addAlias("/bsnew").setDescription("get latest 3 beatmap").setExecutor((c) => __async(null, null, function* () {
23
23
  const res = yield c.services.api.BeatSaver.getLatestMaps(3);
24
24
  const text = c.session.text("commands.bsbot.latest.info");
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
22
  var tmp_default = () => new CommandBuilder().setName("lb").addAlias("/lb").addAlias("bblb").addAlias("\u4E50\u56E2\u65B0\u8D5B\u5B63").addAlias("\u4E50\u56E2\u699C\u5355").setExecutor((c) => __async(null, null, function* () {
23
23
  const [hit, score] = yield Promise.all([
24
24
  c.services.render.renderUrl("https://aiobs.ktlab.io/tmp/lb/hitcnt", {
@@ -1,14 +1,14 @@
1
- import IdSearch from "../cmd/bsmap/id-search";
2
- import KeySearch from "../cmd/bsmap/key-search";
3
- import Latest from "../cmd/bsmap/latest";
4
- import Rank from "../cmd/rank";
5
- import Score from "../cmd/score";
6
- import Subscribe from "../cmd/subscribe";
7
- import Subjoin from "../cmd/subscribe/subjoin";
8
- import Subleave from "../cmd/subscribe/subleave";
9
- import Unsubscribe from "../cmd/subscribe/unsubscribe";
10
- import Bind from "../cmd/bind";
11
- import Tmp from "../cmd/deprecated/tmp";
1
+ import IdSearch from "./bsmap/id-search.js";
2
+ import KeySearch from "./bsmap/key-search.js";
3
+ import Latest from "./bsmap/latest.js";
4
+ import Rank from "./rank.js";
5
+ import Score from "./score.js";
6
+ import Subscribe from "./subscribe/index.js";
7
+ import Subjoin from "./subscribe/subjoin.js";
8
+ import Subleave from "./subscribe/subleave.js";
9
+ import Unsubscribe from "./subscribe/unsubscribe.js";
10
+ import Bind from "./bind/index.js";
11
+ import Tmp from "./deprecated/tmp.js";
12
12
  function applyCommand(...fns) {
13
13
  return fns.map((fn) => fn());
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmd/index.ts"],"sourcesContent":["\nimport IdSearch from '@/cmd/bsmap/id-search'\nimport KeySearch from '@/cmd/bsmap/key-search'\nimport Latest from '@/cmd/bsmap/latest'\nimport Rank from '@/cmd/rank'\nimport Score from '@/cmd/score'\nimport Subscribe from '@/cmd/subscribe'\nimport Subjoin from '@/cmd/subscribe/subjoin'\nimport Subleave from '@/cmd/subscribe/subleave'\nimport Unsubscribe from '@/cmd/subscribe/unsubscribe'\nimport Bind from '@/cmd/bind'\nimport Tmp from '@/cmd/deprecated/tmp'\nimport {Command} from \"@/interface\";\n\nfunction applyCommand<CHANNEL>(...fns: (() => Command<CHANNEL>)[]) {\n return fns.map((fn) => fn())\n}\n\nexport const botCommands = <CHANNEL>() =>\n applyCommand<CHANNEL>(\n IdSearch,\n KeySearch,\n Latest,\n Rank,\n Score,\n Bind,\n Subscribe,\n Subjoin,\n Subleave,\n Unsubscribe,\n Tmp,\n // Config\n )\n\n//transport\n"],"mappings":"AACA,OAAO,cAAc;AACrB,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,WAAW;AAClB,OAAO,eAAe;AACtB,OAAO,aAAa;AACpB,OAAO,cAAc;AACrB,OAAO,iBAAiB;AACxB,OAAO,UAAU;AACjB,OAAO,SAAS;AAGhB,SAAS,gBAAyB,KAAiC;AACjE,SAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;AAC7B;AAEO,MAAM,cAAc,MACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF;","names":[]}
1
+ {"version":3,"sources":["../../../src/cmd/index.ts"],"sourcesContent":["\nimport IdSearch from './bsmap/id-search'\nimport KeySearch from './bsmap/key-search'\nimport Latest from './bsmap/latest'\nimport Rank from './rank'\nimport Score from './score'\nimport Subscribe from './subscribe'\nimport Subjoin from './subscribe/subjoin'\nimport Subleave from './subscribe/subleave'\nimport Unsubscribe from './subscribe/unsubscribe'\nimport Bind from './bind'\nimport Tmp from './deprecated/tmp'\nimport {Command} from \"@/interface\";\n\nfunction applyCommand<CHANNEL>(...fns: (() => Command<CHANNEL>)[]) {\n return fns.map((fn) => fn())\n}\n\nexport const botCommands = <CHANNEL>() =>\n applyCommand<CHANNEL>(\n IdSearch,\n KeySearch,\n Latest,\n Rank,\n Score,\n Bind,\n Subscribe,\n Subjoin,\n Subleave,\n Unsubscribe,\n Tmp,\n // Config\n )\n\n//transport\n"],"mappings":"AACA,OAAO,cAAc;AACrB,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,WAAW;AAClB,OAAO,eAAe;AACtB,OAAO,aAAa;AACpB,OAAO,cAAc;AACrB,OAAO,iBAAiB;AACxB,OAAO,UAAU;AACjB,OAAO,SAAS;AAGhB,SAAS,gBAAyB,KAAiC;AACjE,SAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;AAC7B;AAEO,MAAM,cAAc,MACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF;","names":[]}
@@ -18,9 +18,9 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../interface/cmd/builder";
22
- import { parsePlatform, Platform } from "../interface";
23
- import { UnknownUserIDError } from "../infra/errors";
21
+ import { CommandBuilder } from "../interface/cmd/builder.js";
22
+ import { parsePlatform, Platform } from "../interface/index.js";
23
+ import { UnknownUserIDError } from "../infra/errors/index.js";
24
24
  var rank_default = () => CommandBuilder.create("rank").addOption("p", "platform:string").setDescription("clear an auth account relate info").setExecutor((c) => __async(null, null, function* () {
25
25
  let uid = c.session.u.id;
26
26
  if (c.session.mentions && c.session.mentions.length > 0) {
@@ -18,14 +18,14 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../interface/cmd/builder";
22
- import { Platform } from "../interface";
23
- import { convertDiff } from "../utils";
21
+ import { CommandBuilder } from "../interface/cmd/builder.js";
22
+ import { Platform } from "../interface/index.js";
23
+ import { convertDiff } from "../utils/index.js";
24
24
  import {
25
25
  AccountBindingNotFoundError,
26
26
  ScoreNotFoundError
27
- } from "../infra/errors";
28
- import { NotFoundError } from "../infra/support/fetch/error";
27
+ } from "../infra/errors/index.js";
28
+ import { NotFoundError } from "../infra/support/fetch/error.js";
29
29
  var score_default = () => new CommandBuilder().setName("score").addOption("d", "difficulty:string").addOption("m", "mode:string").addAlias("bbscore").addAlias("/score").setExecutor((c) => __async(null, null, function* () {
30
30
  var _a;
31
31
  let uid = c.session.u.id;
@@ -37,7 +37,7 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { SubscriptionExistError } from "../../infra/errors";
40
+ import { SubscriptionExistError } from "../../infra/errors/index.js";
41
41
  const beatleader = (c) => __async(null, null, function* () {
42
42
  const { blSub } = yield c.services.db.getSubscriptionsByGID(c.session.g.id);
43
43
  if (blSub) {
@@ -37,7 +37,7 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { SubscriptionExistError } from "../../infra/errors";
40
+ import { SubscriptionExistError } from "../../infra/errors/index.js";
41
41
  const beatsaver = (c) => __async(null, null, function* () {
42
42
  const { bsMapSub } = yield c.services.db.getSubscriptionsByGID(c.session.g.id);
43
43
  if (bsMapSub) {
@@ -37,7 +37,7 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { BLIDNotFoundError, SubscriptionExistError } from "../../infra/errors";
40
+ import { BLIDNotFoundError, SubscriptionExistError } from "../../infra/errors/index.js";
41
41
  const idBeatleaderScore = (c) => __async(null, null, function* () {
42
42
  if (!c.input) {
43
43
  return;
@@ -37,7 +37,7 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { BSIDNotFoundError, SubscriptionExistError } from "../../infra/errors";
40
+ import { BSIDNotFoundError, SubscriptionExistError } from "../../infra/errors/index.js";
41
41
  const idBeatsaverMapper = (c) => __async(null, null, function* () {
42
42
  if (!c.input) {
43
43
  return;
@@ -18,11 +18,11 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
22
- import { beatleader } from "../../cmd/subscribe/beatleader";
23
- import { beatsaver } from "../../cmd/subscribe/beatsaver";
24
- import { NoneSubscriptionExistError } from "../../infra/errors";
25
- import { idBeatsaverMapper } from "../../cmd/subscribe/id-beatsaver-mapper";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
+ import { beatleader } from "../../cmd/subscribe/beatleader.js";
23
+ import { beatsaver } from "../../cmd/subscribe/beatsaver.js";
24
+ import { NoneSubscriptionExistError } from "../../infra/errors/index.js";
25
+ import { idBeatsaverMapper } from "../../cmd/subscribe/id-beatsaver-mapper.js";
26
26
  var subscribe_default = () => new CommandBuilder().setName("subscribe").addAlias("bbsub").addAlias("/subbl", { options: { type: "beatleader" } }).addAlias("/subbs", { options: { type: "beatsaver" } }).addAlias("blsub", { options: { type: "beatleader" } }).addAlias("bssub", { options: { type: "beatsaver" } }).addAlias("subbl", { options: { type: "beatleader" } }).addAlias("subbs", { options: { type: "beatsaver" } }).addAlias("subbl", { options: { type: "beatleader" } }).addAlias("submapper", { options: { type: "bsmapper" } }).addOption("type", "type:string").setDescription("clear an auth account relate info").setExecutor((c) => __async(null, null, function* () {
27
27
  var _a, _b;
28
28
  if (c.options.type === "beatsaver") {
@@ -18,8 +18,8 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
22
- import { SubscriptionNotExistError } from "../../infra/errors";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
+ import { SubscriptionNotExistError } from "../../infra/errors/index.js";
23
23
  var subjoin_default = () => new CommandBuilder().setName("subjoin").addAlias("bbjoin").addAlias("/joinbl", { options: { type: "beatleader" } }).addAlias("/joinbs", { options: { type: "beatsaver" } }).addAlias("bljoin", { options: { type: "beatleader" } }).addAlias("bsjoin", { options: { type: "beatsaver" } }).addOption("type", "type:string").setDescription("").setExecutor((c) => __async(null, null, function* () {
24
24
  const { blSub, bsMapSub } = yield c.services.db.getSubscriptionsByGID(
25
25
  c.session.g.id
@@ -18,7 +18,7 @@ var __async = (__this, __arguments, generator) => {
18
18
  step((generator = generator.apply(__this, __arguments)).next());
19
19
  });
20
20
  };
21
- import { CommandBuilder } from "../../interface/cmd/builder";
21
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
22
22
  var subleave_default = () => new CommandBuilder().setName("subleave").addAlias("bbleave").addAlias("/leavebl", { options: { type: "beatleader" } }).addAlias("/leavebs", { options: { type: "beatsaver" } }).addAlias("leavebl", { options: { type: "beatleader" } }).addAlias("leavebs", { options: { type: "beatsaver" } }).addOption("type", "type:string").setDescription("").setExecutor((c) => __async(null, null, function* () {
23
23
  const subs = yield c.services.db.getSubscriptionInfoByUGID(
24
24
  c.session.g.id,
@@ -37,11 +37,11 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { CommandBuilder } from "../../interface/cmd/builder";
40
+ import { CommandBuilder } from "../../interface/cmd/builder.js";
41
41
  import {
42
42
  BSMapperSubscriptionNotExistError,
43
43
  SubscriptionNotExistError
44
- } from "../../infra/errors";
44
+ } from "../../infra/errors/index.js";
45
45
  var unsubscribe_default = () => new CommandBuilder().setName("unsubscribe").addAlias("bbunsub").addAlias("/unsubbl", { options: { type: "beatleader" } }).addAlias("/unsubbs", { options: { type: "beatsaver" } }).addAlias("unsubbl", { options: { type: "beatleader" } }).addAlias("unsubbs", { options: { type: "beatsaver" } }).addOption("type", "type:string").setDescription("").setExecutor((c) => __async(null, null, function* () {
46
46
  const { blSub, bsMapSub, bsAlertSub } = yield c.services.db.getSubscriptionsByGID(
47
47
  c.session.g.id
@@ -19,7 +19,7 @@ var __spreadValues = (a, b) => {
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
21
  import { BarChart } from "lucide-react";
22
- import { diffConv } from "../../components/utils";
22
+ import { diffConv } from "../../components/utils/index.js";
23
23
  function RankDifficulty({
24
24
  difficulty,
25
25
  star,
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import dayjs from "dayjs";
3
- import Flags, { EarchIcon } from "../../components/components/flag";
4
- import { formatDate, numberWithCommas } from "../../components/utils";
3
+ import Flags, { EarchIcon } from "../../components/components/flag.js";
4
+ import { formatDate, numberWithCommas } from "../../components/utils/index.js";
5
5
  function BlRankScoreItem(props) {
6
6
  return /* @__PURE__ */ jsx(
7
7
  "div",
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { BarChart, Key, Pin, Star, Wrench } from "lucide-react";
3
- import { diffConv, formatRelativeTimeByDay } from "../utils";
3
+ import { diffConv, formatRelativeTimeByDay } from "../utils/index.js";
4
4
  const getModifiers = (modifiers) => {
5
5
  return modifiers ? modifiers.split(",") : [];
6
6
  };
@@ -12,7 +12,7 @@ function BeatLeaderItem({
12
12
  /* @__PURE__ */ jsxs(
13
13
  "div",
14
14
  {
15
- className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md",
15
+ className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none",
16
16
  children: [
17
17
  /* @__PURE__ */ jsx(
18
18
  "img",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/components/bl-score-item.tsx"],"sourcesContent":["import { BarChart, Key, Pin, Star, Wrench } from 'lucide-react'\nimport { diffConv, formatRelativeTimeByDay } from '../utils'\nimport {Score} from \"@/service/api/interfaces/beatleader\";\n\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\n\nexport default function BeatLeaderItem({\n item,\n}: {\n item: Score & {\n pinned?: boolean\n }\n}) {\n return (\n <div className=\"relative overflow-hidden\">\n <div\n className={'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md'}\n >\n <img\n loading={'eager'}\n src={item.leaderboard.song.coverImage}\n className={'rounded-md h-20 w-20'}\n alt={'score item cover'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {item.leaderboard.song.name}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(item.leaderboard.difficulty.difficultyName)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>\n {item.leaderboard.difficulty.stars?.toFixed(2) ?? 'none'}{' '}\n </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>\n {item.leaderboard.song.id.toLowerCase().replaceAll('x', '')}\n </span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs items-center'}>\n <span>\n {(\n (item.baseScore / item.leaderboard.difficulty.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>{item.pp.toFixed(2)}PP</span>\n <span className={'text-xs opacity-70'}>\n {formatRelativeTimeByDay(item.timepost * 1000)}\n </span>\n </div>\n <div className={'flex items-center space-x-2'}>\n {getModifiers(item.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(item.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {item.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n {item.pinned && <Pin className=\"rotate-45 h-3 w-3 my-auto\" />}\n </div>\n </div>\n )\n}\n"],"mappings":"AAoBQ,cAmBI,YAnBJ;AApBR,SAAS,UAAU,KAAK,KAAK,MAAM,cAAc;AACjD,SAAS,UAAU,+BAA+B;AAGlD,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AAEe,SAAR,eAAgC;AAAA,EACrC;AACF,GAIG;AAdH;AAeE,SACE,qBAAC,SAAI,WAAU,6BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QAEX;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,KAAK,YAAY,KAAK;AAAA,cAC3B,WAAW;AAAA,cACX,KAAK;AAAA;AAAA,UACP;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,eAAK,YAAY,KAAK;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,KAAK,YAAY,WAAW,cAAc,GACtD;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UACE;AAAA,uCAAK,YAAY,WAAW,UAA5B,mBAAmC,QAAQ,OAA3C,YAAiD;AAAA,sBAAQ;AAAA,uBAC5D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UACE,eAAK,YAAY,KAAK,GAAG,YAAY,EAAE,WAAW,KAAK,EAAE,GAC5D;AAAA,qBACF;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,uCACd;AAAA,mCAAC,UAEI;AAAA,sBAAK,YAAY,KAAK,YAAY,WAAW,WAC9C,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBAAoB;AAAA,qBAAK,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAAE;AAAA,cAC1D,oBAAC,UAAK,WAAW,sBACd,kCAAwB,KAAK,WAAW,GAAI,GAC/C;AAAA,eACF;AAAA,YACA,oBAAC,SAAI,WAAW,+BACb,uBAAa,KAAK,SAAS,EAAE,SAAS,KACrC,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,KAAK,SAAS,EAAE,IAAI,CAAC,aACjC,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH,GAEJ;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAAA,IAEA,qBAAC,SAAI,WAAU,4EACZ;AAAA,WAAK,aACJ,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F;AAAA,MAED,KAAK,UAAU,oBAAC,OAAI,WAAU,6BAA4B;AAAA,OAC7D;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/components/bl-score-item.tsx"],"sourcesContent":["import { BarChart, Key, Pin, Star, Wrench } from 'lucide-react'\nimport { diffConv, formatRelativeTimeByDay } from '../utils'\nimport {Score} from \"@/service/api/interfaces/beatleader\";\n\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\n\nexport default function BeatLeaderItem({\n item,\n}: {\n item: Score & {\n pinned?: boolean\n }\n}) {\n return (\n <div className=\"relative overflow-hidden\">\n <div\n className={'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none'}\n >\n <img\n loading={'eager'}\n src={item.leaderboard.song.coverImage}\n className={'rounded-md h-20 w-20'}\n alt={'score item cover'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {item.leaderboard.song.name}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(item.leaderboard.difficulty.difficultyName)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>\n {item.leaderboard.difficulty.stars?.toFixed(2) ?? 'none'}{' '}\n </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>\n {item.leaderboard.song.id.toLowerCase().replaceAll('x', '')}\n </span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs items-center'}>\n <span>\n {(\n (item.baseScore / item.leaderboard.difficulty.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>{item.pp.toFixed(2)}PP</span>\n <span className={'text-xs opacity-70'}>\n {formatRelativeTimeByDay(item.timepost * 1000)}\n </span>\n </div>\n <div className={'flex items-center space-x-2'}>\n {getModifiers(item.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(item.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {item.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n {item.pinned && <Pin className=\"rotate-45 h-3 w-3 my-auto\" />}\n </div>\n </div>\n )\n}\n"],"mappings":"AAoBQ,cAmBI,YAnBJ;AApBR,SAAS,UAAU,KAAK,KAAK,MAAM,cAAc;AACjD,SAAS,UAAU,+BAA+B;AAGlD,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AAEe,SAAR,eAAgC;AAAA,EACrC;AACF,GAIG;AAdH;AAeE,SACE,qBAAC,SAAI,WAAU,6BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QAEX;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,KAAK,YAAY,KAAK;AAAA,cAC3B,WAAW;AAAA,cACX,KAAK;AAAA;AAAA,UACP;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,eAAK,YAAY,KAAK;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,KAAK,YAAY,WAAW,cAAc,GACtD;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UACE;AAAA,uCAAK,YAAY,WAAW,UAA5B,mBAAmC,QAAQ,OAA3C,YAAiD;AAAA,sBAAQ;AAAA,uBAC5D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UACE,eAAK,YAAY,KAAK,GAAG,YAAY,EAAE,WAAW,KAAK,EAAE,GAC5D;AAAA,qBACF;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,uCACd;AAAA,mCAAC,UAEI;AAAA,sBAAK,YAAY,KAAK,YAAY,WAAW,WAC9C,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBAAoB;AAAA,qBAAK,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAAE;AAAA,cAC1D,oBAAC,UAAK,WAAW,sBACd,kCAAwB,KAAK,WAAW,GAAI,GAC/C;AAAA,eACF;AAAA,YACA,oBAAC,SAAI,WAAW,+BACb,uBAAa,KAAK,SAAS,EAAE,SAAS,KACrC,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,KAAK,SAAS,EAAE,IAAI,CAAC,aACjC,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH,GAEJ;AAAA,aACF;AAAA;AAAA;AAAA,IACF;AAAA,IAEA,qBAAC,SAAI,WAAU,4EACZ;AAAA,WAAK,aACJ,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F;AAAA,MAED,KAAK,UAAU,oBAAC,OAAI,WAAU,6BAA4B;AAAA,OAC7D;AAAA,KACF;AAEJ;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import BeatLeaderIcon from "./BeatLeader";
3
- import ScoreSaberIcon from "./ScoreSaberIcon";
2
+ import BeatLeaderIcon from "./BeatLeader.js";
3
+ import ScoreSaberIcon from "./ScoreSaberIcon.js";
4
4
  function RankIcon({
5
5
  blrank,
6
6
  ssrank
@@ -23,7 +23,7 @@ function ScoreItem({
23
23
  /* @__PURE__ */ jsxs(
24
24
  "div",
25
25
  {
26
- className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden",
26
+ className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none overflow-hidden",
27
27
  children: [
28
28
  /* @__PURE__ */ jsx(
29
29
  "img",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/components/scoreItem.tsx"],"sourcesContent":["/** @jsxImportSource react */\nimport { BarChart, Key, Star, Wrench } from 'lucide-react'\nimport { ScoreSaberItem } from '@/service/api/interfaces/scoresaber'\n\nconst diffConv = (diff: string) => {\n if (diff.includes('ExpertPlus')) {\n return 'E+'\n } else if (diff.includes('Expert')) {\n return 'EX'\n } else if (diff.includes('Hard')) {\n return 'H'\n } else if (diff.includes('Normal')) {\n return 'N'\n }\n return 'E'\n}\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\nexport default function ScoreItem({\n scoreItem,\n}: {\n scoreItem: ScoreSaberItem\n}) {\n return (\n <div className={'relative'}>\n <div\n className={\n 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden'\n }\n >\n <img\n loading={'eager'}\n src={scoreItem.leaderboard.coverImage}\n className={'rounded-md h-20 w-20'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {scoreItem.leaderboard.songName}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(scoreItem.leaderboard.difficulty.difficultyRaw)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.leaderboard.stars} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.mapId ?? 'unknown'}</span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs'}>\n <span>\n {(\n (scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>\n {scoreItem.score.pp.toFixed(1)}\n PP\n </span>\n </div>\n {getModifiers(scoreItem.score.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(scoreItem.score.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {scoreItem.score.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"AA+BQ,cAkBI,YAlBJ;AA9BR,SAAS,UAAU,KAAK,MAAM,cAAc;AAG5C,MAAM,WAAW,CAAC,SAAiB;AACjC,MAAI,KAAK,SAAS,YAAY,GAAG;AAC/B,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,QAAQ,GAAG;AAClC,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,MAAM,GAAG;AAChC,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,QAAQ,GAAG;AAClC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AACA,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AACe,SAAR,UAA2B;AAAA,EAChC;AACF,GAEG;AAvBH;AAwBE,SACE,qBAAC,SAAI,WAAW,YACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WACE;AAAA,QAGF;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,UAAU,YAAY;AAAA,cAC3B,WAAW;AAAA;AAAA,UACb;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,oBAAU,YAAY;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,UAAU,YAAY,WAAW,aAAa,GAC1D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UAAM;AAAA,gCAAU,YAAY;AAAA,sBAAM;AAAA,uBAAC;AAAA,qBACtC;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UAAM,0BAAU,UAAV,YAAmB,WAAU;AAAA,qBACtC;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,0BACd;AAAA,mCAAC,UAEI;AAAA,2BAAU,MAAM,YAAY,UAAU,YAAY,WACnD,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBACd;AAAA,0BAAU,MAAM,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEjC;AAAA,eACF;AAAA,YACC,aAAa,UAAU,MAAM,SAAS,EAAE,SAAS,KAChD,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,UAAU,MAAM,SAAS,EAAE,IAAI,CAAC,aAC5C,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH;AAAA,aAEJ;AAAA;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,SAAI,WAAU,4EACZ,oBAAU,MAAM,aACf,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F,GAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/components/scoreItem.tsx"],"sourcesContent":["/** @jsxImportSource react */\nimport { BarChart, Key, Star, Wrench } from 'lucide-react'\nimport { ScoreSaberItem } from '@/service/api/interfaces/scoresaber'\n\nconst diffConv = (diff: string) => {\n if (diff.includes('ExpertPlus')) {\n return 'E+'\n } else if (diff.includes('Expert')) {\n return 'EX'\n } else if (diff.includes('Hard')) {\n return 'H'\n } else if (diff.includes('Normal')) {\n return 'N'\n }\n return 'E'\n}\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\nexport default function ScoreItem({\n scoreItem,\n}: {\n scoreItem: ScoreSaberItem\n}) {\n return (\n <div className={'relative'}>\n <div\n className={\n 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none overflow-hidden'\n }\n >\n <img\n loading={'eager'}\n src={scoreItem.leaderboard.coverImage}\n className={'rounded-md h-20 w-20'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {scoreItem.leaderboard.songName}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(scoreItem.leaderboard.difficulty.difficultyRaw)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.leaderboard.stars} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.mapId ?? 'unknown'}</span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs'}>\n <span>\n {(\n (scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>\n {scoreItem.score.pp.toFixed(1)}\n PP\n </span>\n </div>\n {getModifiers(scoreItem.score.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(scoreItem.score.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {scoreItem.score.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"AA+BQ,cAkBI,YAlBJ;AA9BR,SAAS,UAAU,KAAK,MAAM,cAAc;AAG5C,MAAM,WAAW,CAAC,SAAiB;AACjC,MAAI,KAAK,SAAS,YAAY,GAAG;AAC/B,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,QAAQ,GAAG;AAClC,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,MAAM,GAAG;AAChC,WAAO;AAAA,EACT,WAAW,KAAK,SAAS,QAAQ,GAAG;AAClC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AACA,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AACe,SAAR,UAA2B;AAAA,EAChC;AACF,GAEG;AAvBH;AAwBE,SACE,qBAAC,SAAI,WAAW,YACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WACE;AAAA,QAGF;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,UAAU,YAAY;AAAA,cAC3B,WAAW;AAAA;AAAA,UACb;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,oBAAU,YAAY;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,UAAU,YAAY,WAAW,aAAa,GAC1D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UAAM;AAAA,gCAAU,YAAY;AAAA,sBAAM;AAAA,uBAAC;AAAA,qBACtC;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UAAM,0BAAU,UAAV,YAAmB,WAAU;AAAA,qBACtC;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,0BACd;AAAA,mCAAC,UAEI;AAAA,2BAAU,MAAM,YAAY,UAAU,YAAY,WACnD,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBACd;AAAA,0BAAU,MAAM,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEjC;AAAA,eACF;AAAA,YACC,aAAa,UAAU,MAAM,SAAS,EAAE,SAAS,KAChD,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,UAAU,MAAM,SAAS,EAAE,IAAI,CAAC,aAC5C,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH;AAAA,aAEJ;AAAA;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,SAAI,WAAU,4EACZ,oBAAU,MAAM,aACf,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F,GAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -1,10 +1,10 @@
1
1
  import { Fragment, jsx } from "react/jsx-runtime";
2
- import { processAccGraphs, processUnderswings } from "../utils/bl/bsorReplayAcc";
2
+ import { processAccGraphs, processUnderswings } from "../utils/bl/bsorReplayAcc.js";
3
3
  import {
4
4
  createDistanceWeightFunction,
5
5
  createMinMaxCounter
6
- } from "../utils/bl/beatleader";
7
- import getStatistic from "../utils/bl/stastic";
6
+ } from "../utils/bl/beatleader.js";
7
+ import getStatistic from "../utils/bl/stastic.js";
8
8
  import Chart from "chart.js/auto";
9
9
  import { createCanvas } from "@napi-rs/canvas";
10
10
  function formatNumber(num, digits = 2, addSign = false, notANumber = null) {
@@ -1,5 +1,5 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { twJoin } from "../utils/tw-join";
2
+ import { twJoin } from "../utils/tw-join.js";
3
3
  function ScoreBadge({
4
4
  name,
5
5
  count,
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import dayjs from "dayjs";
3
- import Flags, { EarchIcon } from "../../components/components/flag";
4
- import { formatDate, numberWithCommas } from "../../components/utils";
3
+ import Flags, { EarchIcon } from "../../components/components/flag.js";
4
+ import { formatDate, numberWithCommas } from "../../components/utils/index.js";
5
5
  function SSRankScoreItem(props) {
6
6
  return /* @__PURE__ */ jsx(
7
7
  "div",
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { BarChart, Key, Star, Wrench } from "lucide-react";
3
- import { diffConv, formatRelativeTimeByDay } from "../utils";
3
+ import { diffConv, formatRelativeTimeByDay } from "../utils/index.js";
4
4
  const getModifiers = (modifiers) => {
5
5
  return modifiers ? modifiers.split(",") : [];
6
6
  };
@@ -12,7 +12,7 @@ function SsScoreItem({
12
12
  /* @__PURE__ */ jsxs(
13
13
  "div",
14
14
  {
15
- className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden",
15
+ className: "rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none overflow-hidden",
16
16
  children: [
17
17
  /* @__PURE__ */ jsx(
18
18
  "img",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/components/ss-score-item.tsx"],"sourcesContent":["import { BarChart, Key, Star, Wrench } from 'lucide-react'\nimport { diffConv, formatRelativeTimeByDay } from '../utils'\nimport React from 'react'\nimport { ScoreSaberItem } from '@/service/api/interfaces/scoresaber'\n\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\nexport default function SsScoreItem({\n scoreItem,\n}: {\n scoreItem: ScoreSaberItem\n}) {\n return (\n <div className={'relative'}>\n <div\n className={\n 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden'\n }\n >\n <img\n loading={'eager'}\n src={scoreItem.leaderboard.coverImage}\n className={'rounded-md h-20 w-20'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {scoreItem.leaderboard.songName}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(scoreItem.leaderboard.difficulty.difficultyRaw)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.leaderboard.stars} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.mapId ?? 'unknown'}</span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs'}>\n <span>\n {(\n (scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>\n {scoreItem.score.pp.toFixed(1)}\n PP\n </span>\n <span className={'opacity-70'}>\n {formatRelativeTimeByDay(scoreItem.score.timeSet)}\n </span>\n </div>\n {getModifiers(scoreItem.score.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(scoreItem.score.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {scoreItem.score.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"AAoBQ,cAkBI,YAlBJ;AApBR,SAAS,UAAU,KAAK,MAAM,cAAc;AAC5C,SAAS,UAAU,+BAA+B;AAIlD,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AACe,SAAR,YAA6B;AAAA,EAClC;AACF,GAEG;AAZH;AAaE,SACE,qBAAC,SAAI,WAAW,YACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WACE;AAAA,QAGF;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,UAAU,YAAY;AAAA,cAC3B,WAAW;AAAA;AAAA,UACb;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,oBAAU,YAAY;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,UAAU,YAAY,WAAW,aAAa,GAC1D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UAAM;AAAA,gCAAU,YAAY;AAAA,sBAAM;AAAA,uBAAC;AAAA,qBACtC;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UAAM,0BAAU,UAAV,YAAmB,WAAU;AAAA,qBACtC;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,0BACd;AAAA,mCAAC,UAEI;AAAA,2BAAU,MAAM,YAAY,UAAU,YAAY,WACnD,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBACd;AAAA,0BAAU,MAAM,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEjC;AAAA,cACA,oBAAC,UAAK,WAAW,cACd,kCAAwB,UAAU,MAAM,OAAO,GAClD;AAAA,eACF;AAAA,YACC,aAAa,UAAU,MAAM,SAAS,EAAE,SAAS,KAChD,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,UAAU,MAAM,SAAS,EAAE,IAAI,CAAC,aAC5C,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH;AAAA,aAEJ;AAAA;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,SAAI,WAAU,4EACZ,oBAAU,MAAM,aACf,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F,GAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/components/ss-score-item.tsx"],"sourcesContent":["import { BarChart, Key, Star, Wrench } from 'lucide-react'\nimport { diffConv, formatRelativeTimeByDay } from '../utils'\nimport React from 'react'\nimport { ScoreSaberItem } from '@/service/api/interfaces/scoresaber'\n\nconst getModifiers = (modifiers: string) => {\n return modifiers ? modifiers.split(',') : []\n}\nexport default function SsScoreItem({\n scoreItem,\n}: {\n scoreItem: ScoreSaberItem\n}) {\n return (\n <div className={'relative'}>\n <div\n className={\n 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-none overflow-hidden'\n }\n >\n <img\n loading={'eager'}\n src={scoreItem.leaderboard.coverImage}\n className={'rounded-md h-20 w-20'}\n />\n <div className={'flex flex-col space-y-1 py-0.5'}>\n <div\n className={\n 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all'\n }\n >\n {scoreItem.leaderboard.songName}\n </div>\n <div\n className={\n 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 '\n }\n >\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>\n {diffConv(scoreItem.leaderboard.difficulty.difficultyRaw)}\n </span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.leaderboard.stars} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{scoreItem.mapId ?? 'unknown'}</span>\n </div>\n </div>\n <div className={'flex space-x-2 text-xs'}>\n <span>\n {(\n (scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *\n 100\n ).toFixed(2)}\n %\n </span>\n <span className={'text-orange-200'}>\n {scoreItem.score.pp.toFixed(1)}\n PP\n </span>\n <span className={'opacity-70'}>\n {formatRelativeTimeByDay(scoreItem.score.timeSet)}\n </span>\n </div>\n {getModifiers(scoreItem.score.modifiers).length > 0 && (\n <div className=\"text-xs flex flex-wrap space-x-2 items-center\">\n <Wrench className=\"h-3 w-3\" />\n {getModifiers(scoreItem.score.modifiers).map((modifier) => (\n <span key={modifier}>{modifier}</span>\n ))}\n </div>\n )}\n </div>\n </div>\n <div className=\"absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center\">\n {scoreItem.score.fullCombo && (\n <span className=\"from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent\">\n FC\n </span>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"AAoBQ,cAkBI,YAlBJ;AApBR,SAAS,UAAU,KAAK,MAAM,cAAc;AAC5C,SAAS,UAAU,+BAA+B;AAIlD,MAAM,eAAe,CAAC,cAAsB;AAC1C,SAAO,YAAY,UAAU,MAAM,GAAG,IAAI,CAAC;AAC7C;AACe,SAAR,YAA6B;AAAA,EAClC;AACF,GAEG;AAZH;AAaE,SACE,qBAAC,SAAI,WAAW,YACd;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WACE;AAAA,QAGF;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS;AAAA,cACT,KAAK,UAAU,YAAY;AAAA,cAC3B,WAAW;AAAA;AAAA,UACb;AAAA,UACA,qBAAC,SAAI,WAAW,kCACd;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGD,oBAAU,YAAY;AAAA;AAAA,YACzB;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WACE;AAAA,gBAGF;AAAA,uCAAC,SACC;AAAA,wCAAC,UACC,8BAAC,YAAS,WAAW,WAAW,GAClC;AAAA,oBACA,oBAAC,UACE,mBAAS,UAAU,YAAY,WAAW,aAAa,GAC1D;AAAA,qBACF;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,QAAK,WAAW,WAAW,GAC9B;AAAA,oBACA,qBAAC,UAAM;AAAA,gCAAU,YAAY;AAAA,sBAAM;AAAA,uBAAC;AAAA,qBACtC;AAAA,kBACA,qBAAC,SACC;AAAA,wCAAC,UACC,8BAAC,OAAI,WAAW,WAAW,GAC7B;AAAA,oBACA,oBAAC,UAAM,0BAAU,UAAV,YAAmB,WAAU;AAAA,qBACtC;AAAA;AAAA;AAAA,YACF;AAAA,YACA,qBAAC,SAAI,WAAW,0BACd;AAAA,mCAAC,UAEI;AAAA,2BAAU,MAAM,YAAY,UAAU,YAAY,WACnD,KACA,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEf;AAAA,cACA,qBAAC,UAAK,WAAW,mBACd;AAAA,0BAAU,MAAM,GAAG,QAAQ,CAAC;AAAA,gBAAE;AAAA,iBAEjC;AAAA,cACA,oBAAC,UAAK,WAAW,cACd,kCAAwB,UAAU,MAAM,OAAO,GAClD;AAAA,eACF;AAAA,YACC,aAAa,UAAU,MAAM,SAAS,EAAE,SAAS,KAChD,qBAAC,SAAI,WAAU,iDACb;AAAA,kCAAC,UAAO,WAAU,WAAU;AAAA,cAC3B,aAAa,UAAU,MAAM,SAAS,EAAE,IAAI,CAAC,aAC5C,oBAAC,UAAqB,sBAAX,QAAoB,CAChC;AAAA,eACH;AAAA,aAEJ;AAAA;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,SAAI,WAAU,4EACZ,oBAAU,MAAM,aACf,oBAAC,UAAK,WAAU,2EAA0E,gBAE1F,GAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -18,13 +18,13 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
- import getPart from "../utils/bl/getPart";
22
- import ScoreBadge from "../components/socre-badge";
23
- import SkillGraph from "../components/skill-graph";
24
- import BeatLeaderItem from "../components/bl-score-item";
25
- import Flags, { EarchIcon } from "../components/flag";
26
- import { twJoin } from "../utils/tw-join";
27
- import { getHeadsetForHMD } from "../utils/bl/blheadset";
21
+ import getPart from "../utils/bl/getPart.js";
22
+ import ScoreBadge from "../components/socre-badge.js";
23
+ import SkillGraph from "../components/skill-graph.js";
24
+ import BeatLeaderItem from "../components/bl-score-item.js";
25
+ import Flags, { EarchIcon } from "../components/flag.js";
26
+ import { twJoin } from "../utils/tw-join.js";
27
+ import { getHeadsetForHMD } from "../utils/bl/blheadset.js";
28
28
  function BLPlayerPage({
29
29
  beatleaderItems: items,
30
30
  user,
@@ -27,15 +27,15 @@ import {
27
27
  Calendar,
28
28
  HeartPulse
29
29
  } from "lucide-react";
30
- import ScoreGraph from "../components/scoregraph";
30
+ import ScoreGraph from "../components/scoregraph.js";
31
31
  import {
32
32
  BlRankScoreItem,
33
33
  ScoreItemSkeleton
34
- } from "../../components/components/bl-rank-score-item";
35
- import { RankDifficulty } from "../../components/components/RankDifficulty";
36
- import { Avatar } from "../../components/components/base/avatar";
37
- import { formatDuration, formatTime } from "../../components/utils";
38
- import Progressbar from "../../components/components/progressbar";
34
+ } from "../../components/components/bl-rank-score-item.js";
35
+ import { RankDifficulty } from "../../components/components/RankDifficulty.js";
36
+ import { Avatar } from "../../components/components/base/avatar.js";
37
+ import { formatDuration, formatTime } from "../../components/utils/index.js";
38
+ import Progressbar from "../../components/components/progressbar.js";
39
39
  function BLRankScore({
40
40
  score,
41
41
  aroundScores,
@@ -9,9 +9,9 @@ import {
9
9
  ThumbsDown,
10
10
  Calendar
11
11
  } from "lucide-react";
12
- import { diffConv, formatDuration, formatTime } from "../utils";
13
- import Progressbar from "../components/progressbar";
14
- import ScoreGraph from "../components/scoregraph";
12
+ import { diffConv, formatDuration, formatTime } from "../utils/index.js";
13
+ import Progressbar from "../components/progressbar.js";
14
+ import ScoreGraph from "../components/scoregraph.js";
15
15
  function BLScore({
16
16
  score,
17
17
  bsMap,