beatsaber-bot-core 0.2.0-dev.9 → 0.2.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 (201) hide show
  1. package/lib/api/base/aioclient.d.ts +11 -0
  2. package/lib/api/base/aioclient.js +20 -0
  3. package/lib/api/base/aioclient.js.map +1 -0
  4. package/lib/api/base/blclient.d.ts +18 -0
  5. package/lib/api/base/blclient.js +60 -0
  6. package/lib/api/base/blclient.js.map +1 -0
  7. package/lib/api/base/bsclient.d.ts +17 -0
  8. package/lib/api/base/bsclient.js +75 -0
  9. package/lib/api/base/bsclient.js.map +1 -0
  10. package/lib/api/base/index.d.ts +4 -12
  11. package/lib/api/base/index.js +4 -4
  12. package/lib/api/base/index.js.map +1 -1
  13. package/lib/api/base/scRequest.d.ts +2 -0
  14. package/lib/api/base/scRequest.js +28 -13
  15. package/lib/api/base/scRequest.js.map +1 -1
  16. package/lib/api/base/ssclient.d.ts +13 -0
  17. package/lib/api/base/ssclient.js +48 -0
  18. package/lib/api/base/ssclient.js.map +1 -0
  19. package/lib/api/composed/beatleader.d.ts +3 -3
  20. package/lib/api/composed/beatleader.js +22 -9
  21. package/lib/api/composed/beatleader.js.map +1 -1
  22. package/lib/api/composed/beatsaver.d.ts +2 -3
  23. package/lib/api/composed/beatsaver.js +2 -1
  24. package/lib/api/composed/beatsaver.js.map +1 -1
  25. package/lib/api/composed/scoresaber.js +5 -1
  26. package/lib/api/composed/scoresaber.js.map +1 -1
  27. package/lib/api/error.d.ts +9 -0
  28. package/lib/api/error.js +27 -0
  29. package/lib/api/error.js.map +1 -0
  30. package/lib/api/helper.d.ts +19 -0
  31. package/lib/api/helper.js +102 -0
  32. package/lib/api/helper.js.map +1 -0
  33. package/lib/api/index.d.ts +6 -23
  34. package/lib/api/index.js +22 -113
  35. package/lib/api/index.js.map +1 -1
  36. package/lib/api/interfaces/beatsaver/bsmap.d.ts +2 -0
  37. package/lib/api/interfaces/beatsaver/index.d.ts +2 -1
  38. package/lib/api/interfaces/index.d.ts +12 -0
  39. package/lib/api/interfaces/index.js +3 -0
  40. package/lib/api/interfaces/index.js.map +1 -0
  41. package/lib/api/interfaces/scoresaber/item.d.ts +12 -3
  42. package/lib/api/interfaces/scoresaber/leaderboard.d.ts +10 -0
  43. package/lib/api/interfaces/scoresaber/leaderboard.js +3 -0
  44. package/lib/api/interfaces/scoresaber/leaderboard.js.map +1 -0
  45. package/lib/cmd/bind/bind-beatleader.js +15 -17
  46. package/lib/cmd/bind/bind-beatleader.js.map +1 -1
  47. package/lib/cmd/bind/bind-beatsaver.js +27 -21
  48. package/lib/cmd/bind/bind-beatsaver.js.map +1 -1
  49. package/lib/cmd/bind/bind-id-beatleader.js +8 -10
  50. package/lib/cmd/bind/bind-id-beatleader.js.map +1 -1
  51. package/lib/cmd/bind/bind-id-beatsaver.js +8 -10
  52. package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -1
  53. package/lib/cmd/bind/bind-scoresaber.js +7 -9
  54. package/lib/cmd/bind/bind-scoresaber.js.map +1 -1
  55. package/lib/cmd/bind/index.js +6 -3
  56. package/lib/cmd/bind/index.js.map +1 -1
  57. package/lib/cmd/bsmap/id-search.js +5 -6
  58. package/lib/cmd/bsmap/id-search.js.map +1 -1
  59. package/lib/cmd/bsmap/key-search.js +10 -10
  60. package/lib/cmd/bsmap/key-search.js.map +1 -1
  61. package/lib/cmd/bsmap/latest.js +13 -19
  62. package/lib/cmd/bsmap/latest.js.map +1 -1
  63. package/lib/cmd/config/index.d.ts +12 -0
  64. package/lib/cmd/config/index.js +70 -0
  65. package/lib/cmd/config/index.js.map +1 -0
  66. package/lib/cmd/deprecated/me.d.ts +1 -1
  67. package/lib/cmd/deprecated/me.js +6 -6
  68. package/lib/cmd/deprecated/me.js.map +1 -1
  69. package/lib/cmd/deprecated/tmp.js +2 -0
  70. package/lib/cmd/deprecated/tmp.js.map +1 -1
  71. package/lib/cmd/deprecated/whois.js +2 -2
  72. package/lib/cmd/deprecated/whois.js.map +1 -1
  73. package/lib/cmd/help.js +2 -2
  74. package/lib/cmd/index.js +3 -1
  75. package/lib/cmd/index.js.map +1 -1
  76. package/lib/cmd/rank.js +12 -18
  77. package/lib/cmd/rank.js.map +1 -1
  78. package/lib/cmd/score.d.ts +1 -1
  79. package/lib/cmd/score.js +20 -12
  80. package/lib/cmd/score.js.map +1 -1
  81. package/lib/cmd/subscribe/group-beatleader-score.d.ts +2 -0
  82. package/lib/cmd/subscribe/group-beatleader-score.js +41 -0
  83. package/lib/cmd/subscribe/group-beatleader-score.js.map +1 -0
  84. package/lib/cmd/subscribe/group-beatsaver-mapper.d.ts +2 -0
  85. package/lib/cmd/subscribe/group-beatsaver-mapper.js +42 -0
  86. package/lib/cmd/subscribe/group-beatsaver-mapper.js.map +1 -0
  87. package/lib/cmd/subscribe/id-beatleader-score.d.ts +2 -0
  88. package/lib/cmd/subscribe/id-beatleader-score.js +41 -0
  89. package/lib/cmd/subscribe/id-beatleader-score.js.map +1 -0
  90. package/lib/cmd/subscribe/id-beatsaver-mapper.d.ts +2 -0
  91. package/lib/cmd/subscribe/id-beatsaver-mapper.js +42 -0
  92. package/lib/cmd/subscribe/id-beatsaver-mapper.js.map +1 -0
  93. package/lib/cmd/subscribe/index.js +22 -6
  94. package/lib/cmd/subscribe/index.js.map +1 -1
  95. package/lib/cmd/subscribe/unsubscribe.d.ts +4 -3
  96. package/lib/cmd/subscribe/unsubscribe.js +38 -0
  97. package/lib/cmd/subscribe/unsubscribe.js.map +1 -1
  98. package/lib/config.d.ts +21 -4
  99. package/lib/errors/index.d.ts +30 -0
  100. package/lib/errors/index.js +94 -1
  101. package/lib/errors/index.js.map +1 -1
  102. package/lib/i18n/index.js +17 -11
  103. package/lib/i18n/index.js.map +1 -1
  104. package/lib/i18n/parser.d.ts +14 -0
  105. package/lib/i18n/parser.js +165 -0
  106. package/lib/i18n/parser.js.map +1 -0
  107. package/lib/i18n/zh-cn.json +1 -1
  108. package/lib/img-render/components/RankDifficulty.d.ts +3 -2
  109. package/lib/img-render/components/RankDifficulty.js +8 -2
  110. package/lib/img-render/components/RankDifficulty.js.map +1 -1
  111. package/lib/img-render/components/bl-rank-score-item.d.ts +18 -0
  112. package/lib/img-render/components/bl-rank-score-item.js +42 -0
  113. package/lib/img-render/components/bl-rank-score-item.js.map +1 -0
  114. package/lib/img-render/components/bl-score-item.d.ts +6 -0
  115. package/lib/img-render/components/bl-score-item.js +14 -0
  116. package/lib/img-render/components/bl-score-item.js.map +1 -0
  117. package/lib/img-render/components/blScoreItem.js +2 -2
  118. package/lib/img-render/components/blScoreItem.js.map +1 -1
  119. package/lib/img-render/components/rankScoreItem.d.ts +3 -0
  120. package/lib/img-render/components/rankScoreItem.js +6 -2
  121. package/lib/img-render/components/rankScoreItem.js.map +1 -1
  122. package/lib/img-render/components/scoregraph.js +1 -1
  123. package/lib/img-render/components/scoregraph.js.map +1 -1
  124. package/lib/img-render/components/ss-rank-score-item.d.ts +18 -0
  125. package/lib/img-render/components/ss-rank-score-item.js +42 -0
  126. package/lib/img-render/components/ss-rank-score-item.js.map +1 -0
  127. package/lib/img-render/components/ss-score-item.d.ts +4 -0
  128. package/lib/img-render/components/ss-score-item.js +14 -0
  129. package/lib/img-render/components/ss-score-item.js.map +1 -0
  130. package/lib/img-render/components/ssScoreItem.js +1 -1
  131. package/lib/img-render/components/ssScoreItem.js.map +1 -1
  132. package/lib/img-render/index.d.ts +13 -10
  133. package/lib/img-render/index.js +61 -38
  134. package/lib/img-render/index.js.map +1 -1
  135. package/lib/img-render/interfaces.d.ts +2 -0
  136. package/lib/img-render/render.js +1 -1
  137. package/lib/img-render/render.js.map +1 -1
  138. package/lib/img-render/result/bl-player.d.ts +2 -1
  139. package/lib/img-render/result/bl-player.js +7 -4
  140. package/lib/img-render/result/bl-player.js.map +1 -1
  141. package/lib/img-render/result/bl-score-with-rank.d.ts +14 -0
  142. package/lib/img-render/result/bl-score-with-rank.js +33 -0
  143. package/lib/img-render/result/bl-score-with-rank.js.map +1 -0
  144. package/lib/img-render/result/bs-score-with-rank.js +13 -1
  145. package/lib/img-render/result/bs-score-with-rank.js.map +1 -1
  146. package/lib/img-render/result/index.d.ts +3 -3
  147. package/lib/img-render/result/index.js +7 -7
  148. package/lib/img-render/result/index.js.map +1 -1
  149. package/lib/img-render/result/ss-player.d.ts +2 -1
  150. package/lib/img-render/result/ss-player.js +3 -4
  151. package/lib/img-render/result/ss-player.js.map +1 -1
  152. package/lib/img-render/result/ss-score-with-rank.d.ts +0 -0
  153. package/lib/img-render/result/ss-score-with-rank.js +277 -0
  154. package/lib/img-render/result/ss-score-with-rank.js.map +1 -0
  155. package/lib/img-render/utils/canvas.js +9 -3
  156. package/lib/img-render/utils/canvas.js.map +1 -1
  157. package/lib/img-render/utils/format.d.ts +1 -0
  158. package/lib/img-render/utils/format.js +16 -2
  159. package/lib/img-render/utils/format.js.map +1 -1
  160. package/lib/img-render/utils/qrcode.js +8 -1
  161. package/lib/img-render/utils/qrcode.js.map +1 -1
  162. package/lib/interface/cmd.d.ts +3 -0
  163. package/lib/interface/db/index.d.ts +7 -0
  164. package/lib/interface/db/models.d.ts +5 -0
  165. package/lib/interface/render.d.ts +7 -5
  166. package/lib/schedules/index.d.ts +6 -2
  167. package/lib/schedules/index.js +9 -2
  168. package/lib/schedules/index.js.map +1 -1
  169. package/lib/schedules/interface.d.ts +2 -1
  170. package/lib/schedules/oauthTokenRefreshTask.js +8 -8
  171. package/lib/schedules/oauthTokenRefreshTask.js.map +1 -1
  172. package/lib/schedules/temp.d.ts +2 -1
  173. package/lib/schedules/temp.js +20 -25
  174. package/lib/schedules/temp.js.map +1 -1
  175. package/lib/utils/cache.d.ts +1 -0
  176. package/lib/utils/cache.js +3 -1
  177. package/lib/utils/cache.js.map +1 -1
  178. package/lib/utils/fetch/error.d.ts +9 -0
  179. package/lib/utils/fetch/error.js +27 -0
  180. package/lib/utils/fetch/error.js.map +1 -0
  181. package/lib/utils/fetch/index.d.ts +4 -0
  182. package/lib/utils/fetch/index.js +34 -0
  183. package/lib/utils/fetch/index.js.map +1 -0
  184. package/lib/utils/fetch/ofetch.d.ts +23 -0
  185. package/lib/utils/fetch/ofetch.js +85 -0
  186. package/lib/utils/fetch/ofetch.js.map +1 -0
  187. package/lib/utils/index.d.ts +3 -0
  188. package/lib/utils/index.js +4 -1
  189. package/lib/utils/index.js.map +1 -1
  190. package/lib/utils/preference.d.ts +35 -0
  191. package/lib/utils/preference.js +115 -0
  192. package/lib/utils/preference.js.map +1 -0
  193. package/lib/utils/puppeteer.d.ts +23 -0
  194. package/lib/utils/puppeteer.js +92 -0
  195. package/lib/utils/puppeteer.js.map +1 -0
  196. package/lib/utils/s3.d.ts +11 -0
  197. package/lib/utils/s3.js +60 -0
  198. package/lib/utils/s3.js.map +1 -0
  199. package/lib/ws/beatsaver.js +16 -2
  200. package/lib/ws/beatsaver.js.map +1 -1
  201. package/package.json +12 -4
@@ -15,7 +15,7 @@ function formatNumber(num, digits = 2, addSign = false, notANumber = null) {
15
15
  return notANumber;
16
16
  }
17
17
  return ((addSign && num > 0 ? '+' : '') +
18
- num.toLocaleString(navigator.language, {
18
+ num.toLocaleString('zh-CN', {
19
19
  minimumFractionDigits: digits,
20
20
  maximumFractionDigits: digits,
21
21
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"scoregraph.js","sourceRoot":"","sources":["../../../src/img-render/components/scoregraph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoregraph.js","sourceRoot":"","sources":["../../../src/img-render/components/scoregraph.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ interface ScoreItemProps {
2
+ name: string;
3
+ avatar: string;
4
+ globalRank: number;
5
+ countryCode: string;
6
+ isRegionRank: boolean;
7
+ score: number;
8
+ modifiers: string;
9
+ acc: number;
10
+ pp: number;
11
+ date: number;
12
+ self: boolean;
13
+ }
14
+ export declare function SSRankScoreItem(props: ScoreItemProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ScoreItemSkeleton({ isRegionRank }: {
16
+ isRegionRank: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ScoreItemSkeleton = exports.SSRankScoreItem = void 0;
30
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
+ const dayjs_1 = __importDefault(require("dayjs"));
32
+ const flag_1 = __importStar(require("../../img-render/components/flag"));
33
+ const utils_1 = require("../../img-render/utils");
34
+ function SSRankScoreItem(props) {
35
+ return ((0, jsx_runtime_1.jsx)("div", { className: `${props.self ? 'gradient-border' : ''} bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'w-12 h-12 relative', children: [(0, jsx_runtime_1.jsx)("img", { src: props.avatar, className: "shadow-lg w-12 h-12 rounded-full object-cover" }), (0, jsx_runtime_1.jsx)("div", { className: 'w-3 h-3 absolute bottom-0 right-3', children: (0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: props.countryCode }) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: props.name }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!props.isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", props.globalRank] })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(props.acc * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: props.modifiers.split(',').map((it) => ((0, jsx_runtime_1.jsx)("span", { children: it }, it))) }), (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.numberWithCommas)(props.score) })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-2", children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: (0, utils_1.formatDate)((0, dayjs_1.default)(props.date * 1000).toDate(), 'YY 年 MM 月 DD 日') }) }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsxs)("div", { children: [" ", props.pp.toFixed(2), " PP"] }) }) })] })] }) }));
36
+ }
37
+ exports.SSRankScoreItem = SSRankScoreItem;
38
+ function ScoreItemSkeleton({ isRegionRank }) {
39
+ return ((0, jsx_runtime_1.jsx)("div", { className: `bs-bg-gradient shadow-xl rounded-lg -skew-x-12 w-80 h-20 text-white font-bold flex flex-col p-1 z-10 relative max-w-[300px]`, children: (0, jsx_runtime_1.jsxs)("div", { className: "skew-x-12 relative", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center translate-x-2 justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: 'w-12 h-12 relative', children: (0, jsx_runtime_1.jsx)("img", { src: `https://avatar.iran.liara.run/public`, className: "shadow-lg w-12 h-12 rounded-full object-cover" }) }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: 'line-clamp-1 text-ellipsis max-w-[100px]', children: "\u865A\u4F4D\u4EE5\u5F85" }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [!isRegionRank && (0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsx)("span", { children: "# 0 " })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-end -translate-x-2 -skew-x-3", children: [(0, jsx_runtime_1.jsx)("div", { children: "0.00 %" }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'space-x-1', children: " " }), (0, jsx_runtime_1.jsx)("div", { children: "000,000" })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between mt-0 px-4 -translate-x-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start -skew-x-2 text-xs opacity-60", children: (0, jsx_runtime_1.jsx)("div", { children: "00 \u5E74 00 \u6708 00 \u65E5" }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex gap-1 items-center justify-start translate-x-6 text-xl font-bold text-green-300", children: (0, jsx_runtime_1.jsx)("div", { children: " 0.00 PP" }) })] })] }) }));
40
+ }
41
+ exports.ScoreItemSkeleton = ScoreItemSkeleton;
42
+ //# sourceMappingURL=ss-rank-score-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ss-rank-score-item.js","sourceRoot":"","sources":["../../../src/img-render/components/ss-rank-score-item.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ScoreSaberItem } from '../../api/interfaces/scoresaber';
2
+ export default function SsScoreItem({ scoreItem, }: {
3
+ scoreItem: ScoreSaberItem;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const lucide_react_1 = require("lucide-react");
5
+ const utils_1 = require("../utils");
6
+ const getModifiers = (modifiers) => {
7
+ return modifiers ? modifiers.split(',') : [];
8
+ };
9
+ function SsScoreItem({ scoreItem, }) {
10
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'relative', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: scoreItem.leaderboard.coverImage, className: 'rounded-md h-20 w-20' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col space-y-1 py-0.5', children: [(0, jsx_runtime_1.jsx)("div", { className: 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all', children: scoreItem.leaderboard.songName }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 ', children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(scoreItem.leaderboard.difficulty.difficultyRaw) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [scoreItem.leaderboard.stars, " "] })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: scoreItem.mapId ?? 'unknown' })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *
11
+ 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [scoreItem.score.pp.toFixed(1), "PP"] }), (0, jsx_runtime_1.jsx)("span", { className: 'opacity-70', children: (0, utils_1.formatRelativeTimeByDay)(scoreItem.score.timeSet) })] }), getModifiers(scoreItem.score.modifiers).length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex flex-wrap space-x-2 items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Wrench, { className: "h-3 w-3" }), getModifiers(scoreItem.score.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] }))] })] }), (0, jsx_runtime_1.jsx)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: scoreItem.score.fullCombo && ((0, jsx_runtime_1.jsx)("span", { className: "from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent", children: "FC" })) })] }));
12
+ }
13
+ exports.default = SsScoreItem;
14
+ //# sourceMappingURL=ss-score-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ss-score-item.js","sourceRoot":"","sources":["../../../src/img-render/components/ss-score-item.tsx"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,oCAA4D;AAI5D,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AACD,SAAwB,WAAW,CAAC,EAClC,SAAS,GAGV;IACC,OAAO,CACL,iCAAK,SAAS,EAAE,UAAU,aACxB,iCACE,SAAS,EACP,2EAA2E,aAG7E,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,GACjC,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,SAAS,CAAC,WAAW,CAAC,QAAQ,GAC3B,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,GACpD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CAAO,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,IACvC,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CAAO,SAAS,CAAC,KAAK,IAAI,SAAS,GAAQ,IACvC,IACF,EACN,iCAAK,SAAS,EAAE,wBAAwB,aACtC,6CACG,CACC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;gDAC5D,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAC/B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAEzB,EACP,iCAAM,SAAS,EAAE,YAAY,YAC1B,IAAA,+BAAuB,EAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAC5C,IACH,EACL,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrD,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,IACG,IACF,EACN,gCAAK,SAAS,EAAC,0EAA0E,YACtF,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,CAC5B,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,GACG,IACF,CACP,CAAA;AACH,CAAC;AAtFD,8BAsFC"}
@@ -8,7 +8,7 @@ const getModifiers = (modifiers) => {
8
8
  };
9
9
  function SsScoreItem({ scoreItem, }) {
10
10
  return ((0, jsx_runtime_1.jsxs)("div", { className: 'relative', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md overflow-hidden', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: scoreItem.leaderboard.coverImage, className: 'rounded-md h-20 w-20' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col space-y-1 py-0.5', children: [(0, jsx_runtime_1.jsx)("div", { className: 'font-semibold text-xs text-ellipsis overflow-hidden line-clamp-1 break-all', children: scoreItem.leaderboard.songName }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-xs flex items-center space-x-2 *:flex *:items-center *:space-x-1 ', children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(scoreItem.leaderboard.difficulty.difficultyRaw) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [scoreItem.leaderboard.stars, " "] })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: scoreItem.mapId ?? 'unknown' })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((scoreItem.score.baseScore / scoreItem.leaderboard.maxScore) *
11
- 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [scoreItem.score.pp.toFixed(1), "PP"] })] }), getModifiers(scoreItem.score.modifiers).length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex flex-wrap space-x-2 items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Wrench, { className: "h-3 w-3" }), getModifiers(scoreItem.score.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] }))] })] }), (0, jsx_runtime_1.jsx)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: scoreItem.score.fullCombo && ((0, jsx_runtime_1.jsx)("span", { className: "from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent", children: "FC" })) })] }));
11
+ 100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [scoreItem.score.pp.toFixed(1), "PP"] }), (0, jsx_runtime_1.jsx)("span", { className: 'opacity-70', children: (0, utils_1.formatRelativeTimeByDay)(scoreItem.score.timeSet) })] }), getModifiers(scoreItem.score.modifiers).length > 0 && ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex flex-wrap space-x-2 items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Wrench, { className: "h-3 w-3" }), getModifiers(scoreItem.score.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] }))] })] }), (0, jsx_runtime_1.jsx)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: scoreItem.score.fullCombo && ((0, jsx_runtime_1.jsx)("span", { className: "from-blue-300 to-red-300 bg-gradient-to-r bg-clip-text text-transparent", children: "FC" })) })] }));
12
12
  }
13
13
  exports.default = SsScoreItem;
14
14
  //# sourceMappingURL=ssScoreItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/ssScoreItem.tsx"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,oCAAmC;AAInC,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AACD,SAAwB,WAAW,CAAC,EAClC,SAAS,GAGV;IACC,OAAO,CACL,iCAAK,SAAS,EAAE,UAAU,aACxB,iCACE,SAAS,EACP,2EAA2E,aAG7E,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,GACjC,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,SAAS,CAAC,WAAW,CAAC,QAAQ,GAC3B,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,GACpD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CAAO,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,IACvC,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CAAO,SAAS,CAAC,KAAK,IAAI,SAAS,GAAQ,IACvC,IACF,EACN,iCAAK,SAAS,EAAE,wBAAwB,aACtC,6CACG,CACC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;gDAC5D,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAC/B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAEzB,IACH,EACL,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrD,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,IACG,IACF,EACN,gCAAK,SAAS,EAAC,0EAA0E,YACtF,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,CAC5B,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,GACG,IACF,CACP,CAAA;AACH,CAAC;AAnFD,8BAmFC"}
1
+ {"version":3,"file":"ssScoreItem.js","sourceRoot":"","sources":["../../../src/img-render/components/ssScoreItem.tsx"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,oCAA4D;AAI5D,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;IACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC,CAAA;AACD,SAAwB,WAAW,CAAC,EAClC,SAAS,GAGV;IACC,OAAO,CACL,iCAAK,SAAS,EAAE,UAAU,aACxB,iCACE,SAAS,EACP,2EAA2E,aAG7E,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,GACjC,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,SAAS,CAAC,WAAW,CAAC,QAAQ,GAC3B,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,GACpD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CAAO,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,IACvC,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CAAO,SAAS,CAAC,KAAK,IAAI,SAAS,GAAQ,IACvC,IACF,EACN,iCAAK,SAAS,EAAE,wBAAwB,aACtC,6CACG,CACC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC;gDAC5D,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAC/B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAEzB,EACP,iCAAM,SAAS,EAAE,YAAY,YAC1B,IAAA,+BAAuB,EAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAC5C,IACH,EACL,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrD,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACzD,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,IACG,IACF,EACN,gCAAK,SAAS,EAAC,0EAA0E,YACtF,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,CAC5B,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,GACG,IACF,CACP,CAAA;AACH,CAAC;AAtFD,8BAsFC"}
@@ -1,22 +1,25 @@
1
+ /// <reference types="node" />
1
2
  import { APIService } from '../api';
2
3
  import { RenderOption } from './interfaces';
3
4
  import { Config } from '../config';
4
5
  import { BSMap } from '../api/interfaces/beatsaver';
5
6
  import { ImgRender, Platform } from '../interface';
6
- type HtmlToImgBufferConverter = (html: string, onRenderStart?: () => void, onRenderError?: (e: any) => void) => Promise<any>;
7
+ import { UserPreferenceStore } from '../utils';
8
+ type HtmlToImgBufferConverter = (html: string, onRenderStart?: () => void, onRenderError?: (e: any) => void) => Promise<Buffer>;
9
+ type UrlToImgBufferConverter = HtmlToImgBufferConverter;
7
10
  export declare abstract class RenderService implements ImgRender {
8
11
  config: Config;
9
12
  api: APIService;
10
13
  baseConfig: Partial<RenderOption>;
11
14
  htmlToImgBufferConverter: HtmlToImgBufferConverter;
12
- urlToImgBufferConverter: HtmlToImgBufferConverter;
13
- renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
14
- _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
15
- renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
16
- _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<any>;
17
- renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
18
- renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<any>;
19
- renderUrl(url: string): Promise<any>;
20
- _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<any>;
15
+ urlToImgBufferConverter: UrlToImgBufferConverter;
16
+ renderRank(accountId: string, platform: Platform, userPreference?: UserPreferenceStore, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
17
+ _renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
18
+ renderScore(scoreId: string, platform: Platform, userPreference?: UserPreferenceStore, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
19
+ _renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<Buffer>;
20
+ renderMapById(mapId: string, userPreference?: UserPreferenceStore, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
21
+ renderMap(map: BSMap, userPreference?: UserPreferenceStore, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<Buffer>;
22
+ renderUrl(url: string, onRenderStart?: () => void): Promise<Buffer>;
23
+ _renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<Buffer>;
21
24
  }
22
25
  export {};
@@ -8,6 +8,9 @@ const result_1 = require("./result");
8
8
  const qrcode_1 = __importDefault(require("./utils/qrcode"));
9
9
  const render_1 = require("../img-render/render");
10
10
  const interface_1 = require("../interface");
11
+ const utils_1 = require("../utils");
12
+ const errors_1 = require("../errors");
13
+ const puppeteer_core_1 = require("puppeteer-core");
11
14
  const noop = () => { };
12
15
  class RenderService {
13
16
  config;
@@ -15,7 +18,7 @@ class RenderService {
15
18
  baseConfig;
16
19
  htmlToImgBufferConverter;
17
20
  urlToImgBufferConverter;
18
- async renderRank(accountId, platform, onRenderStart, onRenderError
21
+ async renderRank(accountId, platform, userPreference, onRenderStart, onRenderError
19
22
  // type: 'remote' | 'local' = this.config.renderMode
20
23
  ) {
21
24
  return this._renderRank(accountId, platform, this.api, {
@@ -23,9 +26,20 @@ class RenderService {
23
26
  type: 'local',
24
27
  onRenderError,
25
28
  onRenderStart,
29
+ userPreference,
30
+ }).catch((e) => {
31
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
32
+ console.error(e);
33
+ throw new errors_1.ImageRenderError();
34
+ }
35
+ throw e;
26
36
  });
27
37
  }
28
38
  _renderRank = async (accountId, platform, api, renderOpts) => {
39
+ const bg = (await renderOpts.userPreference.get(platform == interface_1.Platform.SS
40
+ ? utils_1.preferenceKey.ssProfileRenderImg.key
41
+ : utils_1.preferenceKey.blProfileRenderImg.key)) ?? 'https://www.loliapi.com/acg/pc/';
42
+ // get user preference
29
43
  // if (renderOpts.type == 'remote') {
30
44
  // const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
31
45
  // return renderRemoteRank(
@@ -37,80 +51,89 @@ class RenderService {
37
51
  if (platform == interface_1.Platform.BL) {
38
52
  const { scores, userInfo } = await api.BeatLeader.getPlayerScoresWithUserInfo(accountId);
39
53
  //
40
- return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLPlayerComp)(scores, userInfo)), renderOpts.onRenderStart, renderOpts.onRenderError);
54
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLPlayerComp)(scores, userInfo, bg)), renderOpts.onRenderStart, renderOpts.onRenderError);
41
55
  }
42
56
  const { scores, userInfo } = await api.ScoreSaber.getPlayerRecentScoreWithUserInfo(accountId);
43
- return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getSSPlayerComp)(scores, userInfo)), renderOpts.onRenderStart, renderOpts.onRenderError);
57
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getSSPlayerComp)(scores, userInfo, bg)), renderOpts.onRenderStart, renderOpts.onRenderError);
44
58
  };
45
- async renderScore(scoreId, platform, onRenderStart, onRenderError
59
+ async renderScore(scoreId, platform, userPreference, onRenderStart, onRenderError
46
60
  // type: 'remote' | 'local' = this.config.renderMode
47
61
  ) {
48
62
  return this._renderScore(scoreId, platform, this.api, {
49
63
  ...this.baseConfig,
50
64
  type: 'local',
65
+ userPreference,
51
66
  onRenderError,
52
67
  onRenderStart,
68
+ }).catch((e) => {
69
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
70
+ console.error(e);
71
+ throw new errors_1.ImageRenderError();
72
+ }
73
+ throw e;
53
74
  });
54
75
  }
55
76
  _renderScore = async (scoreId, platform, api, renderOpts) => {
56
- const remoteP = 'beat-leader';
57
- // if (renderOpts.type == 'remote') {
58
- // const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
59
- // return renderRemoteScore(scoreId, remoteP, renderOpts as RemoteRenderOpts)
60
- // }
61
- const { score, statistic, bsor, bsMap } = await api.BeatLeader.withRetry(3)
62
- .onRetry((times, e) => {
63
- console.log(`retrying ${times} due to ${e}`);
64
- })
65
- .getScoreAndBSMapByScoreId(scoreId)
66
- .catch((e) => {
67
- throw Error('渲染错误');
68
- });
69
- const { aroundScores, regionTopScores, difficulties } = await api.BeatLeader.withRetry(3).getAroundScoreAndRegionScoreByRankAndPage(score.leaderboardId, score.rank, score.player.country);
70
- // api.BeatLeader
71
- // const qrcodeUrl = await createQrcode(
72
- // `https://replay.beatleader.xyz/?scoreId=${score.id}`
73
- // )
74
- return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLRankScoreComp)(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor)), renderOpts.onRenderStart, renderOpts.onRenderError);
77
+ const bg = (await renderOpts?.userPreference?.get(utils_1.preferenceKey.blScoreImg.key)) ?? 'https://www.loliapi.com/acg/pc/';
78
+ try {
79
+ const { score, statistic, bsor, bsMap } = await api.BeatLeader.getScoreAndBSMapByScoreId(scoreId);
80
+ const { aroundScores, regionTopScores, difficulties } = await api.BeatLeader.getAroundScoreAndRegionScoreByRankAndPage(score.leaderboardId, score.rank, score.player.country);
81
+ return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLRankScoreComp)(score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg)), renderOpts.onRenderStart, renderOpts.onRenderError);
82
+ }
83
+ catch (e) {
84
+ if (e instanceof errors_1.RequestError) {
85
+ throw e;
86
+ }
87
+ throw new errors_1.ImageRenderError();
88
+ }
75
89
  };
76
- async renderMapById(mapId, onRenderStart, onRenderError
90
+ async renderMapById(mapId, userPreference, onRenderStart, onRenderError
77
91
  // type: 'remote' | 'local' = this.config.renderMode
78
92
  ) {
79
93
  const map = await this.api.BeatSaver.searchMapById(mapId);
80
94
  return this._renderMap(map, {
81
95
  ...this.baseConfig,
82
96
  type: 'local',
97
+ userPreference,
83
98
  onRenderError,
84
99
  onRenderStart,
100
+ }).catch((e) => {
101
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
102
+ console.error(e);
103
+ throw new errors_1.ImageRenderError();
104
+ }
105
+ throw e;
85
106
  });
86
107
  }
87
- async renderMap(map, onRenderStart = noop, onRenderError = noop
108
+ async renderMap(map, userPreference, onRenderStart = noop, onRenderError = noop
88
109
  // type: 'remote' | 'local' = this.config.renderMode
89
110
  ) {
90
111
  return this._renderMap(map, {
91
112
  ...this.baseConfig,
92
113
  type: 'local',
114
+ userPreference,
93
115
  onRenderError,
94
116
  onRenderStart,
117
+ }).catch((e) => {
118
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
119
+ console.error(e);
120
+ throw new errors_1.ImageRenderError();
121
+ }
122
+ throw e;
95
123
  });
96
124
  }
97
- async renderUrl(url) {
125
+ async renderUrl(url, onRenderStart) {
98
126
  if (this.urlToImgBufferConverter) {
99
- return this.urlToImgBufferConverter(url);
127
+ return this.urlToImgBufferConverter(url, onRenderStart).catch((e) => {
128
+ if (e instanceof puppeteer_core_1.TimeoutError || e instanceof puppeteer_core_1.PuppeteerError) {
129
+ console.error(e);
130
+ throw new errors_1.ImageRenderError();
131
+ }
132
+ throw e;
133
+ });
100
134
  }
101
135
  }
102
136
  _renderMap = async (bsMap, renderOpts) => {
103
- // if (renderOpts.type == 'remote') {
104
- // for (let i = 0; i < 3; i++) {
105
- // const image = await renderRemoteMap(
106
- // bsMap.id,
107
- // renderOpts as RemoteRenderOpts
108
- // )
109
- // if (image) {
110
- // return image
111
- // }
112
- // }
113
- // }
114
137
  const previewQrUrl = await (0, qrcode_1.default)(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
115
138
  const bsMapQrUrl = await (0, qrcode_1.default)(`https://beatsaver.com/maps/${bsMap.id}`);
116
139
  return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBSMapComp)(bsMap, bsMapQrUrl, previewQrUrl)), renderOpts.onRenderStart, renderOpts.onRenderError);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { UserPreferenceStore } from '../utils';
1
2
  interface BaseRenderOpts {
2
3
  type: 'local' | 'remote';
3
4
  puppeteer: any;
@@ -5,6 +6,7 @@ interface BaseRenderOpts {
5
6
  onRenderError?: (e: any) => void;
6
7
  customBackground?: string;
7
8
  waitTimeout?: number;
9
+ userPreference?: UserPreferenceStore;
8
10
  }
9
11
  export interface RemoteRenderOpts extends BaseRenderOpts {
10
12
  type: 'remote';
@@ -52,7 +52,7 @@ function App({ children }) {
52
52
  }
53
53
 
54
54
  `;
55
- return ((0, jsx_runtime_1.jsxs)("html", { children: [(0, jsx_runtime_1.jsxs)("head", { children: [(0, jsx_runtime_1.jsx)("link", { href: "https://cdn.jsdelivr.net/npm/daisyui@4.7.2/dist/full.min.css", rel: "stylesheet", type: "text/css" }), (0, jsx_runtime_1.jsx)("script", { src: "https://cdn.tailwindcss.com" }), (0, jsx_runtime_1.jsx)("title", { children: "IMG Render" })] }), (0, jsx_runtime_1.jsx)("body", { className: 'bg-red-400 flex w-fit', children: children }), (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: styles } })] }));
55
+ return ((0, jsx_runtime_1.jsxs)("html", { children: [(0, jsx_runtime_1.jsxs)("head", { children: [(0, jsx_runtime_1.jsx)("link", { href: "https://cdn.jsdelivr.net/npm/daisyui@4.7.2/dist/full.min.css", rel: "stylesheet", type: "text/css" }), (0, jsx_runtime_1.jsx)("script", { src: "https://cdn.tailwindcss.com" }), (0, jsx_runtime_1.jsx)("title", { children: "IMG Render" })] }), (0, jsx_runtime_1.jsx)("body", { className: 'bg-black flex w-fit', children: children }), (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: styles } })] }));
56
56
  }
57
57
  exports.default = App;
58
58
  const renderComponent = (child) => {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/img-render/render.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iEAAkD;AAElD,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAkC;IACvD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAA;IACC,OAAO,CACL,6CACE,6CACE,iCACE,IAAI,EAAC,8DAA8D,EACnE,GAAG,EAAC,YAAY,EAChB,IAAI,EAAC,UAAU,GACf,EACF,mCAAQ,GAAG,EAAC,6BAA6B,GAAU,EACnD,2DAAyB,IACpB,EACP,iCAAM,SAAS,EAAE,uBAAuB,YAAG,QAAQ,GAAQ,EAE3D,kCAAO,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IACjD,CACR,CAAA;AACH,CAAC;AAED,kBAAe,GAAG,CAAA;AAEX,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,EAAE;IACxD,IAAI,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,uBAAC,GAAG,cAAE,KAAK,GAAO,CAAC,CAAA;IAC3D,GAAG,GAAG,kBAAkB,GAAG,GAAG,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAEY,QAAA,OAAO,GAAG,uBAAe,CAAA"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/img-render/render.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iEAAkD;AAElD,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAkC;IACvD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAA;IACC,OAAO,CACL,6CACE,6CACE,iCACE,IAAI,EAAC,8DAA8D,EACnE,GAAG,EAAC,YAAY,EAChB,IAAI,EAAC,UAAU,GACf,EACF,mCAAQ,GAAG,EAAC,6BAA6B,GAAU,EACnD,2DAAyB,IACpB,EACP,iCAAM,SAAS,EAAE,qBAAqB,YAAG,QAAQ,GAAQ,EAEzD,kCAAO,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAI,IACjD,CACR,CAAA;AACH,CAAC;AAED,kBAAe,GAAG,CAAA;AAEX,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,EAAE;IACxD,IAAI,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,uBAAC,GAAG,cAAE,KAAK,GAAO,CAAC,CAAA;IAC3D,GAAG,GAAG,kBAAkB,GAAG,GAAG,CAAA;IAC9B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAEY,QAAA,OAAO,GAAG,uBAAe,CAAA"}
@@ -2,6 +2,7 @@ interface BLPlayerInfoProps {
2
2
  beatleaderItems: any;
3
3
  user: any;
4
4
  params?: Record<string, string>;
5
+ bg: string;
5
6
  }
6
- export default function BLPlayerPage({ beatleaderItems, user, params, }: BLPlayerInfoProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function BLPlayerPage({ beatleaderItems: items, user, params, bg, }: BLPlayerInfoProps): import("react/jsx-runtime").JSX.Element;
7
8
  export {};
@@ -31,14 +31,17 @@ const jsx_runtime_1 = require("react/jsx-runtime");
31
31
  const getPart_1 = __importDefault(require("../utils/bl/getPart"));
32
32
  const socre_badge_1 = __importDefault(require("../components/socre-badge"));
33
33
  const skill_graph_1 = __importDefault(require("../components/skill-graph"));
34
- const blScoreItem_1 = __importDefault(require("../components/blScoreItem"));
34
+ const bl_score_item_1 = __importDefault(require("../components/bl-score-item"));
35
35
  const flag_1 = __importStar(require("../components/flag"));
36
36
  const tw_join_1 = require("../utils/tw-join");
37
37
  const blheadset_1 = require("../utils/bl/blheadset");
38
- function BLPlayerPage({ beatleaderItems, user, params, }) {
38
+ function BLPlayerPage({ beatleaderItems: items, user, params, bg, }) {
39
39
  const part = (0, getPart_1.default)(user);
40
- const bg = 'https://www.loliapi.com/acg/pc/';
41
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { id: 'render-result', className: 'flex flex-col justify-center items-center relative h-[720px] w-[1024px] my-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 pb-2", children: [(0, jsx_runtime_1.jsx)("img", { src: user.avater, className: 'h-36 w-36 rounded-md z-10', loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: user.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: user.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 align-items-center ", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'P', count: user.scoreStats.topPlatform }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'H', count: (0, blheadset_1.getHeadsetForHMD)(user.scoreStats.topHMD) }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'R', count: user.scoreStats.rankedPlayCount })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [user.pp, " PP"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "px-3 flex flex-col justify-end items-center grow", children: [user.badges.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-3 gap-2 justify-self-center align-items-cener justify-items-center mb-auto mt-2", children: user.badges.map((badge) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { alt: badge.description, src: badge.image, width: '70px', height: '20px', className: "self-center w-[70px] h-5" }, badge.id) }))) })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-3 gap-2 align-items-center py-2", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS+', count: user.scoreStats.sspPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS', count: user.scoreStats.ssPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S+', count: user.scoreStats.spPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S', count: user.scoreStats.sPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'A', count: user.scoreStats.aPlays })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "ml-auto mr-4 flex justify-center items-center", children: (0, jsx_runtime_1.jsx)(skill_graph_1.default, { factorA: part.accPpPart, factorB: part.techPpPart, factorC: part.passPpPart }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: beatleaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(blScoreItem_1.default, { item: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover', loading: 'eager' })] }) }));
40
+ const beatleaderItems = items.map((it) => ({
41
+ ...it,
42
+ pinned: it.metadata?.pinnedContexts !== undefined,
43
+ }));
44
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { id: 'render-result', className: 'flex flex-col justify-center items-center relative h-[720px] w-[1200px] my-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 pb-2", children: [(0, jsx_runtime_1.jsx)("img", { src: user.avatar, className: 'h-36 w-36 rounded-md z-10', loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: user.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: user.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 align-items-center ", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'P', count: user.scoreStats.topPlatform }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'H', count: (0, blheadset_1.getHeadsetForHMD)(user.scoreStats.topHMD) }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'R', count: user.scoreStats.rankedPlayCount })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [user.pp, " PP"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "px-3 flex flex-col justify-end items-center grow", children: [user.badges.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-3 gap-2 justify-self-center align-items-cener justify-items-center mb-auto mt-2", children: user.badges.map((badge) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { alt: badge.description, src: badge.image, width: '70px', height: '20px', className: "self-center w-[70px] h-5" }, badge.id) }))) })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-3 gap-2 align-items-center py-2", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS+', count: user.scoreStats.sspPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS', count: user.scoreStats.ssPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S+', count: user.scoreStats.spPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S', count: user.scoreStats.sPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'A', count: user.scoreStats.aPlays })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "ml-auto mr-4 flex justify-center items-center", children: (0, jsx_runtime_1.jsx)(skill_graph_1.default, { factorA: part.accPpPart, factorB: part.techPpPart, factorC: part.passPpPart }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: beatleaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(bl_score_item_1.default, { item: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }, 'render-result') }));
42
45
  }
43
46
  exports.default = BLPlayerPage;
44
47
  //# sourceMappingURL=bl-player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,kEAAyC;AACzC,4EAAkD;AAClD,4EAAkD;AAClD,4EAAsD;AACtD,2DAAqD;AACrD,8CAAyC;AACzC,qDAAwD;AAQxD,SAAwB,YAAY,CAAC,EACnC,eAAe,EACf,IAAI,EACJ,MAAM,GACY;IAClB,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,EAAE,GAAG,iCAAiC,CAAA;IAC5C,OAAO,CACL,2DACE,iCACE,EAAE,EAAE,eAAe,EACnB,SAAS,EACP,iFAAiF,aAGnF,iCACE,SAAS,EACP,kIAAkI,aAGpI,iCAAK,SAAS,EAAE,sBAAsB,aACpC,iCAAK,SAAS,EAAC,qBAAqB,aAClC,gCACE,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,SAAS,EAAE,2BAA2B,EACtC,OAAO,EAAE,OAAO,GAChB,EACF,iCAAK,SAAS,EAAE,+BAA+B,aAC7C,iCAAM,SAAS,EAAE,oBAAoB,YAAG,IAAI,CAAC,IAAI,GAAQ,EACzD,iCACE,SAAS,EAAE,+CAA+C,aAE1D,kCAAM,SAAS,EAAC,6BAA6B,aAC3C,uBAAC,gBAAS,KAAG,EACb,mDAAS,IAAI,CAAC,IAAI,IAAQ,IACrB,EACP,kCAAM,SAAS,EAAC,6BAA6B,aAC3C,uBAAC,cAAK,IAAC,cAAc,EAAE,IAAI,CAAC,OAAO,GAAI,EACvC,mDAAS,IAAI,CAAC,WAAW,IAAQ,IAC5B,IACH,EAEN,iCAAK,SAAS,EAAC,gCAAgC,aAC7C,uBAAC,qBAAU,IACT,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,GAClC,EACF,uBAAC,qBAAU,IACT,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,IAAA,4BAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAC/C,EACF,uBAAC,qBAAU,IACT,SAAS,EAAC,mBAAmB,EAC7B,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,GACtC,IACE,EACN,iCACE,SAAS,EAAE,IAAA,gBAAM,EACf,qBAAqB,EACrB,0EAA0E,EAC1E,iBAAiB,CAClB,aAEA,IAAI,CAAC,EAAE,WACJ,IACF,IACF,EACN,iCAAK,SAAS,EAAC,kDAAkD,aAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,gCAAK,SAAS,EAAC,gGAAgG,YAC5G,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,2DACE,gCACE,GAAG,EAAE,KAAK,CAAC,WAAW,EAEtB,GAAG,EAAE,KAAK,CAAC,KAAK,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,0BAA0B,IAJ/B,KAAK,CAAC,EAAE,CAKR,GACN,CACJ,CAAC,GACE,CACP,EAED,iCAAK,SAAS,EAAC,gDAAgD,aAC7D,uBAAC,qBAAU,IAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAI,EAC5D,uBAAC,qBAAU,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAI,EAC1D,uBAAC,qBAAU,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAI,EAC1D,uBAAC,qBAAU,IAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAI,EACxD,uBAAC,qBAAU,IAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAI,IACpD,IAEF,EAEN,gCAAK,SAAS,EAAC,gDAAgD,YAC7D,uBAAC,qBAAU,IACT,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,OAAO,EAAE,IAAI,CAAC,UAAU,GACxB,GACE,IACF,EACN,gCAAK,SAAS,EAAE,wBAAwB,YACrC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,uBAAC,qBAAc,IAAC,IAAI,EAAE,IAAI,IAAO,GAAG,CAAI,CACzC,CAAC,GACE,IACF,EACN,gCACE,GAAG,EAAE,EAAE,EACP,SAAS,EAAE,iDAAiD,EAC5D,OAAO,EAAE,OAAO,GAChB,IACE,GACL,CACJ,CAAA;AACH,CAAC;AAxHD,+BAwHC"}
1
+ {"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BSOR, Score } from '../../api/interfaces/beatleader';
2
+ import { BSMap } from '../../api/interfaces/beatsaver';
3
+ interface BLScoreProps {
4
+ score: Score;
5
+ aroundScores: Score[];
6
+ regionTopScores: Score[];
7
+ bsMap: BSMap;
8
+ difficulties: any[];
9
+ statistic: any;
10
+ bsor: BSOR;
11
+ bg: string;
12
+ }
13
+ export default function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg, }: BLScoreProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const lucide_react_1 = require("lucide-react");
8
+ const scoregraph_1 = __importDefault(require("../components/scoregraph"));
9
+ const bl_rank_score_item_1 = require("../../img-render/components/bl-rank-score-item");
10
+ const RankDifficulty_1 = require("../../img-render/components/RankDifficulty");
11
+ const avatar_1 = require("../../img-render/components/base/avatar");
12
+ const utils_1 = require("../../img-render/utils");
13
+ const progressbar_1 = __importDefault(require("../../img-render/components/progressbar"));
14
+ function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg, }) {
15
+ let aroundScore = aroundScores
16
+ .slice(0, 7)
17
+ .map((it) => ({ ...it, template: false }));
18
+ let regionTopScore = regionTopScores
19
+ .slice(0, 7)
20
+ .map((it) => ({ ...it, template: false }));
21
+ if (aroundScore.length < 7) {
22
+ aroundScore = aroundScore.concat(new Array(7 - aroundScore.length).fill({ template: true }));
23
+ }
24
+ if (regionTopScore.length < 7) {
25
+ regionTopScore = regionTopScore.concat(new Array(7 - regionTopScore.length).fill({ template: true }));
26
+ }
27
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-center items-center relative h-[720px] w-[1165px] my-auto rounded-none', id: "render-result", children: [(0, jsx_runtime_1.jsx)("div", { 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', children: (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between items-start gap-2 grow', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-start justify-between text-xl font-bold grow h-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-16 w-16 rounded-full', src: score.player.avatar, fallback: score.player.name.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { children: score.player.name })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl text-ellipsis line-clamp-2", children: score.song.name }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 h-52", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-52 w-52 rounded-md', src: score.song.cover, fallback: score.song.name.slice(0, 1) }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-bold flex flex-col items-start justify-between grow w-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-2 items-center text-sm", children: [(0, jsx_runtime_1.jsx)(avatar_1.Avatar, { className: 'h-4 w-4 rounded-full', src: bsMap.uploader.avatar, fallback: score.song.mapper.slice(0, 1) }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center justify-between", children: (0, jsx_runtime_1.jsx)("div", { className: "text-ellipsis line-clamp-1", children: score.song.mapper }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs flex gap-2 items-center *:space-x-1 *:flex *:items-center font-normal", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.HeartPulse, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.metadata.bpm.toFixed(0) })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: 'w-3 h-3' }) }), (0, jsx_runtime_1.jsx)("span", { children: score.song.id.toLowerCase().replaceAll('x', '') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Clock, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatDuration)(bsMap.metadata.duration) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center text-ellipsis col-span-2 line-clamp-1", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Calendar, { className: "h-3 w-3" }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatTime)(bsMap.lastPublishedAt) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2 justify-between font-normal", children: [(0, jsx_runtime_1.jsx)(progressbar_1.default, { value: bsMap.stats.score * 100 }), (0, jsx_runtime_1.jsxs)("span", { children: [(bsMap.stats.score * 100).toFixed(2), " %"] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsUp, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.upvotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsDown, { className: "h-3 w-3 mr-0.5" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.downvotes })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'text-lg min-w-60 flex flex-col leading-6', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between items-center", children: [(0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.pp.toFixed(2), " PP"] }), (0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.rank] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Accuracy" }), (0, jsx_runtime_1.jsxs)("span", { children: [(score.accuracy * 100).toFixed(2), " %"] })] }), score.fullCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Full Combo" }), (0, jsx_runtime_1.jsx)(lucide_react_1.Check, {})] })), score.maxCombo && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Max Combo" }), (0, jsx_runtime_1.jsx)("span", { children: score.maxCombo })] })), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Missed Notes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Total Mistakes" }), (0, jsx_runtime_1.jsx)("span", { children: score.missedNotes })] }), score.modifiers && ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-between", children: [(0, jsx_runtime_1.jsx)("span", { children: "Modifiers" }), (0, jsx_runtime_1.jsx)("span", { children: score.modifiers })] }))] })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "text-xl font-bold h-24 w-[500px] rounded-lg mt-auto flex items-center justify-evenly gap-2 ", children: bsMap.versions[0].diffs
28
+ .filter((it) => it.characteristic === 'Standard')
29
+ .map((diff) => ((0, jsx_runtime_1.jsx)(RankDifficulty_1.RankDifficulty, { difficulty: diff.difficulty, star: diff.stars, blStar: diff.blStars, current: score?.difficulty?.modeName === diff?.characteristic &&
30
+ score?.difficulty?.difficultyName === diff?.difficulty }, diff.difficulty))) }), (0, jsx_runtime_1.jsxs)("div", { className: "align-end mt-2 mb-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-xl font-bold", children: "AccGraph" }), (0, jsx_runtime_1.jsx)(scoregraph_1.default, { scoreId: score.id, scoreInfo: score, statistic: statistic, bsor: bsor, height: 240, width: 480 })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between gap-2 items-start mt-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Global Rank" }), aroundScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(bl_rank_score_item_1.BlRankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: false, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(bl_rank_score_item_1.ScoreItemSkeleton, { isRegionRank: false }, idx)))] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-start gap-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-white font-bold text-3xl mr-auto', children: "Region Top Rank" }), regionTopScore.map((cur, idx) => !cur.template ? ((0, jsx_runtime_1.jsx)(bl_rank_score_item_1.BlRankScoreItem, { name: cur.player.name, date: cur.timepost, countryCode: cur.player.country ?? 'CN', avatar: cur.player.avatar, globalRank: cur.rank, score: cur.modifiedScore, modifiers: cur.modifiers, isRegionRank: true, acc: cur.accuracy, pp: cur.pp, self: cur.player.id === score.playerId }, cur.id)) : ((0, jsx_runtime_1.jsx)(bl_rank_score_item_1.ScoreItemSkeleton, { isRegionRank: true }, idx)))] })] })] }) }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 mx-auto w-full rounded-lg absolute h-full object-center', loading: 'eager' })] }) }));
31
+ }
32
+ exports.default = BLRankScore;
33
+ //# sourceMappingURL=bl-score-with-rank.js.map