beatsaber-bot-core 0.2.0-dev.9 → 0.2.0-rc.2
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.
- package/lib/api/base/aioclient.d.ts +11 -0
- package/lib/api/base/aioclient.js +20 -0
- package/lib/api/base/aioclient.js.map +1 -0
- package/lib/api/base/blclient.d.ts +18 -0
- package/lib/api/base/blclient.js +60 -0
- package/lib/api/base/blclient.js.map +1 -0
- package/lib/api/base/bsclient.d.ts +17 -0
- package/lib/api/base/bsclient.js +75 -0
- package/lib/api/base/bsclient.js.map +1 -0
- package/lib/api/base/index.d.ts +4 -12
- package/lib/api/base/index.js +4 -4
- package/lib/api/base/index.js.map +1 -1
- package/lib/api/base/ssclient.d.ts +13 -0
- package/lib/api/base/ssclient.js +48 -0
- package/lib/api/base/ssclient.js.map +1 -0
- package/lib/api/composed/beatleader.d.ts +3 -3
- package/lib/api/composed/beatleader.js +22 -9
- package/lib/api/composed/beatleader.js.map +1 -1
- package/lib/api/composed/beatsaver.d.ts +2 -3
- package/lib/api/composed/beatsaver.js +2 -1
- package/lib/api/composed/beatsaver.js.map +1 -1
- package/lib/api/composed/scoresaber.js +5 -1
- package/lib/api/composed/scoresaber.js.map +1 -1
- package/lib/api/helper.d.ts +19 -0
- package/lib/api/helper.js +102 -0
- package/lib/api/helper.js.map +1 -0
- package/lib/api/index.d.ts +6 -23
- package/lib/api/index.js +22 -113
- package/lib/api/index.js.map +1 -1
- package/lib/api/interfaces/beatsaver/bsmap.d.ts +2 -0
- package/lib/api/interfaces/beatsaver/index.d.ts +2 -1
- package/lib/api/interfaces/index.d.ts +12 -0
- package/lib/api/interfaces/index.js +3 -0
- package/lib/{db → api/interfaces}/index.js.map +1 -1
- package/lib/api/interfaces/scoresaber/item.d.ts +12 -3
- package/lib/api/interfaces/scoresaber/leaderboard.d.ts +10 -0
- package/lib/api/interfaces/scoresaber/leaderboard.js +3 -0
- package/lib/api/interfaces/scoresaber/leaderboard.js.map +1 -0
- package/lib/cmd/bind/bind-beatleader.js +15 -17
- package/lib/cmd/bind/bind-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-beatsaver.js +27 -21
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -1
- package/lib/cmd/bind/bind-id-beatleader.js +8 -10
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-id-beatsaver.js +8 -10
- package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/lib/cmd/bind/bind-scoresaber.js +7 -9
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -1
- package/lib/cmd/bind/index.js +6 -3
- package/lib/cmd/bind/index.js.map +1 -1
- package/lib/cmd/bsmap/id-search.js +5 -6
- package/lib/cmd/bsmap/id-search.js.map +1 -1
- package/lib/cmd/bsmap/key-search.js +10 -10
- package/lib/cmd/bsmap/key-search.js.map +1 -1
- package/lib/cmd/bsmap/latest.js +13 -19
- package/lib/cmd/bsmap/latest.js.map +1 -1
- package/lib/cmd/config/index.d.ts +12 -0
- package/lib/cmd/config/index.js +70 -0
- package/lib/cmd/config/index.js.map +1 -0
- package/lib/cmd/deprecated/me.d.ts +1 -1
- package/lib/cmd/deprecated/me.js +6 -6
- package/lib/cmd/deprecated/me.js.map +1 -1
- package/lib/cmd/deprecated/tmp.js +2 -0
- package/lib/cmd/deprecated/tmp.js.map +1 -1
- package/lib/cmd/deprecated/whois.js +2 -2
- package/lib/cmd/deprecated/whois.js.map +1 -1
- package/lib/cmd/help.js +2 -2
- package/lib/cmd/index.js +3 -1
- package/lib/cmd/index.js.map +1 -1
- package/lib/cmd/rank.js +13 -18
- package/lib/cmd/rank.js.map +1 -1
- package/lib/cmd/score.d.ts +1 -1
- package/lib/cmd/score.js +20 -12
- package/lib/cmd/score.js.map +1 -1
- package/lib/cmd/subscribe/id-beatleader-score.d.ts +2 -0
- package/lib/cmd/subscribe/id-beatleader-score.js +41 -0
- package/lib/cmd/subscribe/id-beatleader-score.js.map +1 -0
- package/lib/cmd/subscribe/id-beatsaver-mapper.d.ts +2 -0
- package/lib/cmd/subscribe/id-beatsaver-mapper.js +42 -0
- package/lib/cmd/subscribe/id-beatsaver-mapper.js.map +1 -0
- package/lib/cmd/subscribe/index.js +22 -6
- package/lib/cmd/subscribe/index.js.map +1 -1
- package/lib/cmd/subscribe/unsubscribe.d.ts +4 -3
- package/lib/cmd/subscribe/unsubscribe.js +38 -0
- package/lib/cmd/subscribe/unsubscribe.js.map +1 -1
- package/lib/config.d.ts +21 -4
- package/lib/errors/index.d.ts +30 -0
- package/lib/errors/index.js +94 -1
- package/lib/errors/index.js.map +1 -1
- package/lib/i18n/index.js +17 -11
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/parser.d.ts +14 -0
- package/lib/i18n/parser.js +165 -0
- package/lib/i18n/parser.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -1
- package/lib/img-render/components/RankDifficulty.d.ts +3 -2
- package/lib/img-render/components/RankDifficulty.js +8 -2
- package/lib/img-render/components/RankDifficulty.js.map +1 -1
- package/lib/img-render/components/{rankScoreItem.d.ts → bl-rank-score-item.d.ts} +4 -1
- package/lib/img-render/components/bl-rank-score-item.js +42 -0
- package/lib/img-render/components/bl-rank-score-item.js.map +1 -0
- package/lib/img-render/components/{blScoreItem.js → bl-score-item.js} +3 -3
- package/lib/img-render/components/bl-score-item.js.map +1 -0
- package/lib/img-render/components/scoregraph.js +1 -1
- package/lib/img-render/components/scoregraph.js.map +1 -1
- package/lib/img-render/components/ss-rank-score-item.d.ts +18 -0
- package/lib/img-render/components/ss-rank-score-item.js +42 -0
- package/lib/img-render/components/ss-rank-score-item.js.map +1 -0
- package/lib/img-render/components/{ssScoreItem.js → ss-score-item.js} +2 -2
- package/lib/img-render/components/ss-score-item.js.map +1 -0
- package/lib/img-render/index.d.ts +13 -10
- package/lib/img-render/index.js +61 -38
- package/lib/img-render/index.js.map +1 -1
- package/lib/img-render/interfaces.d.ts +2 -0
- package/lib/img-render/render.js +1 -1
- package/lib/img-render/render.js.map +1 -1
- package/lib/img-render/result/bl-player.d.ts +2 -1
- package/lib/img-render/result/bl-player.js +7 -4
- package/lib/img-render/result/bl-player.js.map +1 -1
- package/lib/img-render/result/{bs-score-with-rank.d.ts → bl-score-with-rank.d.ts} +2 -1
- package/lib/img-render/result/{bs-score-with-rank.js → bl-score-with-rank.js} +19 -7
- package/lib/img-render/result/bl-score-with-rank.js.map +1 -0
- package/lib/img-render/result/index.d.ts +3 -3
- package/lib/img-render/result/index.js +7 -7
- package/lib/img-render/result/index.js.map +1 -1
- package/lib/img-render/result/ss-player.d.ts +2 -1
- package/lib/img-render/result/ss-player.js +3 -4
- package/lib/img-render/result/ss-player.js.map +1 -1
- package/lib/img-render/utils/canvas.js +9 -3
- package/lib/img-render/utils/canvas.js.map +1 -1
- package/lib/img-render/utils/format.d.ts +1 -0
- package/lib/img-render/utils/format.js +16 -2
- package/lib/img-render/utils/format.js.map +1 -1
- package/lib/img-render/utils/qrcode.js +8 -1
- package/lib/img-render/utils/qrcode.js.map +1 -1
- package/lib/interface/cmd.d.ts +3 -0
- package/lib/interface/db/index.d.ts +7 -0
- package/lib/interface/db/models.d.ts +5 -0
- package/lib/interface/render.d.ts +7 -5
- package/lib/schedules/index.d.ts +6 -2
- package/lib/schedules/index.js +9 -2
- package/lib/schedules/index.js.map +1 -1
- package/lib/schedules/interface.d.ts +2 -1
- package/lib/schedules/oauthTokenRefreshTask.js +8 -8
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -1
- package/lib/schedules/temp.d.ts +2 -1
- package/lib/schedules/temp.js +20 -25
- package/lib/schedules/temp.js.map +1 -1
- package/lib/utils/cache.d.ts +1 -0
- package/lib/utils/cache.js +3 -1
- package/lib/utils/cache.js.map +1 -1
- package/lib/utils/fetch/error.d.ts +9 -0
- package/lib/utils/fetch/error.js +27 -0
- package/lib/utils/fetch/error.js.map +1 -0
- package/lib/utils/fetch/index.d.ts +4 -0
- package/lib/utils/fetch/index.js +34 -0
- package/lib/utils/fetch/index.js.map +1 -0
- package/lib/utils/fetch/ofetch.d.ts +23 -0
- package/lib/utils/fetch/ofetch.js +85 -0
- package/lib/utils/fetch/ofetch.js.map +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.js +4 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/preference.d.ts +35 -0
- package/lib/utils/preference.js +115 -0
- package/lib/utils/preference.js.map +1 -0
- package/lib/utils/puppeteer.d.ts +23 -0
- package/lib/utils/puppeteer.js +92 -0
- package/lib/utils/puppeteer.js.map +1 -0
- package/lib/utils/s3.d.ts +11 -0
- package/lib/utils/s3.js +60 -0
- package/lib/utils/s3.js.map +1 -0
- package/lib/ws/beatsaver.js +16 -2
- package/lib/ws/beatsaver.js.map +1 -1
- package/package.json +12 -4
- package/lib/api/base/aioRequest.d.ts +0 -6
- package/lib/api/base/aioRequest.js +0 -24
- package/lib/api/base/aioRequest.js.map +0 -1
- package/lib/api/base/blRequset.d.ts +0 -12
- package/lib/api/base/blRequset.js +0 -68
- package/lib/api/base/blRequset.js.map +0 -1
- package/lib/api/base/bsRequest.d.ts +0 -24
- package/lib/api/base/bsRequest.js +0 -64
- package/lib/api/base/bsRequest.js.map +0 -1
- package/lib/api/base/scRequest.d.ts +0 -6
- package/lib/api/base/scRequest.js +0 -28
- package/lib/api/base/scRequest.js.map +0 -1
- package/lib/db/index.d.ts +0 -0
- package/lib/db/index.js +0 -1
- package/lib/img-render/components/blScoreItem.js.map +0 -1
- package/lib/img-render/components/rankScoreItem.js +0 -38
- package/lib/img-render/components/rankScoreItem.js.map +0 -1
- package/lib/img-render/components/ssScoreItem.js.map +0 -1
- package/lib/img-render/result/bs-score-with-rank.js.map +0 -1
- /package/lib/img-render/components/{blScoreItem.d.ts → bl-score-item.d.ts} +0 -0
- /package/lib/img-render/components/{ssScoreItem.d.ts → ss-score-item.d.ts} +0 -0
@@ -0,0 +1,165 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.interpolate = exports.Parser = void 0;
|
4
|
+
var TokenType;
|
5
|
+
(function (TokenType) {
|
6
|
+
TokenType[TokenType["TEXT"] = 0] = "TEXT";
|
7
|
+
TokenType[TokenType["OPEN_BRACE"] = 1] = "OPEN_BRACE";
|
8
|
+
TokenType[TokenType["CLOSE_BRACE"] = 2] = "CLOSE_BRACE";
|
9
|
+
TokenType[TokenType["IDENTIFIER"] = 3] = "IDENTIFIER";
|
10
|
+
TokenType[TokenType["QUESTION"] = 4] = "QUESTION";
|
11
|
+
TokenType[TokenType["COLON"] = 5] = "COLON";
|
12
|
+
TokenType[TokenType["STRING"] = 6] = "STRING";
|
13
|
+
})(TokenType || (TokenType = {}));
|
14
|
+
// 插值解析Parser {{}},暂时没转义支持
|
15
|
+
// "😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"
|
16
|
+
class Parser {
|
17
|
+
template;
|
18
|
+
data;
|
19
|
+
tokens = [];
|
20
|
+
current = 0;
|
21
|
+
constructor(template, data) {
|
22
|
+
this.template = template;
|
23
|
+
this.data = data;
|
24
|
+
this.tokenize();
|
25
|
+
}
|
26
|
+
tokenize() {
|
27
|
+
let current = 0;
|
28
|
+
while (current < this.template.length) {
|
29
|
+
let char = this.template[current];
|
30
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
31
|
+
// 处理转义字符
|
32
|
+
const nextChar = this.template[current + 1];
|
33
|
+
if (nextChar === '{' ||
|
34
|
+
nextChar === '}' ||
|
35
|
+
nextChar === '?' ||
|
36
|
+
nextChar === ':' ||
|
37
|
+
nextChar === "'" ||
|
38
|
+
nextChar === '\\') {
|
39
|
+
this.tokens.push({ type: TokenType.TEXT, value: nextChar });
|
40
|
+
current += 2;
|
41
|
+
continue;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
if (char === '{' && this.template[current + 1] === '{') {
|
45
|
+
this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' });
|
46
|
+
current += 2;
|
47
|
+
continue;
|
48
|
+
}
|
49
|
+
if (char === '}' && this.template[current + 1] === '}') {
|
50
|
+
this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' });
|
51
|
+
current += 2;
|
52
|
+
continue;
|
53
|
+
}
|
54
|
+
if (char === '?') {
|
55
|
+
this.tokens.push({ type: TokenType.QUESTION, value: '?' });
|
56
|
+
current++;
|
57
|
+
continue;
|
58
|
+
}
|
59
|
+
if (char === ':') {
|
60
|
+
this.tokens.push({ type: TokenType.COLON, value: ':' });
|
61
|
+
current++;
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
if (char === "'") {
|
65
|
+
let value = '';
|
66
|
+
char = this.template[++current];
|
67
|
+
while (char !== "'" && current < this.template.length) {
|
68
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
69
|
+
char = this.template[++current];
|
70
|
+
}
|
71
|
+
value += char;
|
72
|
+
char = this.template[++current];
|
73
|
+
}
|
74
|
+
if (char === "'")
|
75
|
+
current++;
|
76
|
+
this.tokens.push({ type: TokenType.STRING, value });
|
77
|
+
continue;
|
78
|
+
}
|
79
|
+
if (/[a-zA-Z0-9_]/.test(char)) {
|
80
|
+
let value = '';
|
81
|
+
while (/[a-zA-Z0-9_]/.test(char)) {
|
82
|
+
value += char;
|
83
|
+
char = this.template[++current];
|
84
|
+
}
|
85
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value });
|
86
|
+
continue;
|
87
|
+
}
|
88
|
+
if (/\s/.test(char)) {
|
89
|
+
current++;
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
let value = '';
|
93
|
+
while (current < this.template.length &&
|
94
|
+
char !== '{' &&
|
95
|
+
char !== '}' &&
|
96
|
+
char !== '?' &&
|
97
|
+
char !== ':' &&
|
98
|
+
char !== "'"
|
99
|
+
// &&
|
100
|
+
// !/[a-zA-Z0-9_]/.test(char)
|
101
|
+
) {
|
102
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
103
|
+
value += this.template[++current];
|
104
|
+
}
|
105
|
+
else {
|
106
|
+
value += char;
|
107
|
+
}
|
108
|
+
char = this.template[++current];
|
109
|
+
}
|
110
|
+
if (value) {
|
111
|
+
this.tokens.push({ type: TokenType.TEXT, value });
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
match(...types) {
|
116
|
+
if (this.current >= this.tokens.length)
|
117
|
+
return false;
|
118
|
+
return types.includes(this.tokens[this.current].type);
|
119
|
+
}
|
120
|
+
consume(type) {
|
121
|
+
if (this.match(type)) {
|
122
|
+
return this.tokens[this.current++];
|
123
|
+
}
|
124
|
+
throw new Error(`Expected token type ${type}, but got ${this.tokens[this.current].type}`);
|
125
|
+
}
|
126
|
+
parseExpression() {
|
127
|
+
if (this.match(TokenType.OPEN_BRACE)) {
|
128
|
+
this.consume(TokenType.OPEN_BRACE);
|
129
|
+
const result = this.parseInterpolation();
|
130
|
+
this.consume(TokenType.CLOSE_BRACE);
|
131
|
+
return result;
|
132
|
+
}
|
133
|
+
if (this.match(TokenType.STRING)) {
|
134
|
+
const tmp = this.consume(TokenType.STRING).value;
|
135
|
+
return interpolate(tmp, this.data);
|
136
|
+
}
|
137
|
+
return this.consume(TokenType.TEXT).value;
|
138
|
+
}
|
139
|
+
parseInterpolation() {
|
140
|
+
const identifier = this.consume(TokenType.IDENTIFIER).value;
|
141
|
+
if (this.match(TokenType.QUESTION)) {
|
142
|
+
this.consume(TokenType.QUESTION);
|
143
|
+
const truePart = this.parseExpression();
|
144
|
+
this.consume(TokenType.COLON);
|
145
|
+
const falsePart = this.parseExpression();
|
146
|
+
return this.data[identifier] ? truePart : falsePart;
|
147
|
+
}
|
148
|
+
return this.data[identifier]?.toString() || '';
|
149
|
+
}
|
150
|
+
parse() {
|
151
|
+
// console.log(this.current, this.tokens)
|
152
|
+
let result = '';
|
153
|
+
while (this.current < this.tokens.length) {
|
154
|
+
result += this.parseExpression();
|
155
|
+
}
|
156
|
+
return result;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
exports.Parser = Parser;
|
160
|
+
function interpolate(template, data) {
|
161
|
+
const parser = new Parser(template, data);
|
162
|
+
return parser.parse();
|
163
|
+
}
|
164
|
+
exports.interpolate = interpolate;
|
165
|
+
//# sourceMappingURL=parser.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/i18n/parser.ts"],"names":[],"mappings":";;;AAAA,IAAK,SAQJ;AARD,WAAK,SAAS;IACZ,yCAAI,CAAA;IACJ,qDAAU,CAAA;IACV,uDAAW,CAAA;IACX,qDAAU,CAAA;IACV,iDAAQ,CAAA;IACR,2CAAK,CAAA;IACL,6CAAM,CAAA;AACR,CAAC,EARI,SAAS,KAAT,SAAS,QAQb;AAOD,0BAA0B;AAC1B,mGAAmG;AACnG,MAAa,MAAM;IAKP;IACA;IALF,MAAM,GAAY,EAAE,CAAA;IACpB,OAAO,GAAG,CAAC,CAAA;IAEnB,YACU,QAAgB,EAChB,IAAS;QADT,aAAQ,GAAR,QAAQ,CAAQ;QAChB,SAAI,GAAJ,IAAI,CAAK;QAEjB,IAAI,CAAC,QAAQ,EAAE,CAAA;IACjB,CAAC;IAEO,QAAQ;QACd,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxD,SAAS;gBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;gBAC3C,IACE,QAAQ,KAAK,GAAG;oBAChB,QAAQ,KAAK,GAAG;oBAChB,QAAQ,KAAK,GAAG;oBAChB,QAAQ,KAAK,GAAG;oBAChB,QAAQ,KAAK,GAAG;oBAChB,QAAQ,KAAK,IAAI,EACjB,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC3D,OAAO,IAAI,CAAC,CAAA;oBACZ,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC7D,OAAO,IAAI,CAAC,CAAA;gBACZ,SAAQ;YACV,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9D,OAAO,IAAI,CAAC,CAAA;gBACZ,SAAQ;YACV,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC1D,OAAO,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,KAAK,GAAG,EAAE,CAAA;gBACd,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC/B,OAAO,IAAI,KAAK,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACxD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;oBACjC,CAAC;oBACD,KAAK,IAAI,IAAI,CAAA;oBACb,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,IAAI,KAAK,GAAG;oBAAE,OAAO,EAAE,CAAA;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnD,SAAQ;YACV,CAAC;YAED,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,KAAK,GAAG,EAAE,CAAA;gBACd,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,KAAK,IAAI,IAAI,CAAA;oBACb,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;gBACjC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;gBACvD,SAAQ;YACV,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAA;gBACT,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,GAAG,EAAE,CAAA;YACd,OACE,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC9B,IAAI,KAAK,GAAG;gBACZ,IAAI,KAAK,GAAG;gBACZ,IAAI,KAAK,GAAG;gBACZ,IAAI,KAAK,GAAG;gBACZ,IAAI,KAAK,GAAG;YACZ,KAAK;YACL,6BAA6B;cAC7B,CAAC;gBACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACxD,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,IAAI,CAAA;gBACf,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;YACjC,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,KAAkB;QACjC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAEO,OAAO,CAAC,IAAe;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACpC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CACzE,CAAA;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAA;YAChD,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;IAC3C,CAAC;IAEO,kBAAkB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAA;QAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YACxC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChD,CAAC;IAED,KAAK;QACH,yCAAyC;QACzC,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA7JD,wBA6JC;AAED,SAAgB,WAAW,CAAC,QAAgB,EAAE,IAAI;IAChD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACzC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAA;AACvB,CAAC;AAHD,kCAGC"}
|
package/lib/i18n/zh-cn.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"
|
1
|
+
{"common":{"hello":"你好,我是 bsbot","ping":"pong","render":{"wait":"开始渲染啦,请耐心等待 {{sec}} s"}},"ws":{"subscribe":{"update":"Hello {{username}},你关注的谱师「{{mapperName}}」更新啦!✨"}},"commands":{"bsbot":{"ss":{"account":{"not-found":"☹️没有找到SS用户「{{accountId}}」"}},"bs":{"account":{"not-found":"☹️没有找到BeatSaver用户「{{accountId}}」"}},"bl":{"account":{"not-found":"☹️没有找到BL用户「{{accountId}}」"}},"common":{"error":{"not-implemented":"😳被发现了,这个功能还没实现...","reach-request-retry-limit":"🤕网络重试到达上限、看来 bot 的网络出了点问题","empty-prompt":"看来你什么都没输入,已取消操作"}},"config":{"clear":"成功清除设置:{{key}}","set":{"success":"👍成功设置:{{key}}","fail":"😶🌫️用户偏好设置失败,{{reason}}"},"prompt":"请在30s内输入配置值,类型 {{type}}","unknown-key":"🤨{{input}}是一个未知配置项,不可以设置","all-available-key":"所有可能配置项如下:\n- BLProfile背景图片(bl::profile::render::img)\n- SSProfile背景图片(ss::profile::render::img)\n- BLScore背景图片(bl::score::render::img)\n","show":{"not-implemented":"还没实现展示用户偏好...不过你可以先设置着先"}},"render":{"error":"图片渲染超时/出错...也许稍等一会就好了","request":{"error":"数据获取失败了☹️"}},"help":{"description":"查看帮助 (WIP)","usage":"bbhelp 查看使用方法","examples":"示例\nbbhelp\nbsbot.help"},"message":{"network-error":"☹️似乎发生了网络错误,请稍后重试吧"},"cmp":{"description":"compare 指令 (WIP)"},"who":{"description":"用于查询所@用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbwho 并@某人,如果他/她/它绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbwho @someone\nbsbot.who @someone\nbsbot.who -p ss @someone","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"need-at":"谁?plz 重新执行指令并@ ta","not-bind":"你要查询的ta,还没有绑定哦"},"rank":{"description":"用于查询指定 scoreSaberID 对应用户的 BeatLeader/ScoreSaber 面板","usage":"输入 bbrank + scoreSaberId(也就是steamId)查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbbrank 2169974796454690\nbsbot.rank 2169974796454690\nbsbot.rank -p ss 2169974796454690","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"}},"me":{"description":"用于查询自己绑定用户对应的 BeatLeader/ScoreSaber 面板","usage":"输入 bbme,如果已经绑定了ScoreSaber Id(也就是 steam 的用户 Id),会查询该用户在对应平台的top 24 首 rank 谱面打分,并生成渲染图。","examples":"示例\nbsbot.me\nbbme\nbbme -p ss","options":{"p":"查询的平台,ss 代表 scoresaber,默认为 beatleader"},"not-found":"Ops,似乎还没有绑定到 ScoreSaber 或 BeatLeader","score-not-found":"😯,没有找到用户「{{user}}」谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的BL打分数据"},"bind":{"description":"绑定自己的 ScoreSaberId(也就是 steam 的用户 Id,仅公开信息,无需验证)","usage":"输入 bbbind,后接 userId,按照提示即可绑定","examples":"示例\nbsbot.bind 76561198339986544\nbbbind 76561198339986544","bs":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatSaver 用户 {{name}}({{id}})"},"bl":{"not-found":"☹️什么没有找到,这个 code 真的有效吗?","network-error":"☹️似乎发生了网络错误,请稍后重试吧","unknown-error":"☹️不知道发生了什么,暂时无法绑定,请稍后重试吧","invalid-token":"无效 token,请确认给出的 code 有效。","success":"成功绑定 BeatLeader 用户 {{name}}({{id}})"},"network-error":"☹️似乎发生了网络错误,请稍后重试吧","exist":"另外,你已经绑定了「{{id}}」,继续绑定丢失当前绑定哦","cancel":"已取消","timeout":"已超时取消","not-found":"Ops,没有找到 id 为「{{id}}」的 {{platform]} 用户","ack-prompt":"确定要绑定「{{user}}」吗,30 秒内回复「y」或「yes」以确认,超时或回复其他内容取消操作","success":"🎉,成功绑定「{{user}}」啦"},"score":{"description":"查询用户在Beatleader 上的某次打分成绩,并生成渲染图。","usage":"1. bbscore 加上 beatleader 的 scoreId,即可生成渲染图。\n2. bbscore 加上 Beatsaver 的 mapId,即可查询自己绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图\n3. bbscore 加上 Beatsaver 的 mapId 并@某人,即可查询该用户绑定的Bealeader账号关于该谱面的最高打分,并生成渲染图","examples":"示例\nbsbot.score 13887221\nbbscore 33b62\nbbscore 33b62@someone","not-a-score-id":"似乎不是一个 score ID","not-bind":"你还没有绑定哦,使用 bind 指令进行绑定吧","who-not-bind":"你要查询的ta,还没有绑定哦"},"search":{"description":"按关键词进行谱面搜索","usage":"通过关键字进行谱面搜索,会发送将最相关的 3 个谱面。","examples":"示例\nbsbot.search megalovania\nbbsou megalovania\nbbsearch megalovania","success":"为你奉上关于「{{key}}」的{{length}}首谱面 🎉","not-found":"Ops,关于「{{key}}」什么都没找到","too-long-key":"关键词长度不应该超过 15 哦,因为这样容易什么都找不到,较长的部分已经帮你截掉啦,正在搜索中「{{key}}」"},"id":{"description":"按谱面id查找谱面。","usage":"根据谱面ID查找谱面。","examples":"示例\nbsbot.id 36677\nbbid 36677\n!bsr 36677\n36677","error-map-id":"「{{input}}」似乎不是一个 mapId,正确的 mapId 是这样的哦(3877a)","not-found":"Ops! 似乎没有找到 id 为「{{input}}」的谱面"},"latest":{"description":"查找最新的三首谱面。","usage":"获取最新的三首谱面。","examples":"示例\nbsbot.latest\nbsbot.new\nbbnew","info":"为你奉上最新的 3 首谱面 🎉"},"subscribe":{"description":"订阅 BeatSaber 相关的事件,并主动推送。(RC)","usage":"通过 bbsub 订阅 BeatSaber 相关的事件,当特定事件发生时会进行主动推送。","examples":"示例\nbsbot.subscribe\nbbsub","alert":{"no-bind-bs-id":"你还未绑定 beatsaver,快使用 bbbindbs 进行绑定吧","not-success":"订阅失败,可能是因为凭证已经过期","success":"成功订阅BeatSaver通知,当新通知出现时,会主动推送给你。","invalid-token":"似乎token 已经失效了,快使用 bbbindbs 重新进行绑定吧"},"beatleader":{"exist":"当前群聊/频道已订阅 BeatLeader 打分更新事件","success":"成功订阅 BeatLeader 打分更新事件,当参与群员出现满足条件的打分事件时,会主动推送"},"beatsaver-mapper":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当「{{name}}」发布新谱面时,会主动推送"},"beatsaver":{"exist":"当前群聊/频道已订阅 BeatSaver 谱面更新事件","success":"成功订阅 BeatSaver 谱面更新事件,当参与群员发布新谱面时,会主动推送"},"info":{"none":"当前群聊/频道没有任何 BeatSaber 事件订阅。","header":"当前群聊/频道 BeatSaber 订阅如下:","group-body-item":"订阅类型「{{type}}」","body-item":"订阅类型「{{type}}」{{enable ? '' : '(已禁用)' }}, 共 {{cnt}} 名参与成员","body-item-include-you":"(包括你哦)"},"join":{"description":"加入本群聊订阅的 BeatSaber 相关的事件","usage":"","examples":"示例\nbsbot.subscribe\nbbsub","success":{"beatleader":"成功加入本群Beatleader订阅组,当你打出高分时,会在本群推送","beatsaver":"成功加入本群订阅组,当你发布新谱面时,会在本群推送"},"nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"}},"leave":{"description":"离开本群 BeatSaber 相关事件订阅组","usage":"","examples":"示例\nbsbot.subscribe 查看当前会话的订阅信息\nbbsub\nbbsub --type beatsaver 为当前会话订阅 beatsaver 新谱面事件,当特定新谱面出现,会主动推送\nbbsub --type beatleader 为当前会话订阅 beatleader 打分事件,当满足要求的打分事件出现,会主动推送\nbbsub --type alert 订阅个人 BeatSaver 通知,当 beatsaver 新通知出现,会主动推送","not-exist":{"beatleader":"你还未加入当前群组/频道的 beatleader 打分订阅,无需离开","beatsaver":null},"success":{"beatleader":"成功离开本群「beatleader」订阅组,当你打出高分时,不会再在本群推送了","beatsaver":"成功离开本群「beatsaver」订阅组,当你发布新谱面时,不会再在本群推送了"}}},"unsubscribe":{"description":"取消订阅 BeatSaber 相关的事件。(RC)","usage":"取消通过 bbsub 订阅的 BeatSaber 相关的事件,当特定事件发生时不会进行主动推送。","examples":"示例\nbsbot.unsubscribe\nbbunsub","nosub":{"beatleader":"当前群组/频道未启用 beatleader 打分订阅","beatsaver-mapper":"当前群组/频道未订阅 谱师「{{name}}」的更新,无需取消","beatsaver":"当前群组/频道未启用 beatsaver 谱师订阅"},"success":{"beatleader":"成功禁用 beatleader 打分订阅","beatsaver":"成功禁用 beatsaver 谱师订阅","beatsaver-mapper":"成功禁用谱师「{{name}}」的更新订阅"},"cancel-all":"已成功取消所有更新订阅","cancel":"已取消对谱师「{id}」的更新订阅"}}},"_config":{"beatSaverHost":"BeatSaverOrigin,例如:https://api.beatsaver.com","beatSaverWSHost":"BeatSaverWebSocketOrigin,用于实时监听谱面更新,例如wss://ws.beatsaver.com/maps","renderMode":"谱面图是由插件本地生成/远程获取"}}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
export declare function RankDifficulty({ difficulty,
|
1
|
+
export declare function RankDifficulty({ difficulty, star, blStar, current, }: {
|
2
2
|
difficulty: string;
|
3
|
-
|
3
|
+
star: number | undefined;
|
4
|
+
blStar: number | undefined;
|
4
5
|
current: boolean;
|
5
6
|
}): import("react/jsx-runtime").JSX.Element;
|
@@ -4,8 +4,14 @@ exports.RankDifficulty = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
5
|
const lucide_react_1 = require("lucide-react");
|
6
6
|
const utils_1 = require("../../img-render/utils");
|
7
|
-
function RankDifficulty({ difficulty,
|
8
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: `p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : 'opacity-60'} `, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(difficulty) })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(
|
7
|
+
function RankDifficulty({ difficulty, star, blStar, current, }) {
|
8
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `p-2 rounded-lg bs-bg-gradient ${current ? `gradient-border opacity-100` : 'opacity-60'} `, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.BarChart, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(difficulty) })] }), star && ((0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(SSStar, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [star?.toFixed(2) ?? 'none', " "] })] })), blStar && ((0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center gap-2', children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(BLStar, { className: 'w-4 h-4' }) }), (0, jsx_runtime_1.jsxs)("span", { children: [blStar?.toFixed(2) ?? 'none', " "] })] }))] }));
|
9
9
|
}
|
10
10
|
exports.RankDifficulty = RankDifficulty;
|
11
|
+
const BLStar = (props) => {
|
12
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { ...props, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z", fill: "url(#paint0_linear_36_531)" }), (0, jsx_runtime_1.jsx)("circle", { cx: "8", cy: "8", r: "2", fill: "#D9D9D9" }), (0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "paint0_linear_36_531", x1: "3.50006", y1: "14", x2: "15.0001", y2: "1.00003", gradientUnits: "userSpaceOnUse", children: [(0, jsx_runtime_1.jsx)("stop", { stopColor: "#2A79F8" }), (0, jsx_runtime_1.jsx)("stop", { offset: "0.5", stopColor: "#F41AFF" }), (0, jsx_runtime_1.jsx)("stop", { offset: "1", stopColor: "#FF0303" })] }) })] }));
|
13
|
+
};
|
14
|
+
const SSStar = (props) => {
|
15
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { ...props, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M14.6431 7.17815L11.8306 9.60502L12.6875 13.2344C12.7348 13.4314 12.7226 13.638 12.6525 13.8281C12.5824 14.0182 12.4576 14.1833 12.2937 14.3025C12.1299 14.4217 11.9344 14.4896 11.7319 14.4977C11.5295 14.5059 11.3292 14.4538 11.1563 14.3481L8.00002 12.4056L4.8419 14.3481C4.66904 14.4532 4.46896 14.5048 4.26686 14.4963C4.06476 14.4879 3.86966 14.4199 3.70615 14.3008C3.54263 14.1817 3.41801 14.0169 3.34796 13.8272C3.27792 13.6374 3.26559 13.4312 3.31252 13.2344L4.17252 9.60502L1.36002 7.17815C1.20708 7.04596 1.09648 6.87166 1.04201 6.67699C0.987547 6.48232 0.991641 6.27592 1.05378 6.08356C1.11592 5.89121 1.23336 5.72142 1.39142 5.59541C1.54948 5.4694 1.74116 5.39274 1.94252 5.37502L5.63002 5.07752L7.05252 1.63502C7.12952 1.44741 7.26057 1.28693 7.429 1.17398C7.59744 1.06104 7.79566 1.00073 7.99846 1.00073C8.20126 1.00073 8.39948 1.06104 8.56791 1.17398C8.73635 1.28693 8.8674 1.44741 8.9444 1.63502L10.3663 5.07752L14.0538 5.37502C14.2555 5.39208 14.4478 5.46831 14.6064 5.59415C14.765 5.71999 14.883 5.88984 14.9455 6.08243C15.0081 6.27502 15.0124 6.48178 14.9579 6.6768C14.9035 6.87182 14.7927 7.04644 14.6394 7.17877L14.6431 7.17815Z", fill: "url(#paint0_linear_36_522)" }), (0, jsx_runtime_1.jsx)("path", { d: "M9.90888 6H6.0907V7H9.90888V6Z", fill: "white" }), (0, jsx_runtime_1.jsx)("path", { d: "M8.81825 9H7.18188V10H8.81825V9Z", fill: "white" }), (0, jsx_runtime_1.jsx)("path", { d: "M9.90902 8H8.81812V9H9.90902V8Z", fill: "white" }), (0, jsx_runtime_1.jsx)("path", { d: "M7.18161 8H6.0907V9H7.18161V8Z", fill: "white" }), (0, jsx_runtime_1.jsx)("path", { d: "M11.0002 7H9.9093V8H11.0002V7Z", fill: "white" }), (0, jsx_runtime_1.jsx)("path", { d: "M6.09091 7H5V8H6.09091V7Z", fill: "white" }), (0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsx)("linearGradient", { id: "paint0_linear_36_522", x1: "3.50006", y1: "14", x2: "34.5001", y2: "-12", gradientUnits: "userSpaceOnUse", children: (0, jsx_runtime_1.jsx)("stop", { stopColor: "#FFDE18" }) }) })] }));
|
16
|
+
};
|
11
17
|
//# sourceMappingURL=RankDifficulty.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RankDifficulty.js","sourceRoot":"","sources":["../../../src/img-render/components/RankDifficulty.tsx"],"names":[],"mappings":";;;;AAAA,+CAA6C;AAC7C,8CAA6C;
|
1
|
+
{"version":3,"file":"RankDifficulty.js","sourceRoot":"","sources":["../../../src/img-render/components/RankDifficulty.tsx"],"names":[],"mappings":";;;;AAAA,+CAA6C;AAC7C,8CAA6C;AAG7C,SAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,IAAI,EACJ,MAAM,EACN,OAAO,GAMR;IACC,OAAO,CACL,iCACE,SAAS,EAAE,kCAAkC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,YAAY,GAAG,aAEtG,iCAAK,SAAS,EAAE,yBAAyB,aACvC,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CAAO,IAAA,gBAAQ,EAAC,UAAU,CAAC,GAAQ,IAC/B,EACL,IAAI,IAAI,CACP,iCAAK,SAAS,EAAE,yBAAyB,aACvC,2CACE,uBAAC,MAAM,IAAC,SAAS,EAAE,SAAS,GAAI,GAC3B,EACP,6CAAO,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,SAAS,IACtC,CACP,EACA,MAAM,IAAI,CACT,iCAAK,SAAS,EAAE,yBAAyB,aACvC,2CACE,uBAAC,MAAM,IAAC,SAAS,EAAE,SAAS,GAAI,GAC3B,EACP,6CAAO,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,SAAS,IACxC,CACP,IACG,CACP,CAAA;AACH,CAAC;AAvCD,wCAuCC;AAED,MAAM,MAAM,GAAG,CAAC,KAA+B,EAAE,EAAE;IACjD,OAAO,CACL,oCACM,KAAK,EACT,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,iCACE,CAAC,EAAC,2nCAA2nC,EAC7nC,IAAI,EAAC,4BAA4B,GACjC,EACF,mCAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,EAC7C,2CACE,4CACE,EAAE,EAAC,sBAAsB,EACzB,EAAE,EAAC,SAAS,EACZ,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,SAAS,EACZ,EAAE,EAAC,SAAS,EACZ,aAAa,EAAC,gBAAgB,aAE9B,iCAAM,SAAS,EAAC,SAAS,GAAG,EAC5B,iCAAM,MAAM,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,GAAG,EACzC,iCAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAG,IACxB,GACZ,IACH,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAA+B,EAAE,EAAE;IACjD,OAAO,CACL,oCACM,KAAK,EACT,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,iCACE,CAAC,EAAC,2nCAA2nC,EAC7nC,IAAI,EAAC,4BAA4B,GACjC,EACF,iCAAM,CAAC,EAAC,gCAAgC,EAAC,IAAI,EAAC,OAAO,GAAG,EACxD,iCAAM,CAAC,EAAC,kCAAkC,EAAC,IAAI,EAAC,OAAO,GAAG,EAC1D,iCAAM,CAAC,EAAC,iCAAiC,EAAC,IAAI,EAAC,OAAO,GAAG,EACzD,iCAAM,CAAC,EAAC,gCAAgC,EAAC,IAAI,EAAC,OAAO,GAAG,EACxD,iCAAM,CAAC,EAAC,gCAAgC,EAAC,IAAI,EAAC,OAAO,GAAG,EACxD,iCAAM,CAAC,EAAC,2BAA2B,EAAC,IAAI,EAAC,OAAO,GAAG,EACnD,2CACE,2CACE,EAAE,EAAC,sBAAsB,EACzB,EAAE,EAAC,SAAS,EACZ,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,SAAS,EACZ,EAAE,EAAC,KAAK,EACR,aAAa,EAAC,gBAAgB,YAE9B,iCAAM,SAAS,EAAC,SAAS,GAAG,GACb,GACZ,IACH,CACP,CAAA;AACH,CAAC,CAAA"}
|
@@ -11,5 +11,8 @@ interface ScoreItemProps {
|
|
11
11
|
date: number;
|
12
12
|
self: boolean;
|
13
13
|
}
|
14
|
-
export declare function
|
14
|
+
export declare function BlRankScoreItem(props: ScoreItemProps): import("react/jsx-runtime").JSX.Element;
|
15
|
+
export declare function ScoreItemSkeleton({ isRegionRank }: {
|
16
|
+
isRegionRank: boolean;
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
15
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.BlRankScoreItem = 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 BlRankScoreItem(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.BlRankScoreItem = BlRankScoreItem;
|
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=bl-rank-score-item.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bl-rank-score-item.js","sourceRoot":"","sources":["../../../src/img-render/components/bl-rank-score-item.tsx"],"names":[],"mappings":"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"}
|
@@ -7,8 +7,8 @@ const getModifiers = (modifiers) => {
|
|
7
7
|
return modifiers ? modifiers.split(',') : [];
|
8
8
|
};
|
9
9
|
function BeatLeaderItem({ item, }) {
|
10
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative overflow-hidden", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: item.leaderboard.song.coverImage, className: 'rounded-md h-20 w-20', alt: 'score item cover' }), (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: item.leaderboard.song.name }), (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)(item.leaderboard.difficulty.difficultyName) })] }), (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: [item.leaderboard.difficulty.stars?.toFixed(2) ?? 'none', ' '] })] }), (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: item.leaderboard.song.id.toLowerCase().replaceAll('x', '') })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((item.baseScore / item.leaderboard.difficulty.maxScore) *
|
11
|
-
100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [item.pp.toFixed(
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative overflow-hidden", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'rounded-lg flex bg-black/[.4] space-x-2 backdrop-blur-md', children: [(0, jsx_runtime_1.jsx)("img", { loading: 'eager', src: item.leaderboard.song.coverImage, className: 'rounded-md h-20 w-20', alt: 'score item cover' }), (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: item.leaderboard.song.name }), (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)(item.leaderboard.difficulty.difficultyName) })] }), (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: [item.leaderboard.difficulty.stars?.toFixed(2) ?? 'none', ' '] })] }), (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: item.leaderboard.song.id.toLowerCase().replaceAll('x', '') })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-xs items-center', children: [(0, jsx_runtime_1.jsxs)("span", { children: [((item.baseScore / item.leaderboard.difficulty.maxScore) *
|
11
|
+
100).toFixed(2), "%"] }), (0, jsx_runtime_1.jsxs)("span", { className: 'text-orange-200', children: [item.pp.toFixed(2), "PP"] }), (0, jsx_runtime_1.jsx)("span", { className: 'text-xs opacity-70', children: (0, utils_1.formatRelativeTimeByDay)(item.timepost * 1000) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'flex items-center space-x-2', children: getModifiers(item.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(item.modifiers).map((modifier) => ((0, jsx_runtime_1.jsx)("span", { children: modifier }, modifier)))] })) })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "absolute right-1 bottom-1 text-white flex text-xs space-x-1 items-center", children: [item.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" })), item.pinned && (0, jsx_runtime_1.jsx)(lucide_react_1.Pin, { className: "rotate-45 h-3 w-3 my-auto" })] })] }));
|
12
12
|
}
|
13
13
|
exports.default = BeatLeaderItem;
|
14
|
-
//# sourceMappingURL=
|
14
|
+
//# sourceMappingURL=bl-score-item.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bl-score-item.js","sourceRoot":"","sources":["../../../src/img-render/components/bl-score-item.tsx"],"names":[],"mappings":";;;AAAA,+CAA+D;AAC/D,oCAA4D;AAG5D,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;AAED,SAAwB,cAAc,CAAC,EACrC,IAAI,GAKL;IACC,OAAO,CACL,iCAAK,SAAS,EAAC,2BAA2B,aACxC,iCACE,SAAS,EAAE,0DAA0D,aAErE,gCACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EACrC,SAAS,EAAE,sBAAsB,EACjC,GAAG,EAAE,kBAAkB,GACvB,EACF,iCAAK,SAAS,EAAE,gCAAgC,aAC9C,gCACE,SAAS,EACP,4EAA4E,YAG7E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GACvB,EACN,iCACE,SAAS,EACP,wEAAwE,aAG1E,4CACE,2CACE,uBAAC,uBAAQ,IAAC,SAAS,EAAE,SAAS,GAAI,GAC7B,EACP,2CACG,IAAA,gBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,GAChD,IACH,EACN,4CACE,2CACE,uBAAC,mBAAI,IAAC,SAAS,EAAE,SAAS,GAAI,GACzB,EACP,6CACG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IACxD,IACH,EACN,4CACE,2CACE,uBAAC,kBAAG,IAAC,SAAS,EAAE,SAAS,GAAI,GACxB,EACP,2CACG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,GACtD,IACH,IACF,EACN,iCAAK,SAAS,EAAE,qCAAqC,aACnD,6CACG,CACC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;gDACvD,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC,SAEP,EACP,kCAAM,SAAS,EAAE,iBAAiB,aAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EACjE,iCAAM,SAAS,EAAE,oBAAoB,YAClC,IAAA,+BAAuB,EAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GACzC,IACH,EACN,gCAAK,SAAS,EAAE,6BAA6B,YAC1C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,qBAAM,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC9C,2CAAsB,QAAQ,IAAnB,QAAQ,CAAmB,CACvC,CAAC,IACE,CACP,GACG,IACF,IACF,EAEN,iCAAK,SAAS,EAAC,0EAA0E,aACtF,IAAI,CAAC,SAAS,IAAI,CACjB,iCAAM,SAAS,EAAC,yEAAyE,mBAElF,CACR,EACA,IAAI,CAAC,MAAM,IAAI,uBAAC,kBAAG,IAAC,SAAS,EAAC,2BAA2B,GAAG,IACzD,IACF,CACP,CAAA;AACH,CAAC;AA5FD,iCA4FC"}
|
@@ -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(
|
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":";;;;;;;AAAA,6DAAgF;AAChF,uDAG+B;AAC/B,kEAA8C;AAC9C,yDAAiC;AACjC,4CAA8C;AAG9C,SAAgB,YAAY,CAC1B,GAAW,EACX,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,KAAK,EACf,UAAU,GAAG,IAAI;IAEjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,CACL,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,cAAc,CAAC,
|
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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"}
|
@@ -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
|
-
//# sourceMappingURL=
|
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"}
|
@@ -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
|
-
|
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:
|
13
|
-
renderRank(accountId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<
|
14
|
-
_renderRank: (accountId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<
|
15
|
-
renderScore(scoreId: string, platform: Platform, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<
|
16
|
-
_renderScore: (scoreId: string, platform: Platform, api: APIService, renderOpts: RenderOption) => Promise<
|
17
|
-
renderMapById(mapId: string, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<
|
18
|
-
renderMap(map: BSMap, onRenderStart?: () => void, onRenderError?: (e: any) => void): Promise<
|
19
|
-
renderUrl(url: string): Promise<
|
20
|
-
_renderMap: (bsMap: BSMap, renderOpts: RenderOption) => Promise<
|
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 {};
|