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
package/lib/img-render/index.js
CHANGED
@@ -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
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
.
|
67
|
-
|
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":";;;;;;AACA,
|
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';
|
package/lib/img-render/render.js
CHANGED
@@ -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-
|
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,
|
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
|
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
|
41
|
-
|
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,
|
1
|
+
{"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":"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"}
|
@@ -8,6 +8,7 @@ interface BLScoreProps {
|
|
8
8
|
difficulties: any[];
|
9
9
|
statistic: any;
|
10
10
|
bsor: BSOR;
|
11
|
+
bg: string;
|
11
12
|
}
|
12
|
-
export default function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, }: BLScoreProps): import("react/jsx-runtime").JSX.Element;
|
13
|
+
export default function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg, }: BLScoreProps): import("react/jsx-runtime").JSX.Element;
|
13
14
|
export {};
|
@@ -6,16 +6,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
7
|
const lucide_react_1 = require("lucide-react");
|
8
8
|
const scoregraph_1 = __importDefault(require("../components/scoregraph"));
|
9
|
-
const
|
9
|
+
const bl_rank_score_item_1 = require("../../img-render/components/bl-rank-score-item");
|
10
10
|
const RankDifficulty_1 = require("../../img-render/components/RankDifficulty");
|
11
11
|
const avatar_1 = require("../../img-render/components/base/avatar");
|
12
12
|
const utils_1 = require("../../img-render/utils");
|
13
13
|
const progressbar_1 = __importDefault(require("../../img-render/components/progressbar"));
|
14
|
-
function BLRankScore({ score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, }) {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
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' })] }) }));
|
19
31
|
}
|
20
32
|
exports.default = BLRankScore;
|
21
|
-
//# sourceMappingURL=
|
33
|
+
//# sourceMappingURL=bl-score-with-rank.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bl-score-with-rank.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-score-with-rank.tsx"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@ import { BSMap } from '../../api/interfaces/beatsaver';
|
|
2
2
|
import { BeatLeaderUser, Score } from '../../api/interfaces/beatleader';
|
3
3
|
import { ScoreSaberItem, ScoreSaberUser } from '../../api/interfaces/scoresaber';
|
4
4
|
export declare const getBSMapComp: (bsMap: BSMap, bsMapQrUrl: string, previewQrUrl: string) => import("react/jsx-runtime").JSX.Element;
|
5
|
-
export declare const getSSPlayerComp: (scores: ScoreSaberItem[], userInfo: ScoreSaberUser) => import("react/jsx-runtime").JSX.Element;
|
6
|
-
export declare const getBLPlayerComp: (scores: Score[], userInfo: BeatLeaderUser) => import("react/jsx-runtime").JSX.Element;
|
5
|
+
export declare const getSSPlayerComp: (scores: ScoreSaberItem[], userInfo: ScoreSaberUser, bg: string) => import("react/jsx-runtime").JSX.Element;
|
6
|
+
export declare const getBLPlayerComp: (scores: Score[], userInfo: BeatLeaderUser, bg: string) => import("react/jsx-runtime").JSX.Element;
|
7
7
|
export declare const getBLScoreComp: (score: Score, bsMap: BSMap, statistic: any, bsor: any, qrcodeUrl: string) => import("react/jsx-runtime").JSX.Element;
|
8
|
-
export declare const getBLRankScoreComp: (score: any, aroundScores: any, regionTopScores: any, difficulties: any, bsMap: any, statistic: any, bsor: any) => import("react/jsx-runtime").JSX.Element;
|
8
|
+
export declare const getBLRankScoreComp: (score: any, aroundScores: any, regionTopScores: any, difficulties: any, bsMap: any, statistic: any, bsor: any, bg: any) => import("react/jsx-runtime").JSX.Element;
|
@@ -9,25 +9,25 @@ const bs_map_1 = __importDefault(require("./bs-map"));
|
|
9
9
|
const ss_player_1 = __importDefault(require("./ss-player"));
|
10
10
|
const bl_player_1 = __importDefault(require("./bl-player"));
|
11
11
|
const bl_score_1 = require("./bl-score");
|
12
|
-
const
|
12
|
+
const bl_score_with_rank_1 = __importDefault(require("../../img-render/result/bl-score-with-rank"));
|
13
13
|
const getBSMapComp = (bsMap, bsMapQrUrl, previewQrUrl) => {
|
14
14
|
return ((0, jsx_runtime_1.jsx)(bs_map_1.default, { bsMap: bsMap, bsMapQrUrl: bsMapQrUrl, previewQrUrl: previewQrUrl }));
|
15
15
|
};
|
16
16
|
exports.getBSMapComp = getBSMapComp;
|
17
|
-
const getSSPlayerComp = (scores, userInfo) => {
|
18
|
-
return (0, jsx_runtime_1.jsx)(ss_player_1.default, { scoreUser: userInfo, leaderItems: scores });
|
17
|
+
const getSSPlayerComp = (scores, userInfo, bg) => {
|
18
|
+
return (0, jsx_runtime_1.jsx)(ss_player_1.default, { scoreUser: userInfo, leaderItems: scores, bg: bg });
|
19
19
|
};
|
20
20
|
exports.getSSPlayerComp = getSSPlayerComp;
|
21
|
-
const getBLPlayerComp = (scores, userInfo) => {
|
22
|
-
return (0, jsx_runtime_1.jsx)(bl_player_1.default, { user: userInfo, beatleaderItems: scores });
|
21
|
+
const getBLPlayerComp = (scores, userInfo, bg) => {
|
22
|
+
return (0, jsx_runtime_1.jsx)(bl_player_1.default, { user: userInfo, beatleaderItems: scores, bg: bg });
|
23
23
|
};
|
24
24
|
exports.getBLPlayerComp = getBLPlayerComp;
|
25
25
|
const getBLScoreComp = (score, bsMap, statistic, bsor, qrcodeUrl) => {
|
26
26
|
return ((0, jsx_runtime_1.jsx)(bl_score_1.BLScore, { score: score, bsMap: bsMap, statistic: statistic, bsor: bsor, qrcodeUrl: qrcodeUrl }));
|
27
27
|
};
|
28
28
|
exports.getBLScoreComp = getBLScoreComp;
|
29
|
-
const getBLRankScoreComp = (score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor) => {
|
30
|
-
return ((0, jsx_runtime_1.jsx)(
|
29
|
+
const getBLRankScoreComp = (score, aroundScores, regionTopScores, difficulties, bsMap, statistic, bsor, bg) => {
|
30
|
+
return ((0, jsx_runtime_1.jsx)(bl_score_with_rank_1.default, { score: score, bsMap: bsMap, aroundScores: aroundScores, regionTopScores: regionTopScores, difficulties: difficulties, statistic: statistic, bsor: bsor, bg: bg }));
|
31
31
|
};
|
32
32
|
exports.getBLRankScoreComp = getBLRankScoreComp;
|
33
33
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/img-render/result/index.tsx"],"names":[],"mappings":";;;;;;;AACA,sDAAiC;AACjC,4DAAsC;AACtC,4DAAsC;AACtC,yCAAoC;AAIpC,gGAAgE;AAEzD,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,UAAkB,EAClB,YAAoB,EACpB,EAAE;IACF,OAAO,CACL,uBAAC,gBAAU,IACT,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,GAC1B,CACH,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AACM,MAAM,eAAe,GAAG,CAC7B,MAAwB,EACxB,QAAwB,EACxB,EAAE;IACF,OAAO,uBAAC,mBAAY,IAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAI,CAAA;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/img-render/result/index.tsx"],"names":[],"mappings":";;;;;;;AACA,sDAAiC;AACjC,4DAAsC;AACtC,4DAAsC;AACtC,yCAAoC;AAIpC,gGAAgE;AAEzD,MAAM,YAAY,GAAG,CAC1B,KAAY,EACZ,UAAkB,EAClB,YAAoB,EACpB,EAAE;IACF,OAAO,CACL,uBAAC,gBAAU,IACT,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,GAC1B,CACH,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,YAAY,gBAYxB;AACM,MAAM,eAAe,GAAG,CAC7B,MAAwB,EACxB,QAAwB,EACxB,EAAU,EACV,EAAE;IACF,OAAO,uBAAC,mBAAY,IAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAI,CAAA;AAC3E,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B;AAEM,MAAM,eAAe,GAAG,CAC7B,MAAe,EACf,QAAwB,EACxB,EAAU,EACV,EAAE;IACF,OAAO,uBAAC,mBAAY,IAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAI,CAAA;AAC1E,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B;AAEM,MAAM,cAAc,GAAG,CAC5B,KAAY,EACZ,KAAY,EACZ,SAAc,EACd,IAAS,EACT,SAAiB,EACjB,EAAE;IACF,OAAO,CACL,uBAAC,kBAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,cAAc,kBAgB1B;AAEM,MAAM,kBAAkB,GAAG,CAChC,KAAK,EACL,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,EAAE,EACF,EAAE;IACF,OAAO,CACL,uBAAC,4BAAW,IACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,GACN,CACH,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,kBAAkB,sBAsB9B"}
|
@@ -3,6 +3,7 @@ interface SSPlayerProps {
|
|
3
3
|
leaderItems: ScoreSaberItem[];
|
4
4
|
scoreUser: ScoreSaberUser;
|
5
5
|
params?: Record<string, string>;
|
6
|
+
bg: string;
|
6
7
|
}
|
7
|
-
export default function SSPlayerPage({ leaderItems, scoreUser, params, }: SSPlayerProps): import("react/jsx-runtime").JSX.Element;
|
8
|
+
export default function SSPlayerPage({ leaderItems, scoreUser, bg, params, }: SSPlayerProps): import("react/jsx-runtime").JSX.Element;
|
8
9
|
export {};
|
@@ -30,10 +30,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
30
30
|
/** @jsxImportSource react */
|
31
31
|
const flag_1 = __importStar(require("../components/flag"));
|
32
32
|
const tw_join_1 = require("../utils/tw-join");
|
33
|
-
const
|
34
|
-
function SSPlayerPage({ leaderItems, scoreUser, params, }) {
|
35
|
-
|
36
|
-
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-[1024px] my-auto', id: "render-result", 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 space-x-4 pb-2', children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-32 w-32 rounded-md', src: scoreUser.profilePicture, 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: scoreUser.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: ["# ", scoreUser.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: scoreUser.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.countryRank] })] })] }), (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: [scoreUser.pp.toFixed(3), " PP"] })] }), (0, jsx_runtime_1.jsx)("div", { className: 'text-4xl pl-40 items-center flex text-gray-100 opacity-70', children: (0, jsx_runtime_1.jsx)("span", { children: "coming soon \uD83D\uDC77" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: leaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(ssScoreItem_1.default, { scoreItem: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover', loading: 'eager' })] }) }));
|
33
|
+
const ss_score_item_1 = __importDefault(require("../components/ss-score-item"));
|
34
|
+
function SSPlayerPage({ leaderItems, scoreUser, bg, params, }) {
|
35
|
+
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-[1200px] my-auto', id: "render-result", 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 space-x-4 pb-2', children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-32 w-32 rounded-md', src: scoreUser.profilePicture, 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: scoreUser.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: ["# ", scoreUser.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: scoreUser.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", scoreUser.countryRank] })] })] }), (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: [scoreUser.pp.toFixed(3), " PP"] })] }), (0, jsx_runtime_1.jsx)("div", { className: 'text-4xl pl-40 items-center flex text-gray-100 opacity-70', children: (0, jsx_runtime_1.jsx)("span", { children: "coming soon, ... maybe?" }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: leaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(ss_score_item_1.default, { scoreItem: 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' })] }) }));
|
37
36
|
}
|
38
37
|
exports.default = SSPlayerPage;
|
39
38
|
//# sourceMappingURL=ss-player.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ss-player.js","sourceRoot":"","sources":["../../../src/img-render/result/ss-player.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,2DAAqD;AACrD,8CAAyC;AACzC,
|
1
|
+
{"version":3,"file":"ss-player.js","sourceRoot":"","sources":["../../../src/img-render/result/ss-player.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,2DAAqD;AACrD,8CAAyC;AACzC,gFAAmD;AAUnD,SAAwB,YAAY,CAAC,EACnC,WAAW,EACX,SAAS,EACT,EAAE,EACF,MAAM,GACQ;IACd,OAAO,CACL,2DACE,iCACE,SAAS,EACP,iFAAiF,EAEnF,EAAE,EAAC,eAAe,aAElB,iCACE,SAAS,EACP,kIAAkI,aAGpI,iCAAK,SAAS,EAAE,qBAAqB,aACnC,gCACE,SAAS,EAAE,sBAAsB,EACjC,GAAG,EAAE,SAAS,CAAC,cAAc,EAC7B,OAAO,EAAE,OAAO,GAEhB,EACF,iCAAK,SAAS,EAAE,+BAA+B,aAC7C,iCAAM,SAAS,EAAE,oBAAoB,YAAG,SAAS,CAAC,IAAI,GAAQ,EAC9D,iCAAK,SAAS,EAAE,+CAA+C,aAC7D,kCAAM,SAAS,EAAC,6BAA6B,aAC3C,uBAAC,gBAAS,KAAG,EACb,mDAAS,SAAS,CAAC,IAAI,IAAQ,IAC1B,EACP,kCAAM,SAAS,EAAC,6BAA6B,aAC3C,uBAAC,cAAK,IAAC,cAAc,EAAE,SAAS,CAAC,OAAO,GAAI,EAC5C,mDAAS,SAAS,CAAC,WAAW,IAAQ,IACjC,IACH,EACN,iCACE,SAAS,EAAE,IAAA,gBAAM,EACf,qBAAqB,EACrB,0EAA0E,EAC1E,iBAAiB,CAClB,aAEA,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WACpB,IACF,EACN,gCACE,SAAS,EACP,2DAA2D,YAG7D,uEAAoC,GAChC,IACF,EACN,gCAAK,SAAS,EAAE,wBAAwB,YACrC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9B,uBAAC,uBAAS,IAAC,SAAS,EAAE,IAAI,IAAO,GAAG,CAAI,CACzC,CAAC,GACE,IACF,EAEN,gCACE,GAAG,EAAE,EAAE,EACP,SAAS,EACP,iEAAiE,EAEnE,OAAO,EAAE,OAAO,GAChB,IACE,GACL,CACJ,CAAA;AACH,CAAC;AAzED,+BAyEC"}
|
@@ -44,7 +44,7 @@ exports.canvasHelper = {
|
|
44
44
|
};
|
45
45
|
const canvasBuilder = async () => {
|
46
46
|
try {
|
47
|
-
const { createCanvas: _createCanvas } = await Promise.resolve().then(() => __importStar(require('canvas')));
|
47
|
+
const { createCanvas: _createCanvas } = await Promise.resolve().then(() => __importStar(require('@napi-rs/canvas')));
|
48
48
|
exports.canvasHelper.createCanvas = _createCanvas;
|
49
49
|
exports.canvasHelper.canvasToDataURL = (canvas) => {
|
50
50
|
return canvas.toDataURL('image/png');
|
@@ -53,6 +53,14 @@ const canvasBuilder = async () => {
|
|
53
53
|
}
|
54
54
|
catch (err) {
|
55
55
|
try {
|
56
|
+
const { createCanvas: _createCanvas } = await Promise.resolve().then(() => __importStar(require('canvas')));
|
57
|
+
exports.canvasHelper.createCanvas = _createCanvas;
|
58
|
+
exports.canvasHelper.canvasToDataURL = (canvas) => {
|
59
|
+
return canvas.toDataURL('image/png');
|
60
|
+
};
|
61
|
+
exports.canvasHelper.enable = true;
|
62
|
+
}
|
63
|
+
catch (err) {
|
56
64
|
const { Canvas } = await Promise.resolve().then(() => __importStar(require('skia-canvas')));
|
57
65
|
exports.canvasHelper.createCanvas = (h, w) => {
|
58
66
|
return new Canvas(h, w);
|
@@ -62,8 +70,6 @@ const canvasBuilder = async () => {
|
|
62
70
|
};
|
63
71
|
exports.canvasHelper.enable = true;
|
64
72
|
}
|
65
|
-
catch (err) {
|
66
|
-
}
|
67
73
|
}
|
68
74
|
};
|
69
75
|
canvasBuilder().then(() => console.log(`canvas init over: enable: ${exports.canvasHelper.enable}`));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/img-render/utils/canvas.js"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,sCAAsC;AACtC,mEAAmE;AACnE,oBAAoB;AACpB,yCAAyC;AACzC,wCAAwC;AACxC,IAAI;AACJ,EAAE;AACF,oDAAoD;AACpD,yDAAyD;AACzD,2CAA2C;AAC3C,yCAAyC;AACzC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;AAGS,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,EAAE,CAAA,CAAA,CAAC;IAChC,MAAM,EAAE,KAAK;IACb,eAAe,EAAE,CAAC,MAAM,EAAC,EAAE,CAAC,EAAE;CAC/B,CAAA;AAED,MAAM,aAAa,GAAG,KAAK,IAAG,EAAE;IAC9B,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/img-render/utils/canvas.js"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,sCAAsC;AACtC,mEAAmE;AACnE,oBAAoB;AACpB,yCAAyC;AACzC,wCAAwC;AACxC,IAAI;AACJ,EAAE;AACF,oDAAoD;AACpD,yDAAyD;AACzD,2CAA2C;AAC3C,yCAAyC;AACzC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;AAGS,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAC,OAAO,EAAE,CAAA,CAAA,CAAC;IAChC,MAAM,EAAE,KAAK;IACb,eAAe,EAAE,CAAC,MAAM,EAAC,EAAE,CAAC,EAAE;CAC/B,CAAA;AAED,MAAM,aAAa,GAAG,KAAK,IAAG,EAAE;IAC9B,IAAI,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAA;QACvE,oBAAY,CAAC,YAAY,GAAG,aAAa,CAAA;QACzC,oBAAY,CAAC,eAAe,GAAG,CAAC,MAAM,EAAC,EAAE;YACvC,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACtC,CAAC,CAAA;QACD,oBAAY,CAAC,MAAM,GAAG,IAAI,CAAA;IAE5B,CAAC;IAAA,OAAM,GAAG,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,EAAC,YAAY,EAAE,aAAa,EAAC,GAAG,wDAAa,QAAQ,GAAC,CAAA;YAC5D,oBAAY,CAAC,YAAY,GAAG,aAAa,CAAA;YACzC,oBAAY,CAAC,eAAe,GAAG,CAAC,MAAM,EAAC,EAAE;gBACvC,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACtC,CAAC,CAAA;YACD,oBAAY,CAAC,MAAM,GAAG,IAAI,CAAA;QAE5B,CAAC;QAAA,OAAM,GAAG,EAAE,CAAC;YACX,MAAM,EAAC,MAAM,EAAC,GAAG,wDAAa,aAAa,GAAC,CAAA;YAC5C,oBAAY,CAAC,YAAY,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE;gBACjC,OAAO,IAAI,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;YACxB,CAAC,CAAA;YACD,oBAAY,CAAC,eAAe,GAAG,CAAC,MAAM,EAAC,EAAE;gBACvC,OAAO,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAC1C,CAAC,CAAA;YACD,oBAAY,CAAC,MAAM,GAAG,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,aAAa,EAAE,CAAC,IAAI,CAAC,GAAE,EAAE,CAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,oBAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
export declare const formatDuration: (duration: number) => string;
|
2
2
|
export declare const formatTime: (time: string) => string;
|
3
|
+
export declare function formatRelativeTimeByDay(time: string | number | Date): string;
|
3
4
|
export declare const formatNumber: (number: number) => string;
|
4
5
|
export declare function numberWithCommas(x: number): string;
|
5
6
|
export declare const formatDate: (time: Date | undefined, template?: string) => string;
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.formatDate = exports.numberWithCommas = exports.formatNumber = exports.formatTime = exports.formatDuration = void 0;
|
6
|
+
exports.formatDate = exports.numberWithCommas = exports.formatNumber = exports.formatRelativeTimeByDay = exports.formatTime = exports.formatDuration = void 0;
|
7
7
|
const dayjs_1 = __importDefault(require("dayjs"));
|
8
8
|
const duration_1 = __importDefault(require("dayjs/plugin/duration"));
|
9
9
|
const relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
|
@@ -22,6 +22,20 @@ const formatTime = (time) => {
|
|
22
22
|
return (0, dayjs_1.default)(time).locale(zh_cn_1.default).fromNow();
|
23
23
|
};
|
24
24
|
exports.formatTime = formatTime;
|
25
|
+
function formatRelativeTimeByDay(time) {
|
26
|
+
let res = (0, dayjs_1.default)().diff((0, dayjs_1.default)(time), 'd');
|
27
|
+
let unit = 'd';
|
28
|
+
if (res <= 0) {
|
29
|
+
res = (0, dayjs_1.default)().diff((0, dayjs_1.default)(time), 'h');
|
30
|
+
unit = 'h';
|
31
|
+
}
|
32
|
+
if (res <= 0) {
|
33
|
+
res = (0, dayjs_1.default)().diff((0, dayjs_1.default)(time), 'm');
|
34
|
+
unit = 'm';
|
35
|
+
}
|
36
|
+
return `${res}${unit}`;
|
37
|
+
}
|
38
|
+
exports.formatRelativeTimeByDay = formatRelativeTimeByDay;
|
25
39
|
const formatNumber = (number) => {
|
26
40
|
// 1.11w
|
27
41
|
try {
|
@@ -40,7 +54,7 @@ const formatNumber = (number) => {
|
|
40
54
|
};
|
41
55
|
exports.formatNumber = formatNumber;
|
42
56
|
function numberWithCommas(x) {
|
43
|
-
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
|
57
|
+
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
44
58
|
}
|
45
59
|
exports.numberWithCommas = numberWithCommas;
|
46
60
|
const formatDate = (time, template) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/img-render/utils/format.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,qEAA4C;AAC5C,6EAAoD;AACpD,+DAAmC;AACnC,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAA;AACtB,eAAK,CAAC,MAAM,CAAC,sBAAY,CAAC,CAAA;AACnB,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAC7B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAED,wDAAwD;AACxD,8DAA8D;AAC9D,IAAI;AAEG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAE,CAAC,CAAC,OAAO,EAAE,CAAA;AACzC,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,QAAQ;IACR,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5C,CAAC;QACD,QAAQ;QACR,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB;AAED,SAAgB,gBAAgB,CAAC,CAAS;IACxC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/img-render/utils/format.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,qEAA4C;AAC5C,6EAAoD;AACpD,+DAAmC;AACnC,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAA;AACtB,eAAK,CAAC,MAAM,CAAC,sBAAY,CAAC,CAAA;AACnB,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;IACjD,MAAM,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAC7B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B;AAED,wDAAwD;AACxD,8DAA8D;AAC9D,IAAI;AAEG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAE,CAAC,CAAC,OAAO,EAAE,CAAA;AACzC,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAED,SAAgB,uBAAuB,CAAC,IAA4B;IAClE,IAAI,GAAG,GAAG,IAAA,eAAK,GAAE,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACxC,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,GAAG,GAAG,IAAA,eAAK,GAAE,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACpC,IAAI,GAAG,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,GAAG,GAAG,IAAA,eAAK,GAAE,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACpC,IAAI,GAAG,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,IAAI,EAAE,CAAA;AACxB,CAAC;AAZD,0DAYC;AAEM,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,QAAQ;IACR,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5C,CAAC;QACD,QAAQ;QACR,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB;AAED,SAAgB,gBAAgB,CAAC,CAAS;IACxC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;AAC3D,CAAC;AAFD,4CAEC;AACM,MAAM,UAAU,GAAG,CAAC,IAAsB,EAAE,QAAiB,EAAE,EAAE;IACtE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAA;AACrD,CAAC,CAAA;AAHY,QAAA,UAAU,cAGtB"}
|