beatsaber-bot-core 0.2.0-rc.8 → 0.3.0-rc.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 (678) hide show
  1. package/dist/cjs/cmd/bind/bind-beatleader.js +2 -2
  2. package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
  3. package/dist/cjs/cmd/bind/bind-beatsaver.js +2 -2
  4. package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
  5. package/dist/cjs/cmd/bind/bind-id-beatleader.js +3 -3
  6. package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
  7. package/dist/cjs/cmd/bind/bind-id-beatsaver.js +3 -3
  8. package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
  9. package/dist/cjs/cmd/bind/bind-scoresaber.js +3 -3
  10. package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
  11. package/dist/cjs/cmd/bind/index.js +12 -12
  12. package/dist/cjs/cmd/bind/index.js.map +1 -1
  13. package/dist/cjs/cmd/bsmap/id-search.js +3 -3
  14. package/dist/cjs/cmd/bsmap/id-search.js.map +1 -1
  15. package/dist/cjs/cmd/bsmap/key-search.js +2 -2
  16. package/dist/cjs/cmd/bsmap/key-search.js.map +1 -1
  17. package/dist/cjs/cmd/bsmap/latest.js +2 -2
  18. package/dist/cjs/cmd/bsmap/latest.js.map +1 -1
  19. package/dist/cjs/cmd/deprecated/tmp.js +4 -4
  20. package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
  21. package/dist/cjs/cmd/index.js +11 -11
  22. package/dist/cjs/cmd/index.js.map +1 -1
  23. package/dist/cjs/cmd/rank.js +8 -8
  24. package/dist/cjs/cmd/rank.js.map +1 -1
  25. package/dist/cjs/cmd/score.js +16 -20
  26. package/dist/cjs/cmd/score.js.map +1 -1
  27. package/dist/cjs/cmd/subscribe/beatleader.js +3 -3
  28. package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
  29. package/dist/cjs/cmd/subscribe/beatsaver.js +3 -3
  30. package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
  31. package/dist/cjs/cmd/subscribe/id-beatleader-score.js +4 -4
  32. package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
  33. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +4 -4
  34. package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
  35. package/dist/cjs/cmd/subscribe/index.js +8 -8
  36. package/dist/cjs/cmd/subscribe/index.js.map +1 -1
  37. package/dist/cjs/cmd/subscribe/subjoin.js +6 -6
  38. package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -1
  39. package/dist/cjs/cmd/subscribe/subleave.js +6 -6
  40. package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
  41. package/dist/cjs/cmd/subscribe/unsubscribe.js +8 -8
  42. package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -1
  43. package/dist/cjs/common/cache.js.map +1 -0
  44. package/dist/cjs/common/fetch/error.js.map +1 -0
  45. package/dist/cjs/{infra/support → common}/fetch/index.js +16 -14
  46. package/dist/cjs/common/fetch/index.js.map +1 -0
  47. package/dist/cjs/{infra/support → common}/fetch/ofetch.js +5 -12
  48. package/dist/cjs/common/fetch/ofetch.js.map +1 -0
  49. package/dist/cjs/common/i18n/index.js +55 -0
  50. package/dist/cjs/common/i18n/index.js.map +1 -0
  51. package/dist/cjs/common/i18n/parser.js.map +1 -0
  52. package/dist/cjs/{infra/i18n/index.js → common/i18n/util.js} +10 -71
  53. package/dist/cjs/common/i18n/util.js.map +1 -0
  54. package/dist/cjs/{infra/support → common}/render/index.js +55 -15
  55. package/dist/cjs/common/render/index.js.map +1 -0
  56. package/dist/cjs/common/render/puppeteer.js.map +1 -0
  57. package/dist/cjs/{infra → common}/s3/index.js +34 -13
  58. package/dist/cjs/common/s3/index.js.map +1 -0
  59. package/dist/cjs/components/components/RankDifficulty.js +60 -84
  60. package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
  61. package/dist/cjs/components/components/base/avatar.js +1 -2
  62. package/dist/cjs/components/components/base/avatar.js.map +1 -1
  63. package/dist/cjs/components/components/bl-rank-score-item.js +25 -87
  64. package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
  65. package/dist/cjs/components/components/bl-score-item.js +28 -69
  66. package/dist/cjs/components/components/bl-score-item.js.map +1 -1
  67. package/dist/cjs/components/components/characteristic.js +106 -118
  68. package/dist/cjs/components/components/characteristic.js.map +1 -1
  69. package/dist/cjs/components/components/flag.js +6 -14
  70. package/dist/cjs/components/components/flag.js.map +1 -1
  71. package/dist/cjs/components/components/icons/BeatLeader.js +55 -71
  72. package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
  73. package/dist/cjs/components/components/icons/RankIcon.js +3 -7
  74. package/dist/cjs/components/components/icons/RankIcon.js.map +1 -1
  75. package/dist/cjs/components/components/icons/ScoreSaberIcon.js +276 -312
  76. package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -1
  77. package/dist/cjs/components/components/progressbar.js +12 -2
  78. package/dist/cjs/components/components/progressbar.js.map +1 -1
  79. package/dist/cjs/components/components/scoreItem.js +26 -63
  80. package/dist/cjs/components/components/scoreItem.js.map +1 -1
  81. package/dist/cjs/components/components/scoregraph.js +4 -5
  82. package/dist/cjs/components/components/scoregraph.js.map +1 -1
  83. package/dist/cjs/components/components/skill-graph.js +147 -164
  84. package/dist/cjs/components/components/skill-graph.js.map +1 -1
  85. package/dist/cjs/components/components/socre-badge.js +7 -10
  86. package/dist/cjs/components/components/socre-badge.js.map +1 -1
  87. package/dist/cjs/components/components/ss-rank-score-item.js +25 -87
  88. package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
  89. package/dist/cjs/components/components/ss-score-item.js +38 -65
  90. package/dist/cjs/components/components/ss-score-item.js.map +1 -1
  91. package/dist/cjs/components/index.js +3 -43
  92. package/dist/cjs/components/index.js.map +1 -1
  93. package/dist/cjs/components/pages/bl-player.js +91 -136
  94. package/dist/cjs/components/pages/bl-player.js.map +1 -1
  95. package/dist/cjs/components/pages/bl-score-with-rank.js +114 -221
  96. package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
  97. package/dist/cjs/components/pages/bl-score.js +67 -169
  98. package/dist/cjs/components/pages/bl-score.js.map +1 -1
  99. package/dist/cjs/components/pages/bs-map.js +95 -166
  100. package/dist/cjs/components/pages/bs-map.js.map +1 -1
  101. package/dist/cjs/components/pages/index.js +26 -26
  102. package/dist/cjs/components/pages/index.js.map +1 -1
  103. package/dist/cjs/components/pages/ss-player.js +48 -77
  104. package/dist/cjs/components/pages/ss-player.js.map +1 -1
  105. package/dist/cjs/components/utils/bl/bsorReplayAcc.js +2 -2
  106. package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -1
  107. package/dist/cjs/components/utils/bl/getPart.js.map +1 -1
  108. package/dist/cjs/components/utils/bl/stastic.js.map +1 -1
  109. package/dist/cjs/components/utils/format.js +3 -3
  110. package/dist/cjs/components/utils/format.js.map +1 -1
  111. package/dist/cjs/components/utils/getMods.js.map +1 -1
  112. package/dist/cjs/components/utils/index.js +4 -4
  113. package/dist/cjs/config.js +40 -0
  114. package/dist/cjs/config.js.map +1 -1
  115. package/dist/cjs/{interface → core}/cmd/builder.js +5 -5
  116. package/dist/cjs/core/cmd/builder.js.map +1 -0
  117. package/dist/cjs/core/cmd/type.js.map +1 -0
  118. package/dist/cjs/core/domain.js +16 -0
  119. package/dist/cjs/core/domain.js.map +1 -0
  120. package/dist/cjs/core/error.js +38 -0
  121. package/dist/cjs/core/error.js.map +1 -0
  122. package/dist/cjs/{interface/bot.js → core/event.js} +3 -3
  123. package/dist/cjs/core/event.js.map +1 -0
  124. package/dist/cjs/core/index.js +39 -0
  125. package/dist/cjs/core/index.js.map +1 -0
  126. package/dist/cjs/core/logger.js.map +1 -0
  127. package/dist/cjs/core/session.js +16 -0
  128. package/dist/cjs/core/session.js.map +1 -0
  129. package/dist/cjs/{schedules → events/schedules}/index.js +4 -3
  130. package/dist/cjs/events/schedules/index.js.map +1 -0
  131. package/dist/cjs/{schedules → events/schedules}/temp.js +7 -3
  132. package/dist/cjs/events/schedules/temp.js.map +1 -0
  133. package/dist/cjs/{ws → events/ws}/beatleader.js +6 -6
  134. package/dist/cjs/events/ws/beatleader.js.map +1 -0
  135. package/dist/cjs/{ws → events/ws}/beatsaver.js +11 -11
  136. package/dist/cjs/events/ws/beatsaver.js.map +1 -0
  137. package/dist/cjs/events/ws/handler.js.map +1 -0
  138. package/dist/cjs/{ws → events/ws}/index.js +6 -8
  139. package/dist/cjs/events/ws/index.js.map +1 -0
  140. package/dist/cjs/index.js +27 -18
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/interface/db/index.js +0 -6
  143. package/dist/cjs/interface/db/index.js.map +1 -1
  144. package/dist/cjs/interface/db/models.js.map +1 -1
  145. package/dist/cjs/interface/index.js +12 -21
  146. package/dist/cjs/interface/index.js.map +1 -1
  147. package/dist/cjs/{service → services}/api/base/aioclient.js +1 -1
  148. package/dist/cjs/services/api/base/aioclient.js.map +1 -0
  149. package/dist/cjs/{service → services}/api/base/blclient.js +1 -1
  150. package/dist/cjs/services/api/base/blclient.js.map +1 -0
  151. package/dist/cjs/{service → services}/api/base/bsclient.js +2 -2
  152. package/dist/cjs/services/api/base/bsclient.js.map +1 -0
  153. package/dist/cjs/{service → services}/api/base/index.js +8 -8
  154. package/dist/cjs/services/api/base/index.js.map +1 -0
  155. package/dist/cjs/{service → services}/api/base/ssclient.js +2 -2
  156. package/dist/cjs/services/api/base/ssclient.js.map +1 -0
  157. package/dist/cjs/{service → services}/api/index.js +17 -9
  158. package/dist/cjs/services/api/index.js.map +1 -0
  159. package/dist/cjs/services/api/interfaces/aiosaber/index.js.map +1 -0
  160. package/dist/cjs/services/api/interfaces/beatleader/bsor.js.map +1 -0
  161. package/dist/cjs/{service → services}/api/interfaces/beatleader/index.js +10 -10
  162. package/dist/cjs/services/api/interfaces/beatleader/index.js.map +1 -0
  163. package/dist/cjs/services/api/interfaces/beatleader/req.js.map +1 -0
  164. package/dist/cjs/services/api/interfaces/beatleader/score.js.map +1 -0
  165. package/dist/cjs/services/api/interfaces/beatleader/user.js.map +1 -0
  166. package/dist/cjs/services/api/interfaces/beatleader/ws.js.map +1 -0
  167. package/dist/cjs/services/api/interfaces/beatsaver/alert.js.map +1 -0
  168. package/dist/cjs/services/api/interfaces/beatsaver/bsmap.js.map +1 -0
  169. package/dist/cjs/{service → services}/api/interfaces/beatsaver/index.js +10 -10
  170. package/dist/cjs/services/api/interfaces/beatsaver/index.js.map +1 -0
  171. package/dist/cjs/services/api/interfaces/beatsaver/resp.js.map +1 -0
  172. package/dist/cjs/services/api/interfaces/beatsaver/user.js.map +1 -0
  173. package/dist/cjs/services/api/interfaces/beatsaver/ws.js.map +1 -0
  174. package/dist/cjs/services/api/interfaces/index.js.map +1 -0
  175. package/dist/cjs/{service → services}/api/interfaces/scoresaber/index.js +6 -6
  176. package/dist/cjs/services/api/interfaces/scoresaber/index.js.map +1 -0
  177. package/dist/cjs/services/api/interfaces/scoresaber/item.js.map +1 -0
  178. package/dist/cjs/services/api/interfaces/scoresaber/leaderboard.js.map +1 -0
  179. package/dist/cjs/services/api/interfaces/scoresaber/resp.js.map +1 -0
  180. package/dist/cjs/services/api/interfaces/scoresaber/user.js.map +1 -0
  181. package/dist/cjs/services/api/interfaces/scoresaber/ws.js.map +1 -0
  182. package/dist/cjs/services/api/sortScore.js.map +1 -0
  183. package/dist/cjs/{infra → services}/errors/index.js +21 -38
  184. package/dist/cjs/services/errors/index.js.map +1 -0
  185. package/dist/cjs/services/i18n/index.js +43 -0
  186. package/dist/cjs/services/i18n/index.js.map +1 -0
  187. package/dist/cjs/{infra → services}/i18n/zh-cn.json +1 -1
  188. package/dist/cjs/{infra → services}/index.js +12 -9
  189. package/dist/cjs/services/index.js.map +1 -0
  190. package/dist/cjs/services/preference.js.map +1 -0
  191. package/dist/cjs/{service → services}/render/index.js +36 -13
  192. package/dist/cjs/services/render/index.js.map +1 -0
  193. package/dist/cjs/utils/bsorDecoder.js +329 -0
  194. package/dist/cjs/utils/bsorDecoder.js.map +1 -0
  195. package/dist/cjs/utils/index.js +6 -1
  196. package/dist/cjs/utils/index.js.map +1 -1
  197. package/dist/cjs/utils/platform.js +38 -0
  198. package/dist/cjs/utils/platform.js.map +1 -0
  199. package/dist/esm/cmd/bind/bind-beatleader.js +2 -2
  200. package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
  201. package/dist/esm/cmd/bind/bind-beatsaver.js +2 -2
  202. package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
  203. package/dist/esm/cmd/bind/bind-id-beatleader.js +3 -3
  204. package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
  205. package/dist/esm/cmd/bind/bind-id-beatsaver.js +3 -3
  206. package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
  207. package/dist/esm/cmd/bind/bind-scoresaber.js +3 -3
  208. package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
  209. package/dist/esm/cmd/bind/index.js +5 -5
  210. package/dist/esm/cmd/bind/index.js.map +1 -1
  211. package/dist/esm/cmd/bsmap/id-search.js +2 -2
  212. package/dist/esm/cmd/bsmap/id-search.js.map +1 -1
  213. package/dist/esm/cmd/bsmap/key-search.js +1 -1
  214. package/dist/esm/cmd/bsmap/key-search.js.map +1 -1
  215. package/dist/esm/cmd/bsmap/latest.js +2 -2
  216. package/dist/esm/cmd/bsmap/latest.js.map +1 -1
  217. package/dist/esm/cmd/deprecated/tmp.js +3 -3
  218. package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
  219. package/dist/esm/cmd/index.js +11 -11
  220. package/dist/esm/cmd/index.js.map +1 -1
  221. package/dist/esm/cmd/rank.js +5 -5
  222. package/dist/esm/cmd/rank.js.map +1 -1
  223. package/dist/esm/cmd/score.js +13 -17
  224. package/dist/esm/cmd/score.js.map +1 -1
  225. package/dist/esm/cmd/subscribe/beatleader.js +3 -3
  226. package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
  227. package/dist/esm/cmd/subscribe/beatsaver.js +3 -3
  228. package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
  229. package/dist/esm/cmd/subscribe/id-beatleader-score.js +4 -4
  230. package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
  231. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +4 -4
  232. package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
  233. package/dist/esm/cmd/subscribe/index.js +7 -7
  234. package/dist/esm/cmd/subscribe/index.js.map +1 -1
  235. package/dist/esm/cmd/subscribe/subjoin.js +5 -5
  236. package/dist/esm/cmd/subscribe/subjoin.js.map +1 -1
  237. package/dist/esm/cmd/subscribe/subleave.js +5 -5
  238. package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
  239. package/dist/esm/cmd/subscribe/unsubscribe.js +7 -7
  240. package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -1
  241. package/dist/esm/common/cache.js.map +1 -0
  242. package/dist/esm/common/fetch/error.js.map +1 -0
  243. package/dist/esm/common/fetch/index.js +35 -0
  244. package/dist/esm/common/fetch/index.js.map +1 -0
  245. package/dist/esm/{infra/support → common}/fetch/ofetch.js +4 -10
  246. package/dist/esm/common/fetch/ofetch.js.map +1 -0
  247. package/dist/esm/common/i18n/index.js +32 -0
  248. package/dist/esm/common/i18n/index.js.map +1 -0
  249. package/dist/esm/common/i18n/parser.js.map +1 -0
  250. package/dist/esm/{infra/i18n/index.js → common/i18n/util.js} +4 -56
  251. package/dist/esm/common/i18n/util.js.map +1 -0
  252. package/dist/esm/{infra/support → common}/render/index.js +53 -13
  253. package/dist/esm/common/render/index.js.map +1 -0
  254. package/dist/esm/common/render/puppeteer.js.map +1 -0
  255. package/dist/esm/{infra → common}/s3/index.js +32 -12
  256. package/dist/esm/common/s3/index.js.map +1 -0
  257. package/dist/esm/components/components/RankDifficulty.js +60 -84
  258. package/dist/esm/components/components/RankDifficulty.js.map +1 -1
  259. package/dist/esm/components/components/base/avatar.js +1 -2
  260. package/dist/esm/components/components/base/avatar.js.map +1 -1
  261. package/dist/esm/components/components/bl-rank-score-item.js +25 -87
  262. package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
  263. package/dist/esm/components/components/bl-score-item.js +28 -69
  264. package/dist/esm/components/components/bl-score-item.js.map +1 -1
  265. package/dist/esm/components/components/characteristic.js +106 -118
  266. package/dist/esm/components/components/characteristic.js.map +1 -1
  267. package/dist/esm/components/components/flag.js +6 -14
  268. package/dist/esm/components/components/flag.js.map +1 -1
  269. package/dist/esm/components/components/icons/BeatLeader.js +55 -71
  270. package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
  271. package/dist/esm/components/components/icons/RankIcon.js +3 -7
  272. package/dist/esm/components/components/icons/RankIcon.js.map +1 -1
  273. package/dist/esm/components/components/icons/ScoreSaberIcon.js +276 -312
  274. package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -1
  275. package/dist/esm/components/components/progressbar.js +2 -2
  276. package/dist/esm/components/components/progressbar.js.map +1 -1
  277. package/dist/esm/components/components/scoreItem.js +26 -63
  278. package/dist/esm/components/components/scoreItem.js.map +1 -1
  279. package/dist/esm/components/components/scoregraph.js +4 -5
  280. package/dist/esm/components/components/scoregraph.js.map +1 -1
  281. package/dist/esm/components/components/skill-graph.js +147 -164
  282. package/dist/esm/components/components/skill-graph.js.map +1 -1
  283. package/dist/esm/components/components/socre-badge.js +7 -10
  284. package/dist/esm/components/components/socre-badge.js.map +1 -1
  285. package/dist/esm/components/components/ss-rank-score-item.js +25 -87
  286. package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
  287. package/dist/esm/components/components/ss-score-item.js +28 -65
  288. package/dist/esm/components/components/ss-score-item.js.map +1 -1
  289. package/dist/esm/components/index.js +3 -43
  290. package/dist/esm/components/index.js.map +1 -1
  291. package/dist/esm/components/pages/bl-player.js +91 -136
  292. package/dist/esm/components/pages/bl-player.js.map +1 -1
  293. package/dist/esm/components/pages/bl-score-with-rank.js +114 -221
  294. package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
  295. package/dist/esm/components/pages/bl-score.js +67 -169
  296. package/dist/esm/components/pages/bl-score.js.map +1 -1
  297. package/dist/esm/components/pages/bs-map.js +95 -166
  298. package/dist/esm/components/pages/bs-map.js.map +1 -1
  299. package/dist/esm/components/pages/index.js +21 -21
  300. package/dist/esm/components/pages/index.js.map +1 -1
  301. package/dist/esm/components/pages/ss-player.js +48 -77
  302. package/dist/esm/components/pages/ss-player.js.map +1 -1
  303. package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
  304. package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -1
  305. package/dist/esm/components/utils/bl/getPart.js.map +1 -1
  306. package/dist/esm/components/utils/bl/stastic.js.map +1 -1
  307. package/dist/esm/components/utils/format.js +3 -3
  308. package/dist/esm/components/utils/format.js.map +1 -1
  309. package/dist/esm/components/utils/getMods.js.map +1 -1
  310. package/dist/esm/components/utils/index.js +2 -2
  311. package/dist/esm/config.js +32 -0
  312. package/dist/esm/config.js.map +1 -1
  313. package/dist/esm/{interface → core}/cmd/builder.js +4 -4
  314. package/dist/esm/core/cmd/builder.js.map +1 -0
  315. package/dist/esm/core/domain.js +1 -0
  316. package/dist/esm/core/error.js +16 -0
  317. package/dist/esm/core/error.js.map +1 -0
  318. package/dist/esm/core/event.js +1 -0
  319. package/dist/esm/core/index.js +10 -0
  320. package/dist/esm/core/index.js.map +1 -0
  321. package/dist/esm/core/session.js +1 -0
  322. package/dist/esm/events/schedules/index.js +16 -0
  323. package/dist/esm/events/schedules/index.js.map +1 -0
  324. package/dist/esm/{schedules → events/schedules}/temp.js +7 -3
  325. package/dist/esm/events/schedules/temp.js.map +1 -0
  326. package/dist/esm/{ws → events/ws}/beatleader.js +6 -6
  327. package/dist/esm/events/ws/beatleader.js.map +1 -0
  328. package/dist/esm/{ws → events/ws}/beatsaver.js +11 -11
  329. package/dist/esm/events/ws/beatsaver.js.map +1 -0
  330. package/dist/esm/events/ws/index.js +4 -0
  331. package/dist/esm/events/ws/index.js.map +1 -0
  332. package/dist/esm/index.js +15 -10
  333. package/dist/esm/index.js.map +1 -1
  334. package/dist/esm/interface/db/index.js +0 -1
  335. package/dist/esm/interface/db/index.js.map +1 -1
  336. package/dist/esm/interface/index.js +9 -15
  337. package/dist/esm/interface/index.js.map +1 -1
  338. package/dist/esm/{service → services}/api/base/aioclient.js +1 -1
  339. package/dist/esm/services/api/base/aioclient.js.map +1 -0
  340. package/dist/esm/{service → services}/api/base/blclient.js +1 -1
  341. package/dist/esm/services/api/base/blclient.js.map +1 -0
  342. package/dist/esm/{service → services}/api/base/bsclient.js +2 -2
  343. package/dist/esm/services/api/base/bsclient.js.map +1 -0
  344. package/dist/esm/services/api/base/index.js +5 -0
  345. package/dist/esm/services/api/base/index.js.map +1 -0
  346. package/dist/esm/{service → services}/api/base/ssclient.js +2 -2
  347. package/dist/esm/services/api/base/ssclient.js.map +1 -0
  348. package/dist/esm/{service → services}/api/index.js +16 -8
  349. package/dist/esm/services/api/index.js.map +1 -0
  350. package/dist/esm/services/api/interfaces/beatleader/index.js +6 -0
  351. package/dist/esm/services/api/interfaces/beatleader/index.js.map +1 -0
  352. package/dist/esm/services/api/interfaces/beatsaver/index.js +6 -0
  353. package/dist/esm/services/api/interfaces/beatsaver/index.js.map +1 -0
  354. package/dist/esm/services/api/interfaces/scoresaber/index.js +4 -0
  355. package/dist/esm/services/api/interfaces/scoresaber/index.js.map +1 -0
  356. package/dist/esm/services/api/sortScore.js.map +1 -0
  357. package/dist/esm/{infra → services}/errors/index.js +1 -17
  358. package/dist/esm/services/errors/index.js.map +1 -0
  359. package/dist/esm/services/i18n/index.js +21 -0
  360. package/dist/esm/services/i18n/index.js.map +1 -0
  361. package/dist/esm/services/index.js +9 -0
  362. package/dist/esm/services/index.js.map +1 -0
  363. package/dist/esm/services/preference.js.map +1 -0
  364. package/dist/esm/{service → services}/render/index.js +34 -11
  365. package/dist/esm/services/render/index.js.map +1 -0
  366. package/dist/esm/utils/bsorDecoder.js +301 -0
  367. package/dist/esm/utils/bsorDecoder.js.map +1 -0
  368. package/dist/esm/utils/index.js +2 -0
  369. package/dist/esm/utils/index.js.map +1 -1
  370. package/dist/esm/utils/platform.js +14 -0
  371. package/dist/esm/utils/platform.js.map +1 -0
  372. package/dist/types/index.d.ts +1376 -48
  373. package/package.json +19 -10
  374. package/dist/cjs/components/utils/canvas.js +0 -2
  375. package/dist/cjs/components/utils/canvas.js.map +0 -1
  376. package/dist/cjs/infra/errors/index.js.map +0 -1
  377. package/dist/cjs/infra/i18n/index.js.map +0 -1
  378. package/dist/cjs/infra/i18n/parser.js.map +0 -1
  379. package/dist/cjs/infra/index.js.map +0 -1
  380. package/dist/cjs/infra/s3/index.js.map +0 -1
  381. package/dist/cjs/infra/support/cache.js.map +0 -1
  382. package/dist/cjs/infra/support/fetch/error.js.map +0 -1
  383. package/dist/cjs/infra/support/fetch/index.js.map +0 -1
  384. package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
  385. package/dist/cjs/infra/support/render/index.js.map +0 -1
  386. package/dist/cjs/infra/support/render/puppeteer.js.map +0 -1
  387. package/dist/cjs/interface/bot.js.map +0 -1
  388. package/dist/cjs/interface/cmd/builder.js.map +0 -1
  389. package/dist/cjs/interface/cmd/type.js.map +0 -1
  390. package/dist/cjs/interface/logger.js.map +0 -1
  391. package/dist/cjs/schedules/index.js.map +0 -1
  392. package/dist/cjs/schedules/interface.js +0 -16
  393. package/dist/cjs/schedules/interface.js.map +0 -1
  394. package/dist/cjs/schedules/temp.js.map +0 -1
  395. package/dist/cjs/service/api/base/aioclient.js.map +0 -1
  396. package/dist/cjs/service/api/base/blclient.js.map +0 -1
  397. package/dist/cjs/service/api/base/bsclient.js.map +0 -1
  398. package/dist/cjs/service/api/base/index.js.map +0 -1
  399. package/dist/cjs/service/api/base/ssclient.js.map +0 -1
  400. package/dist/cjs/service/api/index.js.map +0 -1
  401. package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +0 -1
  402. package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +0 -1
  403. package/dist/cjs/service/api/interfaces/beatleader/index.js.map +0 -1
  404. package/dist/cjs/service/api/interfaces/beatleader/req.js.map +0 -1
  405. package/dist/cjs/service/api/interfaces/beatleader/score.js.map +0 -1
  406. package/dist/cjs/service/api/interfaces/beatleader/user.js.map +0 -1
  407. package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +0 -1
  408. package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +0 -1
  409. package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +0 -1
  410. package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +0 -1
  411. package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +0 -1
  412. package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +0 -1
  413. package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +0 -1
  414. package/dist/cjs/service/api/interfaces/index.js.map +0 -1
  415. package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +0 -1
  416. package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +0 -1
  417. package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +0 -1
  418. package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +0 -1
  419. package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +0 -1
  420. package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +0 -1
  421. package/dist/cjs/service/api/sortScore.js.map +0 -1
  422. package/dist/cjs/service/index.js +0 -16
  423. package/dist/cjs/service/index.js.map +0 -1
  424. package/dist/cjs/service/preference.js.map +0 -1
  425. package/dist/cjs/service/render/index.js.map +0 -1
  426. package/dist/cjs/service/render/interfaces.js +0 -16
  427. package/dist/cjs/service/render/interfaces.js.map +0 -1
  428. package/dist/cjs/ws/beatleader.js.map +0 -1
  429. package/dist/cjs/ws/beatsaver.js.map +0 -1
  430. package/dist/cjs/ws/bl-filter.js +0 -1
  431. package/dist/cjs/ws/handler.js.map +0 -1
  432. package/dist/cjs/ws/index.js.map +0 -1
  433. package/dist/cjs/ws/scoresaber.js +0 -75
  434. package/dist/cjs/ws/scoresaber.js.map +0 -1
  435. package/dist/esm/components/utils/canvas.js +0 -2
  436. package/dist/esm/components/utils/canvas.js.map +0 -1
  437. package/dist/esm/infra/errors/index.js.map +0 -1
  438. package/dist/esm/infra/i18n/index.js.map +0 -1
  439. package/dist/esm/infra/i18n/parser.js.map +0 -1
  440. package/dist/esm/infra/index.js +0 -6
  441. package/dist/esm/infra/index.js.map +0 -1
  442. package/dist/esm/infra/s3/index.js.map +0 -1
  443. package/dist/esm/infra/support/cache.js.map +0 -1
  444. package/dist/esm/infra/support/fetch/error.js.map +0 -1
  445. package/dist/esm/infra/support/fetch/index.js +0 -33
  446. package/dist/esm/infra/support/fetch/index.js.map +0 -1
  447. package/dist/esm/infra/support/fetch/ofetch.js.map +0 -1
  448. package/dist/esm/infra/support/render/index.js.map +0 -1
  449. package/dist/esm/infra/support/render/puppeteer.js.map +0 -1
  450. package/dist/esm/interface/bot.js +0 -1
  451. package/dist/esm/interface/cmd/builder.js.map +0 -1
  452. package/dist/esm/schedules/index.js +0 -15
  453. package/dist/esm/schedules/index.js.map +0 -1
  454. package/dist/esm/schedules/interface.js +0 -1
  455. package/dist/esm/schedules/temp.js.map +0 -1
  456. package/dist/esm/service/api/base/aioclient.js.map +0 -1
  457. package/dist/esm/service/api/base/blclient.js.map +0 -1
  458. package/dist/esm/service/api/base/bsclient.js.map +0 -1
  459. package/dist/esm/service/api/base/index.js +0 -5
  460. package/dist/esm/service/api/base/index.js.map +0 -1
  461. package/dist/esm/service/api/base/ssclient.js.map +0 -1
  462. package/dist/esm/service/api/index.js.map +0 -1
  463. package/dist/esm/service/api/interfaces/beatleader/index.js +0 -6
  464. package/dist/esm/service/api/interfaces/beatleader/index.js.map +0 -1
  465. package/dist/esm/service/api/interfaces/beatsaver/index.js +0 -6
  466. package/dist/esm/service/api/interfaces/beatsaver/index.js.map +0 -1
  467. package/dist/esm/service/api/interfaces/scoresaber/index.js +0 -4
  468. package/dist/esm/service/api/interfaces/scoresaber/index.js.map +0 -1
  469. package/dist/esm/service/api/sortScore.js.map +0 -1
  470. package/dist/esm/service/index.js +0 -1
  471. package/dist/esm/service/index.js.map +0 -1
  472. package/dist/esm/service/preference.js.map +0 -1
  473. package/dist/esm/service/render/index.js.map +0 -1
  474. package/dist/esm/service/render/interfaces.js +0 -1
  475. package/dist/esm/service/render/interfaces.js.map +0 -1
  476. package/dist/esm/ws/beatleader.js.map +0 -1
  477. package/dist/esm/ws/beatsaver.js.map +0 -1
  478. package/dist/esm/ws/bl-filter.js +0 -1
  479. package/dist/esm/ws/bl-filter.js.map +0 -1
  480. package/dist/esm/ws/index.js +0 -5
  481. package/dist/esm/ws/index.js.map +0 -1
  482. package/dist/esm/ws/scoresaber.js +0 -53
  483. package/dist/esm/ws/scoresaber.js.map +0 -1
  484. package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
  485. package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
  486. package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
  487. package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
  488. package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
  489. package/dist/types/cmd/bind/index.d.ts +0 -41
  490. package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
  491. package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
  492. package/dist/types/cmd/bsmap/latest.d.ts +0 -41
  493. package/dist/types/cmd/config/index.d.ts +0 -2
  494. package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
  495. package/dist/types/cmd/index.d.ts +0 -34
  496. package/dist/types/cmd/rank.d.ts +0 -41
  497. package/dist/types/cmd/score.d.ts +0 -41
  498. package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
  499. package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
  500. package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
  501. package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
  502. package/dist/types/cmd/subscribe/index.d.ts +0 -41
  503. package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
  504. package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
  505. package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
  506. package/dist/types/components/components/RankDifficulty.d.ts +0 -10
  507. package/dist/types/components/components/base/avatar.d.ts +0 -10
  508. package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
  509. package/dist/types/components/components/bl-score-item.d.ts +0 -10
  510. package/dist/types/components/components/characteristic.d.ts +0 -9
  511. package/dist/types/components/components/flag.d.ts +0 -9
  512. package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
  513. package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
  514. package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
  515. package/dist/types/components/components/progressbar.d.ts +0 -8
  516. package/dist/types/components/components/scoreItem.d.ts +0 -8
  517. package/dist/types/components/components/scoregraph.d.ts +0 -15
  518. package/dist/types/components/components/skill-graph.d.ts +0 -9
  519. package/dist/types/components/components/socre-badge.d.ts +0 -9
  520. package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
  521. package/dist/types/components/components/ss-score-item.d.ts +0 -8
  522. package/dist/types/components/index.d.ts +0 -5
  523. package/dist/types/components/pages/bl-player.d.ts +0 -11
  524. package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
  525. package/dist/types/components/pages/bl-score.d.ts +0 -15
  526. package/dist/types/components/pages/bs-map.d.ts +0 -11
  527. package/dist/types/components/pages/index.d.ts +0 -14
  528. package/dist/types/components/pages/ss-player.d.ts +0 -13
  529. package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
  530. package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
  531. package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
  532. package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
  533. package/dist/types/components/utils/bl/getPart.d.ts +0 -9
  534. package/dist/types/components/utils/bl/stastic.d.ts +0 -3
  535. package/dist/types/components/utils/canvas.d.ts +0 -2
  536. package/dist/types/components/utils/format.d.ts +0 -8
  537. package/dist/types/components/utils/getMods.d.ts +0 -5
  538. package/dist/types/components/utils/index.d.ts +0 -6
  539. package/dist/types/components/utils/qrcode.d.ts +0 -3
  540. package/dist/types/components/utils/sleep.d.ts +0 -3
  541. package/dist/types/components/utils/tag-format.d.ts +0 -3
  542. package/dist/types/components/utils/tw-join.d.ts +0 -5
  543. package/dist/types/config.d.ts +0 -30
  544. package/dist/types/index-Dagy_c8G.d.ts +0 -74
  545. package/dist/types/infra/errors/index.d.ts +0 -69
  546. package/dist/types/infra/i18n/index.d.ts +0 -4
  547. package/dist/types/infra/i18n/parser.d.ts +0 -16
  548. package/dist/types/infra/index.d.ts +0 -6
  549. package/dist/types/infra/s3/index.d.ts +0 -20
  550. package/dist/types/infra/support/cache.d.ts +0 -6
  551. package/dist/types/infra/support/fetch/error.d.ts +0 -11
  552. package/dist/types/infra/support/fetch/index.d.ts +0 -7
  553. package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
  554. package/dist/types/infra/support/render/index.d.ts +0 -38
  555. package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
  556. package/dist/types/interface/bot.d.ts +0 -22
  557. package/dist/types/interface/cmd/builder.d.ts +0 -53
  558. package/dist/types/interface/cmd/type.d.ts +0 -30
  559. package/dist/types/interface/db/index.d.ts +0 -45
  560. package/dist/types/interface/db/models.d.ts +0 -41
  561. package/dist/types/interface/index.d.ts +0 -30
  562. package/dist/types/interface/logger.d.ts +0 -8
  563. package/dist/types/schedules/index.d.ts +0 -40
  564. package/dist/types/schedules/interface.d.ts +0 -45
  565. package/dist/types/schedules/temp.d.ts +0 -35
  566. package/dist/types/service/api/base/aioclient.d.ts +0 -13
  567. package/dist/types/service/api/base/blclient.d.ts +0 -28
  568. package/dist/types/service/api/base/bsclient.d.ts +0 -29
  569. package/dist/types/service/api/base/index.d.ts +0 -19
  570. package/dist/types/service/api/base/ssclient.d.ts +0 -17
  571. package/dist/types/service/api/index.d.ts +0 -59
  572. package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
  573. package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
  574. package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
  575. package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
  576. package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
  577. package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
  578. package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
  579. package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
  580. package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
  581. package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
  582. package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
  583. package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
  584. package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
  585. package/dist/types/service/api/interfaces/index.d.ts +0 -14
  586. package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
  587. package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
  588. package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
  589. package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
  590. package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
  591. package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
  592. package/dist/types/service/api/sortScore.d.ts +0 -5
  593. package/dist/types/service/index.d.ts +0 -30
  594. package/dist/types/service/preference.d.ts +0 -38
  595. package/dist/types/service/render/index.d.ts +0 -43
  596. package/dist/types/service/render/interfaces.d.ts +0 -30
  597. package/dist/types/utils/index.d.ts +0 -5
  598. package/dist/types/ws/beatleader.d.ts +0 -47
  599. package/dist/types/ws/beatsaver.d.ts +0 -52
  600. package/dist/types/ws/bl-filter.d.ts +0 -2
  601. package/dist/types/ws/handler.d.ts +0 -8
  602. package/dist/types/ws/index.d.ts +0 -36
  603. package/dist/types/ws/scoresaber.d.ts +0 -47
  604. /package/dist/cjs/{infra/support → common}/cache.js +0 -0
  605. /package/dist/cjs/{infra/support → common}/fetch/error.js +0 -0
  606. /package/dist/cjs/{infra → common}/i18n/parser.js +0 -0
  607. /package/dist/cjs/{infra/support → common}/render/puppeteer.js +0 -0
  608. /package/dist/cjs/{interface → core}/cmd/type.js +0 -0
  609. /package/dist/cjs/{interface → core}/logger.js +0 -0
  610. /package/dist/cjs/{ws → events/ws}/handler.js +0 -0
  611. /package/dist/cjs/{service → services}/api/interfaces/aiosaber/index.js +0 -0
  612. /package/dist/cjs/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
  613. /package/dist/cjs/{service → services}/api/interfaces/beatleader/req.js +0 -0
  614. /package/dist/cjs/{service → services}/api/interfaces/beatleader/score.js +0 -0
  615. /package/dist/cjs/{service → services}/api/interfaces/beatleader/user.js +0 -0
  616. /package/dist/cjs/{service → services}/api/interfaces/beatleader/ws.js +0 -0
  617. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
  618. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
  619. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
  620. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/user.js +0 -0
  621. /package/dist/cjs/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
  622. /package/dist/cjs/{service → services}/api/interfaces/index.js +0 -0
  623. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/item.js +0 -0
  624. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
  625. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
  626. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/user.js +0 -0
  627. /package/dist/cjs/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
  628. /package/dist/cjs/{service → services}/api/sortScore.js +0 -0
  629. /package/dist/cjs/{service → services}/preference.js +0 -0
  630. /package/dist/esm/{infra/support → common}/cache.js +0 -0
  631. /package/dist/esm/{infra/support → common}/fetch/error.js +0 -0
  632. /package/dist/esm/{infra → common}/i18n/parser.js +0 -0
  633. /package/dist/esm/{infra/support → common}/render/puppeteer.js +0 -0
  634. /package/dist/esm/{interface → core}/cmd/type.js +0 -0
  635. /package/dist/esm/{interface → core}/cmd/type.js.map +0 -0
  636. /package/dist/{cjs/ws/bl-filter.js.map → esm/core/domain.js.map} +0 -0
  637. /package/dist/esm/{interface/bot.js.map → core/event.js.map} +0 -0
  638. /package/dist/esm/{interface → core}/logger.js +0 -0
  639. /package/dist/esm/{interface → core}/logger.js.map +0 -0
  640. /package/dist/esm/{schedules/interface.js.map → core/session.js.map} +0 -0
  641. /package/dist/esm/{ws → events/ws}/handler.js +0 -0
  642. /package/dist/esm/{ws → events/ws}/handler.js.map +0 -0
  643. /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js +0 -0
  644. /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js.map +0 -0
  645. /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
  646. /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js.map +0 -0
  647. /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js +0 -0
  648. /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js.map +0 -0
  649. /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js +0 -0
  650. /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js.map +0 -0
  651. /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js +0 -0
  652. /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js.map +0 -0
  653. /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js +0 -0
  654. /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js.map +0 -0
  655. /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
  656. /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js.map +0 -0
  657. /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
  658. /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js.map +0 -0
  659. /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
  660. /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js.map +0 -0
  661. /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js +0 -0
  662. /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js.map +0 -0
  663. /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
  664. /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js.map +0 -0
  665. /package/dist/esm/{service → services}/api/interfaces/index.js +0 -0
  666. /package/dist/esm/{service → services}/api/interfaces/index.js.map +0 -0
  667. /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js +0 -0
  668. /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js.map +0 -0
  669. /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
  670. /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js.map +0 -0
  671. /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
  672. /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js.map +0 -0
  673. /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js +0 -0
  674. /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js.map +0 -0
  675. /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
  676. /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js.map +0 -0
  677. /package/dist/esm/{service → services}/api/sortScore.js +0 -0
  678. /package/dist/esm/{service → services}/preference.js +0 -0
@@ -1,4 +1,3 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
1
  import {
3
2
  BarChart,
4
3
  Check,
@@ -9,9 +8,10 @@ import {
9
8
  ThumbsDown,
10
9
  Calendar
11
10
  } from "lucide-react";
12
- import { diffConv, formatDuration, formatTime } from "../utils";
13
- import Progressbar from "../components/progressbar";
14
- import ScoreGraph from "../components/scoregraph";
11
+ import { diffConv, formatDuration, formatTime } from "../utils/index.js";
12
+ import Progressbar from "../components/progressbar.js";
13
+ import ScoreGraph from "../components/scoregraph.js";
14
+ import React from "react";
15
15
  function BLScore({
16
16
  score,
17
17
  bsMap,
@@ -21,177 +21,75 @@ function BLScore({
21
21
  }) {
22
22
  var _a, _b;
23
23
  const bg = "https://www.loliapi.com/acg/pc/";
24
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
24
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
25
25
  "div",
26
26
  {
27
27
  className: "flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none",
28
- id: "render-result",
29
- children: [
30
- /* @__PURE__ */ jsxs(
31
- "div",
32
- {
33
- className: "bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10",
34
- children: [
35
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-4 items-center justify-between text-xl font-bold", children: [
36
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold", children: [
37
- /* @__PURE__ */ jsx(
38
- "img",
39
- {
40
- loading: "eager",
41
- className: "h-16 w-16 rounded-full",
42
- src: score.player.avatar
43
- }
44
- ),
45
- /* @__PURE__ */ jsx("div", { children: score.player.name })
46
- ] }),
47
- /* @__PURE__ */ jsxs(
48
- "div",
49
- {
50
- className: "w-[100px] flex items-center justify-center flex-col",
51
- children: [
52
- /* @__PURE__ */ jsx(
53
- "img",
54
- {
55
- src: qrcodeUrl,
56
- width: 80,
57
- height: 80,
58
- className: "w-[80px] aspect-square"
59
- }
60
- ),
61
- /* @__PURE__ */ jsx("span", { className: "text-xs", children: "replay" })
62
- ]
63
- }
64
- )
65
- ] }),
66
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-4 h-40", children: [
67
- /* @__PURE__ */ jsx(
68
- "img",
69
- {
70
- className: "h-40 w-40 rounded-md",
71
- src: score.song.cover
72
- }
73
- ),
74
- /* @__PURE__ */ jsxs("div", { className: "text-xs font-bold flex flex-col justify-between", children: [
75
- /* @__PURE__ */ jsx("div", { className: "text-xl text-ellipsis line-clamp-2", children: score.song.name }),
76
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-2 items-center text-sm", children: [
77
- /* @__PURE__ */ jsx(
78
- "img",
79
- {
80
- className: "h-4 w-4 rounded-full",
81
- src: bsMap.uploader.avatar
82
- }
83
- ),
84
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx("div", { className: "text-ellipsis line-clamp-1", children: score.song.mapper }) })
85
- ] }),
86
- /* @__PURE__ */ jsxs("div", { className: "text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal", children: [
87
- /* @__PURE__ */ jsxs("div", { className: "flex items-center text-ellipsis col-span-3 line-clamp-1", children: [
88
- /* @__PURE__ */ jsx(Calendar, { className: "h-3 w-3" }),
89
- /* @__PURE__ */ jsx("span", { children: formatTime(bsMap.lastPublishedAt) })
90
- ] }),
91
- /* @__PURE__ */ jsxs("div", { children: [
92
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(BarChart, { className: "w-3 h-3" }) }),
93
- /* @__PURE__ */ jsx("span", { children: diffConv(score.difficulty.difficultyName) })
94
- ] }),
95
- /* @__PURE__ */ jsxs("div", { children: [
96
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Star, { className: "w-3 h-3" }) }),
97
- /* @__PURE__ */ jsxs("span", { children: [
98
- (_b = (_a = score.difficulty.stars) == null ? void 0 : _a.toFixed(2)) != null ? _b : "none",
99
- " "
100
- ] })
101
- ] }),
102
- /* @__PURE__ */ jsxs("div", { children: [
103
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Key, { className: "w-3 h-3" }) }),
104
- /* @__PURE__ */ jsx("span", { children: score.song.id.toLowerCase().replaceAll("x", "") })
105
- ] }),
106
- /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
107
- /* @__PURE__ */ jsx(ThumbsUp, { className: "h-3 w-3" }),
108
- /* @__PURE__ */ jsx("span", { children: bsMap.stats.upvotes })
109
- ] }),
110
- /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
111
- /* @__PURE__ */ jsx(ThumbsDown, { className: "h-3 w-3" }),
112
- /* @__PURE__ */ jsx("span", { children: bsMap.stats.downvotes })
113
- ] }),
114
- /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
115
- /* @__PURE__ */ jsx(Clock, { className: "h-3 w-3" }),
116
- /* @__PURE__ */ jsx("span", { children: formatDuration(bsMap.metadata.duration) })
117
- ] })
118
- ] }),
119
- /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 text-xs font-normal", children: [
120
- /* @__PURE__ */ jsx(Progressbar, { value: bsMap.stats.score * 100 }),
121
- /* @__PURE__ */ jsxs("span", { children: [
122
- (bsMap.stats.score * 100).toFixed(2),
123
- " %"
124
- ] })
125
- ] })
126
- ] })
127
- ] }),
128
- /* @__PURE__ */ jsxs("div", { className: "text-xl font-bold pt-2", children: [
129
- /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
130
- /* @__PURE__ */ jsxs("span", { children: [
131
- " # ",
132
- score.rank
133
- ] }),
134
- /* @__PURE__ */ jsxs("span", { children: [
135
- score.pp.toFixed(2),
136
- " PP"
137
- ] })
138
- ] }),
139
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
140
- /* @__PURE__ */ jsx("span", { children: "Accuracy" }),
141
- /* @__PURE__ */ jsxs("span", { children: [
142
- (score.accuracy * 100).toFixed(2),
143
- " %"
144
- ] })
145
- ] }),
146
- score.fullCombo && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
147
- /* @__PURE__ */ jsx("span", { children: "Full Combo" }),
148
- /* @__PURE__ */ jsx(Check, {})
149
- ] }),
150
- score.maxCombo && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
151
- /* @__PURE__ */ jsx("span", { children: "Max Combo" }),
152
- /* @__PURE__ */ jsx("span", { children: score.maxCombo })
153
- ] }),
154
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
155
- /* @__PURE__ */ jsx("span", { children: "Missed Notes" }),
156
- /* @__PURE__ */ jsx("span", { children: score.missedNotes })
157
- ] }),
158
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
159
- /* @__PURE__ */ jsx("span", { children: "Total Mistakes" }),
160
- /* @__PURE__ */ jsx("span", { children: score.missedNotes })
161
- ] }),
162
- score.modifiers && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
163
- /* @__PURE__ */ jsx("span", { children: "Modifiers" }),
164
- /* @__PURE__ */ jsx("span", { children: score.modifiers })
165
- ] })
166
- ] }),
167
- /* @__PURE__ */ jsxs("div", { className: "align-end mt-auto mb-2", children: [
168
- /* @__PURE__ */ jsx("span", { className: "text-xl font-bold", children: "AccGraph" }),
169
- /* @__PURE__ */ jsx(
170
- ScoreGraph,
171
- {
172
- scoreId: score.id,
173
- scoreInfo: score,
174
- statistic,
175
- bsor,
176
- height: 192,
177
- width: 400
178
- }
179
- )
180
- ] })
181
- ]
182
- }
183
- ),
184
- /* @__PURE__ */ jsx(
28
+ id: "render-result"
29
+ },
30
+ /* @__PURE__ */ React.createElement(
31
+ "div",
32
+ {
33
+ className: "bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10"
34
+ },
35
+ /* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 items-center justify-between text-xl font-bold" }, /* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold" }, /* @__PURE__ */ React.createElement(
36
+ "img",
37
+ {
38
+ loading: "eager",
39
+ className: "h-16 w-16 rounded-full",
40
+ src: score.player.avatar
41
+ }
42
+ ), /* @__PURE__ */ React.createElement("div", null, score.player.name)), /* @__PURE__ */ React.createElement(
43
+ "div",
44
+ {
45
+ className: "w-[100px] flex items-center justify-center flex-col"
46
+ },
47
+ /* @__PURE__ */ React.createElement(
185
48
  "img",
186
49
  {
187
- src: bg,
188
- className: "inset-0 rounded-lg absolute h-full object-cover",
189
- loading: "eager"
50
+ src: qrcodeUrl,
51
+ width: 80,
52
+ height: 80,
53
+ className: "w-[80px] aspect-square"
190
54
  }
191
- )
192
- ]
193
- }
194
- ) });
55
+ ),
56
+ /* @__PURE__ */ React.createElement("span", { className: "text-xs" }, "replay")
57
+ )),
58
+ /* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 h-40" }, /* @__PURE__ */ React.createElement(
59
+ "img",
60
+ {
61
+ className: "h-40 w-40 rounded-md",
62
+ src: score.song.cover
63
+ }
64
+ ), /* @__PURE__ */ React.createElement("div", { className: "text-xs font-bold flex flex-col justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "text-xl text-ellipsis line-clamp-2" }, score.song.name), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2 items-center text-sm" }, /* @__PURE__ */ React.createElement(
65
+ "img",
66
+ {
67
+ className: "h-4 w-4 rounded-full",
68
+ src: bsMap.uploader.avatar
69
+ }
70
+ ), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "text-ellipsis line-clamp-1" }, score.song.mapper))), /* @__PURE__ */ React.createElement("div", { className: "text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center text-ellipsis col-span-3 line-clamp-1" }, /* @__PURE__ */ React.createElement(Calendar, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, formatTime(bsMap.lastPublishedAt))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(BarChart, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, diffConv(score.difficulty.difficultyName))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Star, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, (_b = (_a = score.difficulty.stars) == null ? void 0 : _a.toFixed(2)) != null ? _b : "none", " ")), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Key, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, score.song.id.toLowerCase().replaceAll("x", ""))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(ThumbsUp, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.stats.upvotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(ThumbsDown, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.stats.downvotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(Clock, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, formatDuration(bsMap.metadata.duration)))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center space-x-2 text-xs font-normal" }, /* @__PURE__ */ React.createElement(Progressbar, { value: bsMap.stats.score * 100 }), /* @__PURE__ */ React.createElement("span", null, (bsMap.stats.score * 100).toFixed(2), " %")))),
71
+ /* @__PURE__ */ React.createElement("div", { className: "text-xl font-bold pt-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex justify-between" }, /* @__PURE__ */ React.createElement("span", null, " # ", score.rank), /* @__PURE__ */ React.createElement("span", null, score.pp.toFixed(2), " PP")), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Accuracy"), /* @__PURE__ */ React.createElement("span", null, (score.accuracy * 100).toFixed(2), " %")), score.fullCombo && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Full Combo"), /* @__PURE__ */ React.createElement(Check, null)), score.maxCombo && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Max Combo"), /* @__PURE__ */ React.createElement("span", null, score.maxCombo)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Missed Notes"), /* @__PURE__ */ React.createElement("span", null, score.missedNotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Total Mistakes"), /* @__PURE__ */ React.createElement("span", null, score.missedNotes)), score.modifiers && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Modifiers"), /* @__PURE__ */ React.createElement("span", null, score.modifiers))),
72
+ /* @__PURE__ */ React.createElement("div", { className: "align-end mt-auto mb-2" }, /* @__PURE__ */ React.createElement("span", { className: "text-xl font-bold" }, "AccGraph"), /* @__PURE__ */ React.createElement(
73
+ ScoreGraph,
74
+ {
75
+ scoreId: score.id,
76
+ scoreInfo: score,
77
+ statistic,
78
+ bsor,
79
+ height: 192,
80
+ width: 400
81
+ }
82
+ ))
83
+ ),
84
+ /* @__PURE__ */ React.createElement(
85
+ "img",
86
+ {
87
+ src: bg,
88
+ className: "inset-0 rounded-lg absolute h-full object-cover",
89
+ loading: "eager"
90
+ }
91
+ )
92
+ ));
195
93
  }
196
94
  export {
197
95
  BLScore
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/pages/bl-score.tsx"],"sourcesContent":["/** @jsxImportSource react */\nimport {\n BarChart,\n Check,\n Key,\n Star,\n Clock,\n ThumbsUp,\n ThumbsDown,\n Calendar,\n} from 'lucide-react'\nimport { diffConv, formatDuration, formatTime } from '../utils'\nimport Progressbar from '../components/progressbar'\nimport ScoreGraph from '../components/scoregraph'\nimport React from 'react'\nimport { BSOR, Score } from '@/service/api/interfaces/beatleader'\nimport { BSMap } from '@/service/api/interfaces/beatsaver'\n\ninterface BLScoreProps {\n score: Score\n bsMap: BSMap\n statistic: any\n bsor: BSOR\n qrcodeUrl: string\n}\n\nexport function BLScore({\n score,\n bsMap,\n statistic,\n bsor,\n qrcodeUrl,\n}: BLScoreProps) {\n const bg = 'https://www.loliapi.com/acg/pc/'\n return (\n <>\n <div\n className={\n 'flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none'\n }\n id=\"render-result\"\n >\n <div\n className={\n 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10'\n }\n >\n <div className=\"flex space-x-4 items-center justify-between text-xl font-bold\">\n <div className=\"flex space-x-4 items-center justify-between text-2xl font-bold\">\n <img\n loading={'eager'}\n className={'h-16 w-16 rounded-full'}\n src={score.player.avatar}\n // fallback={score.player.name.slice(0, 1)}\n />\n <div>{score.player.name}</div>\n </div>\n <div\n className={'w-[100px] flex items-center justify-center flex-col'}\n >\n <img\n src={qrcodeUrl}\n width={80}\n height={80}\n className={'w-[80px] aspect-square'}\n />\n <span className={'text-xs'}>replay</span>\n </div>\n </div>\n <div className=\"flex space-x-4 h-40\">\n <img\n className={'h-40 w-40 rounded-md'}\n src={score.song.cover}\n // fallback={score.song.name.slice(0, 1)}\n />\n <div className=\"text-xs font-bold flex flex-col justify-between\">\n <div className=\"text-xl text-ellipsis line-clamp-2\">\n {score.song.name}\n </div>\n <div className=\"flex space-x-2 items-center text-sm\">\n <img\n className={'h-4 w-4 rounded-full'}\n src={bsMap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n />\n <div className=\"flex items-center justify-between\">\n <div className=\"text-ellipsis line-clamp-1\">\n {score.song.mapper}\n </div>\n </div>\n </div>\n <div className=\"text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal\">\n <div className=\"flex items-center text-ellipsis col-span-3 line-clamp-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{formatTime(bsMap.lastPublishedAt)}</span>\n </div>\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>{diffConv(score.difficulty.difficultyName)}</span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{score.difficulty.stars?.toFixed(2) ?? 'none'} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{score.song.id.toLowerCase().replaceAll('x', '')}</span>\n </div>\n\n <div className=\"flex items-center\">\n <ThumbsUp className=\"h-3 w-3\" />\n <span>{bsMap.stats.upvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <ThumbsDown className=\"h-3 w-3\" />\n <span>{bsMap.stats.downvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <Clock className=\"h-3 w-3\" />\n <span>{formatDuration(bsMap.metadata.duration)}</span>\n </div>\n </div>\n <div className=\"flex items-center space-x-2 text-xs font-normal\">\n <Progressbar value={bsMap.stats.score * 100} />\n <span>{(bsMap.stats.score * 100).toFixed(2)} %</span>\n </div>\n </div>\n </div>\n <div className=\"text-xl font-bold pt-2\">\n <div className=\"flex justify-between\">\n <span> # {score.rank}</span>\n <span>{score.pp.toFixed(2)} PP</span>\n </div>\n {\n <div className=\"flex items-center justify-between\">\n <span>Accuracy</span>\n <span>{(score.accuracy * 100).toFixed(2)} %</span>\n </div>\n }\n {score.fullCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Full Combo</span>\n <Check />\n </div>\n )}\n {score.maxCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Max Combo</span>\n <span>{score.maxCombo}</span>\n </div>\n )}\n {\n <div className=\"flex items-center justify-between\">\n <span>Missed Notes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {\n <div className=\"flex items-center justify-between\">\n <span>Total Mistakes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {score.modifiers && (\n <div className=\"flex items-center justify-between\">\n <span>Modifiers</span>\n <span>{score.modifiers}</span>\n </div>\n )}\n </div>\n <div className=\"align-end mt-auto mb-2\">\n <span className=\"text-xl font-bold\">AccGraph</span>\n <ScoreGraph\n scoreId={score.id}\n scoreInfo={score}\n statistic={statistic}\n bsor={bsor}\n height={192}\n width={400}\n />\n </div>\n </div>\n\n <img\n src={bg}\n className={'inset-0 rounded-lg absolute h-full object-cover'}\n loading={'eager'}\n />\n </div>\n </>\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/pages/bl-score.tsx"],"sourcesContent":["import {\n BarChart,\n Check,\n Key,\n Star,\n Clock,\n ThumbsUp,\n ThumbsDown,\n Calendar,\n} from 'lucide-react'\nimport { diffConv, formatDuration, formatTime } from '../utils'\nimport Progressbar from '../components/progressbar'\nimport ScoreGraph from '../components/scoregraph'\nimport React from 'react'\nimport { BSOR, Score } from '@/services/api/interfaces/beatleader'\nimport { BSMap } from '@/services/api/interfaces/beatsaver'\n\ninterface BLScoreProps {\n score: Score\n bsMap: BSMap\n statistic: any\n bsor: BSOR\n qrcodeUrl: string\n}\n\nexport function BLScore({\n score,\n bsMap,\n statistic,\n bsor,\n qrcodeUrl,\n}: BLScoreProps) {\n const bg = 'https://www.loliapi.com/acg/pc/'\n return (\n <>\n <div\n className={\n 'flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none'\n }\n id=\"render-result\"\n >\n <div\n className={\n 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10'\n }\n >\n <div className=\"flex space-x-4 items-center justify-between text-xl font-bold\">\n <div className=\"flex space-x-4 items-center justify-between text-2xl font-bold\">\n <img\n loading={'eager'}\n className={'h-16 w-16 rounded-full'}\n src={score.player.avatar}\n // fallback={score.player.name.slice(0, 1)}\n />\n <div>{score.player.name}</div>\n </div>\n <div\n className={'w-[100px] flex items-center justify-center flex-col'}\n >\n <img\n src={qrcodeUrl}\n width={80}\n height={80}\n className={'w-[80px] aspect-square'}\n />\n <span className={'text-xs'}>replay</span>\n </div>\n </div>\n <div className=\"flex space-x-4 h-40\">\n <img\n className={'h-40 w-40 rounded-md'}\n src={score.song.cover}\n // fallback={score.song.name.slice(0, 1)}\n />\n <div className=\"text-xs font-bold flex flex-col justify-between\">\n <div className=\"text-xl text-ellipsis line-clamp-2\">\n {score.song.name}\n </div>\n <div className=\"flex space-x-2 items-center text-sm\">\n <img\n className={'h-4 w-4 rounded-full'}\n src={bsMap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n />\n <div className=\"flex items-center justify-between\">\n <div className=\"text-ellipsis line-clamp-1\">\n {score.song.mapper}\n </div>\n </div>\n </div>\n <div className=\"text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal\">\n <div className=\"flex items-center text-ellipsis col-span-3 line-clamp-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{formatTime(bsMap.lastPublishedAt)}</span>\n </div>\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>{diffConv(score.difficulty.difficultyName)}</span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{score.difficulty.stars?.toFixed(2) ?? 'none'} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{score.song.id.toLowerCase().replaceAll('x', '')}</span>\n </div>\n\n <div className=\"flex items-center\">\n <ThumbsUp className=\"h-3 w-3\" />\n <span>{bsMap.stats.upvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <ThumbsDown className=\"h-3 w-3\" />\n <span>{bsMap.stats.downvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <Clock className=\"h-3 w-3\" />\n <span>{formatDuration(bsMap.metadata.duration)}</span>\n </div>\n </div>\n <div className=\"flex items-center space-x-2 text-xs font-normal\">\n <Progressbar value={bsMap.stats.score * 100} />\n <span>{(bsMap.stats.score * 100).toFixed(2)} %</span>\n </div>\n </div>\n </div>\n <div className=\"text-xl font-bold pt-2\">\n <div className=\"flex justify-between\">\n <span> # {score.rank}</span>\n <span>{score.pp.toFixed(2)} PP</span>\n </div>\n {\n <div className=\"flex items-center justify-between\">\n <span>Accuracy</span>\n <span>{(score.accuracy * 100).toFixed(2)} %</span>\n </div>\n }\n {score.fullCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Full Combo</span>\n <Check />\n </div>\n )}\n {score.maxCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Max Combo</span>\n <span>{score.maxCombo}</span>\n </div>\n )}\n {\n <div className=\"flex items-center justify-between\">\n <span>Missed Notes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {\n <div className=\"flex items-center justify-between\">\n <span>Total Mistakes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {score.modifiers && (\n <div className=\"flex items-center justify-between\">\n <span>Modifiers</span>\n <span>{score.modifiers}</span>\n </div>\n )}\n </div>\n <div className=\"align-end mt-auto mb-2\">\n <span className=\"text-xl font-bold\">AccGraph</span>\n <ScoreGraph\n scoreId={score.id}\n scoreInfo={score}\n statistic={statistic}\n bsor={bsor}\n height={192}\n width={400}\n />\n </div>\n </div>\n\n <img\n src={bg}\n className={'inset-0 rounded-lg absolute h-full object-cover'}\n loading={'eager'}\n />\n </div>\n </>\n )\n}\n"],"mappings":"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","names":[]}
@@ -1,5 +1,5 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import RankIcon from "../components/icons/RankIcon";
1
+ import React from "react";
2
+ import RankIcon from "../components/icons/RankIcon.js";
3
3
  import {
4
4
  Calendar,
5
5
  Clock,
@@ -11,10 +11,10 @@ import {
11
11
  ThumbsUp
12
12
  } from "lucide-react";
13
13
  import dayjs from "dayjs";
14
- import { diffConv, formatNumber, formatTime, getTag } from "../utils";
15
- import { getMods } from "../utils/getMods";
16
- import Progressbar from "../components/progressbar";
17
- import { CharacteristicIcon } from "../components/characteristic";
14
+ import { diffConv, formatNumber, formatTime, getTag } from "../utils/index.js";
15
+ import { getMods } from "../utils/getMods.js";
16
+ import Progressbar from "../components/progressbar.js";
17
+ import { CharacteristicIcon } from "../components/characteristic.js";
18
18
  function BSMapShare({
19
19
  bsMap,
20
20
  bsMapQrUrl,
@@ -22,171 +22,100 @@ function BSMapShare({
22
22
  }) {
23
23
  var _a, _b, _c, _d;
24
24
  const bg = "https://www.loliapi.com/acg/pe/";
25
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
25
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
26
26
  "div",
27
27
  {
28
28
  className: "w-[400px] rounded-none flex flex-col relative h-auto my-auto",
29
- id: "render-result",
30
- children: /* @__PURE__ */ jsxs("div", { className: "relative z-10", children: [
31
- /* @__PURE__ */ jsxs(
29
+ id: "render-result"
30
+ },
31
+ /* @__PURE__ */ React.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React.createElement(
32
+ "div",
33
+ {
34
+ className: "bg-blend-darken bg-black/[.8] text-white rounded-none"
35
+ },
36
+ /* @__PURE__ */ React.createElement(
37
+ "img",
38
+ {
39
+ src: bsMap.versions[0].coverURL,
40
+ className: "w-[400px]",
41
+ loading: "eager",
42
+ alt: "bsmap cover"
43
+ }
44
+ ),
45
+ /* @__PURE__ */ React.createElement("div", { className: "flex w-full h-auto flex-col" }, /* @__PURE__ */ React.createElement("div", { className: "p-4" }, /* @__PURE__ */ React.createElement("div", { className: "text-ellipsis line-clamp-2" }, /* @__PURE__ */ React.createElement("span", { className: "text-ellipsis line-clamp-2 text-xl font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300" }, bsMap.name)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "author flex space-x-4 items-center " }, /* @__PURE__ */ React.createElement(
46
+ "img",
47
+ {
48
+ src: bsMap.uploader.avatar,
49
+ className: "rounded-full w-8 h-8",
50
+ loading: "eager",
51
+ alt: "bsmap mapper avatar"
52
+ }
53
+ ), /* @__PURE__ */ React.createElement("span", { className: "text-xl" }, bsMap.uploader.name))), /* @__PURE__ */ React.createElement("div", { className: "meta flex space-x-4 text-xs py-2 items-center" }, /* @__PURE__ */ React.createElement(RankIcon, { blrank: bsMap.blRanked, ssrank: bsMap.ranked }), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(HeartPulse, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.metadata.bpm.toFixed(0))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(Clock, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", null, dayjs.duration(bsMap.metadata.duration, "seconds").format("mm:ss"))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(Key, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", { className: "font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300" }, bsMap.id)), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2 text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Calendar, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatTime(bsMap.lastPublishedAt)))), /* @__PURE__ */ React.createElement("div", { className: "tags flex flex-wrap justify-start" }, (_b = (_a = bsMap.tags) == null ? void 0 : _a.sort((a, b) => b.length - a.length)) == null ? void 0 : _b.map((item) => /* @__PURE__ */ React.createElement(
54
+ "span",
55
+ {
56
+ className: "text-xs mx-1 text-white bg-red-500 rounded px-1",
57
+ key: item
58
+ },
59
+ getTag(item)
60
+ ))), /* @__PURE__ */ React.createElement("div", { className: "tags flex flex-wrap justify-start pt-2" }, (_d = (_c = getMods(bsMap)) == null ? void 0 : _c.sort((a, b) => b.length - a.length)) == null ? void 0 : _d.map((item) => /* @__PURE__ */ React.createElement(
61
+ "span",
62
+ {
63
+ className: "text-xs mx-1 text-white bg-blue-500 rounded px-1",
64
+ key: item
65
+ },
66
+ item
67
+ ))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2" }, /* @__PURE__ */ React.createElement("div", { className: "percentage w-42 py-2 flex text-xs items-center space-x-4" }, /* @__PURE__ */ React.createElement(Progressbar, { value: bsMap.stats.score * 100 }), /* @__PURE__ */ React.createElement("span", null, (bsMap.stats.score * 100).toFixed(1), "%")), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(ThumbsUp, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatNumber(bsMap.stats.upvotes))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(ThumbsDown, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatNumber(bsMap.stats.downvotes)))), /* @__PURE__ */ React.createElement("span", { className: "font-bold" }, "\u96BE\u5EA6"), /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-2" }, bsMap.versions[0].diffs.map((diff) => {
68
+ var _a2;
69
+ return /* @__PURE__ */ React.createElement(
32
70
  "div",
33
71
  {
34
- className: "bg-blend-darken bg-black/[.8] text-white rounded-none",
35
- children: [
36
- /* @__PURE__ */ jsx(
37
- "img",
38
- {
39
- src: bsMap.versions[0].coverURL,
40
- className: "w-[400px]",
41
- loading: "eager",
42
- alt: "bsmap cover"
43
- }
44
- ),
45
- /* @__PURE__ */ jsx("div", { className: "flex w-full h-auto flex-col", children: /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
46
- /* @__PURE__ */ jsx("div", { className: "text-ellipsis line-clamp-2", children: /* @__PURE__ */ jsx("span", { className: "text-ellipsis line-clamp-2 text-xl font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300", children: bsMap.name }) }),
47
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs("div", { className: "author flex space-x-4 items-center ", children: [
48
- /* @__PURE__ */ jsx(
49
- "img",
50
- {
51
- src: bsMap.uploader.avatar,
52
- className: "rounded-full w-8 h-8",
53
- loading: "eager",
54
- alt: "bsmap mapper avatar"
55
- }
56
- ),
57
- /* @__PURE__ */ jsx("span", { className: "text-xl", children: bsMap.uploader.name })
58
- ] }) }),
59
- /* @__PURE__ */ jsxs("div", { className: "meta flex space-x-4 text-xs py-2 items-center", children: [
60
- /* @__PURE__ */ jsx(RankIcon, { blrank: bsMap.blRanked, ssrank: bsMap.ranked }),
61
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center justify-between", children: [
62
- /* @__PURE__ */ jsx(HeartPulse, { className: "w-3 h-3" }),
63
- /* @__PURE__ */ jsx("span", { children: bsMap.metadata.bpm.toFixed(0) })
64
- ] }),
65
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center justify-between", children: [
66
- /* @__PURE__ */ jsx(Clock, { className: "w-3 h-3" }),
67
- /* @__PURE__ */ jsx("span", { children: dayjs.duration(bsMap.metadata.duration, "seconds").format("mm:ss") })
68
- ] }),
69
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center justify-between", children: [
70
- /* @__PURE__ */ jsx(Key, { className: "w-3 h-3" }),
71
- /* @__PURE__ */ jsx("span", { className: "font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300", children: bsMap.id })
72
- ] }),
73
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-2 text-xs", children: [
74
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Calendar, { className: "h-3 w-3" }) }),
75
- /* @__PURE__ */ jsx("span", { children: formatTime(bsMap.lastPublishedAt) })
76
- ] })
77
- ] }),
78
- /* @__PURE__ */ jsx("div", { className: "tags flex flex-wrap justify-start", children: (_b = (_a = bsMap.tags) == null ? void 0 : _a.sort((a, b) => b.length - a.length)) == null ? void 0 : _b.map((item) => /* @__PURE__ */ jsx(
79
- "span",
80
- {
81
- className: "text-xs mx-1 text-white bg-red-500 rounded px-1",
82
- children: getTag(item)
83
- },
84
- item
85
- )) }),
86
- /* @__PURE__ */ jsx("div", { className: "tags flex flex-wrap justify-start pt-2", children: (_d = (_c = getMods(bsMap)) == null ? void 0 : _c.sort((a, b) => b.length - a.length)) == null ? void 0 : _d.map((item) => /* @__PURE__ */ jsx(
87
- "span",
88
- {
89
- className: "text-xs mx-1 text-white bg-blue-500 rounded px-1",
90
- children: item
91
- },
92
- item
93
- )) }),
94
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-2", children: [
95
- /* @__PURE__ */ jsxs("div", { className: "percentage w-42 py-2 flex text-xs items-center space-x-4", children: [
96
- /* @__PURE__ */ jsx(Progressbar, { value: bsMap.stats.score * 100 }),
97
- /* @__PURE__ */ jsxs("span", { children: [
98
- (bsMap.stats.score * 100).toFixed(1),
99
- "%"
100
- ] })
101
- ] }),
102
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center text-xs", children: [
103
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(ThumbsUp, { className: "h-3 w-3" }) }),
104
- /* @__PURE__ */ jsx("span", { children: formatNumber(bsMap.stats.upvotes) })
105
- ] }),
106
- /* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center text-xs", children: [
107
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(ThumbsDown, { className: "h-3 w-3" }) }),
108
- /* @__PURE__ */ jsx("span", { children: formatNumber(bsMap.stats.downvotes) })
109
- ] })
110
- ] }),
111
- /* @__PURE__ */ jsx("span", { className: "font-bold", children: "\u96BE\u5EA6" }),
112
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2", children: bsMap.versions[0].diffs.map((diff) => {
113
- var _a2;
114
- return /* @__PURE__ */ jsxs(
115
- "div",
116
- {
117
- className: "text-xs space-x-1 flex items-center",
118
- children: [
119
- /* @__PURE__ */ jsx("span", { className: "h-3 w-3 shrink-0", children: /* @__PURE__ */ jsx(
120
- CharacteristicIcon,
121
- {
122
- characteristic: diff.characteristic
123
- }
124
- ) }),
125
- /* @__PURE__ */ jsx("span", { children: diffConv(diff.difficulty) }),
126
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Gauge, { className: "w-3 h-3 ml-1" }) }),
127
- /* @__PURE__ */ jsx("span", { children: diff.nps.toFixed(2) }),
128
- diff.stars && /* @__PURE__ */ jsxs(Fragment, { children: [
129
- /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Star, { className: "w-3 h-3 ml-1" }) }),
130
- /* @__PURE__ */ jsx("span", { children: (_a2 = diff.stars) == null ? void 0 : _a2.toFixed(2) })
131
- ] })
132
- ]
133
- },
134
- diff.difficulty + diff.characteristic
135
- );
136
- }) }),
137
- /* @__PURE__ */ jsx("span", { className: "font-bold", children: "\u63CF\u8FF0" }),
138
- /* @__PURE__ */ jsx("p", { className: "text-xs", children: bsMap.description }),
139
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between pt-2", children: [
140
- /* @__PURE__ */ jsx(
141
- "div",
142
- {
143
- className: "text-[10px] text-opacity-70 text-slate-100 align-bottom mt-auto mb-0",
144
- children: "Powered by BSBot"
145
- }
146
- ),
147
- /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
148
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
149
- /* @__PURE__ */ jsx(
150
- "img",
151
- {
152
- width: 80,
153
- height: 80,
154
- src: bsMapQrUrl,
155
- className: "w-20 h-20"
156
- }
157
- ),
158
- /* @__PURE__ */ jsx("div", { className: "text-[8px] font-light", children: "beatsaver" })
159
- ] }),
160
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
161
- /* @__PURE__ */ jsx(
162
- "img",
163
- {
164
- width: 80,
165
- height: 80,
166
- src: previewQrUrl,
167
- className: "w-20 h-20"
168
- }
169
- ),
170
- /* @__PURE__ */ jsx("div", { className: "text-[8px] font-light", children: "preview" })
171
- ] })
172
- ] })
173
- ] })
174
- ] }) })
175
- ]
176
- }
177
- ),
178
- /* @__PURE__ */ jsx(
179
- "img",
180
- {
181
- src: bg,
182
- className: "inset-0 absolute h-full object-cover -z-10",
183
- loading: "eager",
184
- alt: "random background img"
185
- }
186
- )
187
- ] })
188
- }
189
- ) });
72
+ key: diff.difficulty + diff.characteristic,
73
+ className: "text-xs space-x-1 flex items-center"
74
+ },
75
+ /* @__PURE__ */ React.createElement("span", { className: "h-3 w-3 shrink-0" }, /* @__PURE__ */ React.createElement(
76
+ CharacteristicIcon,
77
+ {
78
+ characteristic: diff.characteristic
79
+ }
80
+ )),
81
+ /* @__PURE__ */ React.createElement("span", null, diffConv(diff.difficulty)),
82
+ /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Gauge, { className: "w-3 h-3 ml-1" })),
83
+ /* @__PURE__ */ React.createElement("span", null, diff.nps.toFixed(2)),
84
+ diff.stars && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Star, { className: "w-3 h-3 ml-1" })), /* @__PURE__ */ React.createElement("span", null, (_a2 = diff.stars) == null ? void 0 : _a2.toFixed(2)))
85
+ );
86
+ })), /* @__PURE__ */ React.createElement("span", { className: "font-bold" }, "\u63CF\u8FF0"), /* @__PURE__ */ React.createElement("p", { className: "text-xs" }, bsMap.description), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between pt-2" }, /* @__PURE__ */ React.createElement(
87
+ "div",
88
+ {
89
+ className: "text-[10px] text-opacity-70 text-slate-100 align-bottom mt-auto mb-0"
90
+ },
91
+ "Powered by BSBot"
92
+ ), /* @__PURE__ */ React.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React.createElement(
93
+ "img",
94
+ {
95
+ width: 80,
96
+ height: 80,
97
+ src: bsMapQrUrl,
98
+ className: "w-20 h-20"
99
+ }
100
+ ), /* @__PURE__ */ React.createElement("div", { className: "text-[8px] font-light" }, "beatsaver")), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React.createElement(
101
+ "img",
102
+ {
103
+ width: 80,
104
+ height: 80,
105
+ src: previewQrUrl,
106
+ className: "w-20 h-20"
107
+ }
108
+ ), /* @__PURE__ */ React.createElement("div", { className: "text-[8px] font-light" }, "preview"))))))
109
+ ), /* @__PURE__ */ React.createElement(
110
+ "img",
111
+ {
112
+ src: bg,
113
+ className: "inset-0 absolute h-full object-cover -z-10",
114
+ loading: "eager",
115
+ alt: "random background img"
116
+ }
117
+ ))
118
+ ));
190
119
  }
191
120
  export {
192
121
  BSMapShare as default