beatsaber-bot-core 0.2.0-dev.2 → 0.2.0-dev.3
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/aioRequest.d.ts +6 -0
- package/lib/api/base/aioRequest.js +24 -0
- package/lib/api/base/aioRequest.js.map +1 -0
- package/lib/api/base/blRequset.d.ts +12 -0
- package/lib/api/base/blRequset.js +68 -0
- package/lib/api/base/blRequset.js.map +1 -0
- package/lib/api/base/bsRequest.d.ts +24 -0
- package/lib/api/base/bsRequest.js +64 -0
- package/lib/api/base/bsRequest.js.map +1 -0
- package/lib/api/base/index.d.ts +12 -0
- package/lib/api/base/index.js +21 -0
- package/lib/api/base/index.js.map +1 -0
- package/lib/api/base/scRequest.d.ts +6 -0
- package/lib/api/base/scRequest.js +28 -0
- package/lib/api/base/scRequest.js.map +1 -0
- package/lib/api/composed/aiosaber.d.ts +7 -0
- package/lib/api/composed/aiosaber.js +16 -0
- package/lib/api/composed/aiosaber.js.map +1 -0
- package/lib/api/composed/beatleader.d.ts +27 -0
- package/lib/api/composed/beatleader.js +91 -0
- package/lib/api/composed/beatleader.js.map +1 -0
- package/lib/api/composed/beatsaver.d.ts +12 -0
- package/lib/api/composed/beatsaver.js +18 -0
- package/lib/api/composed/beatsaver.js.map +1 -0
- package/lib/api/composed/scoresaber.d.ts +14 -0
- package/lib/api/composed/scoresaber.js +67 -0
- package/lib/api/composed/scoresaber.js.map +1 -0
- package/lib/api/index.d.ts +31 -0
- package/lib/api/index.js +134 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/interfaces/aiosaber/index.d.ts +7 -0
- package/lib/api/interfaces/aiosaber/index.js +3 -0
- package/lib/api/interfaces/aiosaber/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/bsor.d.ts +112 -0
- package/lib/api/interfaces/beatleader/bsor.js +3 -0
- package/lib/api/interfaces/beatleader/bsor.js.map +1 -0
- package/lib/api/interfaces/beatleader/index.d.ts +5 -0
- package/lib/api/interfaces/beatleader/index.js +22 -0
- package/lib/api/interfaces/beatleader/index.js.map +1 -0
- package/lib/api/interfaces/beatleader/req.d.ts +19 -0
- package/lib/api/interfaces/beatleader/req.js +3 -0
- package/lib/api/interfaces/beatleader/req.js.map +1 -0
- package/lib/api/interfaces/beatleader/score.d.ts +162 -0
- package/lib/api/interfaces/beatleader/score.js +3 -0
- package/lib/api/interfaces/beatleader/score.js.map +1 -0
- package/lib/api/interfaces/beatleader/user.d.ts +171 -0
- package/lib/api/interfaces/beatleader/user.js +3 -0
- package/lib/api/interfaces/beatleader/user.js.map +1 -0
- package/lib/api/interfaces/beatleader/ws.d.ts +87 -0
- package/lib/api/interfaces/beatleader/ws.js +3 -0
- package/lib/api/interfaces/beatleader/ws.js.map +1 -0
- package/lib/api/interfaces/beatsaver/alert.d.ts +18 -0
- package/lib/api/interfaces/beatsaver/alert.js +3 -0
- package/lib/api/interfaces/beatsaver/alert.js.map +1 -0
- package/lib/api/interfaces/beatsaver/bsmap.d.ts +66 -0
- package/lib/api/interfaces/beatsaver/bsmap.js +3 -0
- package/lib/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/lib/api/interfaces/beatsaver/index.d.ts +10 -0
- package/lib/api/interfaces/beatsaver/index.js +22 -0
- package/lib/api/interfaces/beatsaver/index.js.map +1 -0
- package/lib/api/interfaces/beatsaver/resp.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/resp.js +3 -0
- package/lib/api/interfaces/beatsaver/resp.js.map +1 -0
- package/lib/api/interfaces/beatsaver/user.d.ts +8 -0
- package/lib/api/interfaces/beatsaver/user.js +3 -0
- package/lib/api/interfaces/beatsaver/user.js.map +1 -0
- package/lib/api/interfaces/beatsaver/ws.d.ts +5 -0
- package/lib/api/interfaces/beatsaver/ws.js +3 -0
- package/lib/api/interfaces/beatsaver/ws.js.map +1 -0
- package/lib/api/interfaces/scoresaber/index.d.ts +3 -0
- package/lib/api/interfaces/scoresaber/index.js +20 -0
- package/lib/api/interfaces/scoresaber/index.js.map +1 -0
- package/lib/api/interfaces/scoresaber/item.d.ts +57 -0
- package/lib/api/interfaces/scoresaber/item.js +3 -0
- package/lib/api/interfaces/scoresaber/item.js.map +1 -0
- package/lib/api/interfaces/scoresaber/resp.d.ts +9 -0
- package/lib/api/interfaces/scoresaber/resp.js +3 -0
- package/lib/api/interfaces/scoresaber/resp.js.map +1 -0
- package/lib/api/interfaces/scoresaber/user.d.ts +33 -0
- package/lib/api/interfaces/scoresaber/user.js +3 -0
- package/lib/api/interfaces/scoresaber/user.js.map +1 -0
- package/lib/api/interfaces/scoresaber/ws.d.ts +78 -0
- package/lib/api/interfaces/scoresaber/ws.js +3 -0
- package/lib/api/interfaces/scoresaber/ws.js.map +1 -0
- package/lib/api/netResult.d.ts +18 -0
- package/lib/api/netResult.js +42 -0
- package/lib/api/netResult.js.map +1 -0
- package/lib/api/sortScore.d.ts +2 -0
- package/lib/api/sortScore.js +31 -0
- package/lib/api/sortScore.js.map +1 -0
- package/lib/cmd/bind/bind-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-beatleader.js +53 -0
- package/lib/cmd/bind/bind-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatleader.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatleader.js +55 -0
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -0
- package/lib/cmd/bind/bind-id-beatsaver.d.ts +2 -0
- package/lib/cmd/bind/bind-id-beatsaver.js +55 -0
- package/lib/cmd/bind/bind-id-beatsaver.js.map +1 -0
- package/lib/cmd/bind/bind-scoresaber.d.ts +2 -0
- package/lib/cmd/bind/bind-scoresaber.js +61 -0
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -0
- package/lib/cmd/bind/index.d.ts +11 -0
- package/lib/cmd/bind/index.js +52 -0
- package/lib/cmd/bind/index.js.map +1 -0
- package/lib/cmd/bsmap/id-search.d.ts +9 -0
- package/lib/cmd/bsmap/id-search.js +35 -0
- package/lib/cmd/bsmap/id-search.js.map +1 -0
- package/lib/cmd/bsmap/key-search.d.ts +9 -0
- package/lib/cmd/bsmap/key-search.js +41 -0
- package/lib/cmd/bsmap/key-search.js.map +1 -0
- package/lib/cmd/bsmap/latest.d.ts +9 -0
- package/lib/cmd/bsmap/latest.js +36 -0
- package/lib/cmd/bsmap/latest.js.map +1 -0
- package/lib/cmd/builder.d.ts +27 -0
- package/lib/cmd/builder.js +41 -0
- package/lib/cmd/builder.js.map +1 -0
- package/lib/cmd/deprecated/cmp.d.ts +9 -0
- package/lib/cmd/deprecated/cmp.js +15 -0
- package/lib/cmd/deprecated/cmp.js.map +1 -0
- package/lib/cmd/deprecated/me.d.ts +13 -0
- package/lib/cmd/deprecated/me.js +66 -0
- package/lib/cmd/deprecated/me.js.map +1 -0
- package/lib/cmd/deprecated/tmp.d.ts +9 -0
- package/lib/cmd/deprecated/tmp.js +21 -0
- package/lib/cmd/deprecated/tmp.js.map +1 -0
- package/lib/cmd/deprecated/whois.d.ts +11 -0
- package/lib/cmd/deprecated/whois.js +40 -0
- package/lib/cmd/deprecated/whois.js.map +1 -0
- package/lib/cmd/help.d.ts +9 -0
- package/lib/cmd/help.js +14 -0
- package/lib/cmd/help.js.map +1 -0
- package/lib/cmd/index.d.ts +2 -0
- package/lib/cmd/index.js +23 -0
- package/lib/cmd/index.js.map +1 -0
- package/lib/cmd/rank.d.ts +11 -0
- package/lib/cmd/rank.js +53 -0
- package/lib/cmd/rank.js.map +1 -0
- package/lib/cmd/score.d.ts +13 -0
- package/lib/cmd/score.js +43 -0
- package/lib/cmd/score.js.map +1 -0
- package/lib/cmd/subscribe/beatleader.d.ts +2 -0
- package/lib/cmd/subscribe/beatleader.js +27 -0
- package/lib/cmd/subscribe/beatleader.js.map +1 -0
- package/lib/cmd/subscribe/beatsaver.d.ts +2 -0
- package/lib/cmd/subscribe/beatsaver.js +27 -0
- package/lib/cmd/subscribe/beatsaver.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/alert.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/alert.js +86 -0
- package/lib/cmd/subscribe/deprecated/alert.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/blfilters.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js +49 -0
- package/lib/cmd/subscribe/deprecated/blfilters.js.map +1 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.d.ts +0 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js +43 -0
- package/lib/cmd/subscribe/deprecated/scoresaber.js.map +1 -0
- package/lib/cmd/subscribe/index.d.ts +11 -0
- package/lib/cmd/subscribe/index.js +45 -0
- package/lib/cmd/subscribe/index.js.map +1 -0
- package/lib/cmd/subscribe/subjoin.d.ts +11 -0
- package/lib/cmd/subscribe/subjoin.js +42 -0
- package/lib/cmd/subscribe/subjoin.js.map +1 -0
- package/lib/cmd/subscribe/subleave.d.ts +11 -0
- package/lib/cmd/subscribe/subleave.js +35 -0
- package/lib/cmd/subscribe/subleave.js.map +1 -0
- package/lib/cmd/subscribe/unsubscribe.d.ts +11 -0
- package/lib/cmd/subscribe/unsubscribe.js +41 -0
- package/lib/cmd/subscribe/unsubscribe.js.map +1 -0
- package/lib/config.d.ts +23 -0
- package/lib/config.js +3 -0
- package/lib/config.js.map +1 -0
- package/lib/db/index.d.ts +34 -0
- package/lib/db/index.js +3 -0
- package/lib/db/index.js.map +1 -0
- package/lib/errors/index.d.ts +53 -0
- package/lib/errors/index.js +113 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/i18n/index.js +112 -0
- package/lib/i18n/index.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -0
- package/lib/img-render/components/base/avatar.d.ts +0 -0
- package/lib/img-render/components/base/avatar.js +1 -0
- package/lib/img-render/components/base/avatar.js.map +1 -0
- package/lib/img-render/components/blScoreItem.d.ts +6 -0
- package/lib/img-render/components/blScoreItem.js +14 -0
- package/lib/img-render/components/blScoreItem.js.map +1 -0
- package/lib/img-render/components/characteristic.d.ts +5 -0
- package/lib/img-render/components/characteristic.js +27 -0
- package/lib/img-render/components/characteristic.js.map +1 -0
- package/lib/img-render/components/flag.d.ts +5 -0
- package/lib/img-render/components/flag.js +39 -0
- package/lib/img-render/components/flag.js.map +1 -0
- package/lib/img-render/components/icons/BeatLeader.d.ts +3 -0
- package/lib/img-render/components/icons/BeatLeader.js +10 -0
- package/lib/img-render/components/icons/BeatLeader.js.map +1 -0
- package/lib/img-render/components/icons/RankIcon.d.ts +4 -0
- package/lib/img-render/components/icons/RankIcon.js +14 -0
- package/lib/img-render/components/icons/RankIcon.js.map +1 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.d.ts +3 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js +8 -0
- package/lib/img-render/components/icons/ScoreSaberIcon.js.map +1 -0
- package/lib/img-render/components/progressbar.d.ts +4 -0
- package/lib/img-render/components/progressbar.js +9 -0
- package/lib/img-render/components/progressbar.js.map +1 -0
- package/lib/img-render/components/scoreItem.d.ts +4 -0
- package/lib/img-render/components/scoreItem.js +29 -0
- package/lib/img-render/components/scoreItem.js.map +1 -0
- package/lib/img-render/components/scoregraph.d.ts +8 -0
- package/lib/img-render/components/scoregraph.js +300 -0
- package/lib/img-render/components/scoregraph.js.map +1 -0
- package/lib/img-render/components/skill-graph.d.ts +5 -0
- package/lib/img-render/components/skill-graph.js +50 -0
- package/lib/img-render/components/skill-graph.js.map +1 -0
- package/lib/img-render/components/socre-badge.d.ts +5 -0
- package/lib/img-render/components/socre-badge.js +10 -0
- package/lib/img-render/components/socre-badge.js.map +1 -0
- package/lib/img-render/components/ssScoreItem.d.ts +4 -0
- package/lib/img-render/components/ssScoreItem.js +14 -0
- package/lib/img-render/components/ssScoreItem.js.map +1 -0
- package/lib/img-render/index.d.ts +22 -0
- package/lib/img-render/index.js +130 -0
- package/lib/img-render/index.js.map +1 -0
- package/lib/img-render/interfaces.d.ts +17 -0
- package/lib/img-render/interfaces.js +3 -0
- package/lib/img-render/interfaces.js.map +1 -0
- package/lib/img-render/remote/index.d.ts +0 -0
- package/lib/img-render/remote/index.js +56 -0
- package/lib/img-render/remote/index.js.map +1 -0
- package/lib/img-render/render.d.ts +7 -0
- package/lib/img-render/render.js +40 -0
- package/lib/img-render/render.js.map +1 -0
- package/lib/img-render/renderImg.d.ts +0 -0
- package/lib/img-render/renderImg.js +1 -0
- package/lib/img-render/renderImg.js.map +1 -0
- package/lib/img-render/result/bl-player.d.ts +7 -0
- package/lib/img-render/result/bl-player.js +44 -0
- package/lib/img-render/result/bl-player.js.map +1 -0
- package/lib/img-render/result/bl-score.d.ts +11 -0
- package/lib/img-render/result/bl-score.js +18 -0
- package/lib/img-render/result/bl-score.js.map +1 -0
- package/lib/img-render/result/bs-map.d.ts +8 -0
- package/lib/img-render/result/bs-map.js +26 -0
- package/lib/img-render/result/bs-map.js.map +1 -0
- package/lib/img-render/result/index.d.ts +7 -0
- package/lib/img-render/result/index.js +28 -0
- package/lib/img-render/result/index.js.map +1 -0
- package/lib/img-render/result/ss-player.d.ts +8 -0
- package/lib/img-render/result/ss-player.js +39 -0
- package/lib/img-render/result/ss-player.js.map +1 -0
- package/lib/img-render/utils/bl/beatleader.d.ts +13 -0
- package/lib/img-render/utils/bl/beatleader.js +38 -0
- package/lib/img-render/utils/bl/beatleader.js.map +1 -0
- package/lib/img-render/utils/bl/blheadset.d.ts +273 -0
- package/lib/img-render/utils/bl/blheadset.js +281 -0
- package/lib/img-render/utils/bl/blheadset.js.map +1 -0
- package/lib/img-render/utils/bl/bsorDecoder.d.ts +68 -0
- package/lib/img-render/utils/bl/bsorDecoder.js +286 -0
- package/lib/img-render/utils/bl/bsorDecoder.js.map +1 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.d.ts +35 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js +590 -0
- package/lib/img-render/utils/bl/bsorReplayAcc.js.map +1 -0
- package/lib/img-render/utils/bl/getPart.d.ts +7 -0
- package/lib/img-render/utils/bl/getPart.js +31 -0
- package/lib/img-render/utils/bl/getPart.js.map +1 -0
- package/lib/img-render/utils/bl/stastic.d.ts +2 -0
- package/lib/img-render/utils/bl/stastic.js +53 -0
- package/lib/img-render/utils/bl/stastic.js.map +1 -0
- package/lib/img-render/utils/canvas.d.ts +5 -0
- package/lib/img-render/utils/canvas.js +70 -0
- package/lib/img-render/utils/canvas.js.map +1 -0
- package/lib/img-render/utils/format.d.ts +3 -0
- package/lib/img-render/utils/format.js +42 -0
- package/lib/img-render/utils/format.js.map +1 -0
- package/lib/img-render/utils/getMods.d.ts +2 -0
- package/lib/img-render/utils/getMods.js +22 -0
- package/lib/img-render/utils/getMods.js.map +1 -0
- package/lib/img-render/utils/index.d.ts +3 -0
- package/lib/img-render/utils/index.js +36 -0
- package/lib/img-render/utils/index.js.map +1 -0
- package/lib/img-render/utils/qrcode.d.ts +1 -0
- package/lib/img-render/utils/qrcode.js +43 -0
- package/lib/img-render/utils/qrcode.js.map +1 -0
- package/lib/img-render/utils/sleep.d.ts +1 -0
- package/lib/img-render/utils/sleep.js +10 -0
- package/lib/img-render/utils/sleep.js.map +1 -0
- package/lib/img-render/utils/tag-format.d.ts +1 -0
- package/lib/img-render/utils/tag-format.js +225 -0
- package/lib/img-render/utils/tag-format.js.map +1 -0
- package/lib/img-render/utils/tw-join.d.ts +4 -0
- package/lib/img-render/utils/tw-join.js +36 -0
- package/lib/img-render/utils/tw-join.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +25 -0
- package/lib/index.js.map +1 -0
- package/lib/interface/bot.d.ts +20 -0
- package/lib/interface/bot.js +3 -0
- package/lib/interface/bot.js.map +1 -0
- package/lib/interface/cmd.d.ts +36 -0
- package/lib/interface/cmd.js +3 -0
- package/lib/interface/cmd.js.map +1 -0
- package/lib/interface/db.d.ts +35 -0
- package/lib/interface/db.js +3 -0
- package/lib/interface/db.js.map +1 -0
- package/lib/interface/index.d.ts +15 -0
- package/lib/interface/index.js +35 -0
- package/lib/interface/index.js.map +1 -0
- package/lib/interface/logger.d.ts +6 -0
- package/lib/interface/logger.js +3 -0
- package/lib/interface/logger.js.map +1 -0
- package/lib/interface/render.d.ts +21 -0
- package/lib/interface/render.js +3 -0
- package/lib/interface/render.js.map +1 -0
- package/lib/interface/tables.d.ts +0 -0
- package/lib/interface/tables.js +1 -0
- package/lib/interface/tables.js.map +1 -0
- package/lib/schedules/BeatSaverAlertMonitor.d.ts +0 -0
- package/lib/schedules/BeatSaverAlertMonitor.js +231 -0
- package/lib/schedules/BeatSaverAlertMonitor.js.map +1 -0
- package/lib/schedules/index.d.ts +2 -0
- package/lib/schedules/index.js +19 -0
- package/lib/schedules/index.js.map +1 -0
- package/lib/schedules/oauthTokenRefreshTask.d.ts +5 -0
- package/lib/schedules/oauthTokenRefreshTask.js +53 -0
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -0
- package/lib/schedules/temp.d.ts +5 -0
- package/lib/schedules/temp.js +23 -0
- package/lib/schedules/temp.js.map +1 -0
- package/lib/utils.d.ts +2 -0
- package/lib/utils.js +25 -0
- package/lib/utils.js.map +1 -0
- package/lib/ws/beatleader.d.ts +18 -0
- package/lib/ws/beatleader.js +55 -0
- package/lib/ws/beatleader.js.map +1 -0
- package/lib/ws/beatsaver.d.ts +18 -0
- package/lib/ws/beatsaver.js +56 -0
- package/lib/ws/beatsaver.js.map +1 -0
- package/lib/ws/bl-filter.d.ts +0 -0
- package/lib/ws/bl-filter.js +64 -0
- package/lib/ws/bl-filter.js.map +1 -0
- package/lib/ws/handler.d.ts +6 -0
- package/lib/ws/handler.js +3 -0
- package/lib/ws/handler.js.map +1 -0
- package/lib/ws/index.d.ts +4 -0
- package/lib/ws/index.js +21 -0
- package/lib/ws/index.js.map +1 -0
- package/lib/ws/scoresaber.d.ts +18 -0
- package/lib/ws/scoresaber.js +37 -0
- package/lib/ws/scoresaber.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,130 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.RenderService = void 0;
|
7
|
+
const result_1 = require("./result");
|
8
|
+
const qrcode_1 = __importDefault(require("./utils/qrcode"));
|
9
|
+
const render_1 = require("../img-render/render");
|
10
|
+
const interface_1 = require("../interface");
|
11
|
+
const noop = () => { };
|
12
|
+
class RenderService {
|
13
|
+
config;
|
14
|
+
api;
|
15
|
+
baseConfig;
|
16
|
+
htmlToImgBufferConverter;
|
17
|
+
urlToImgBufferConverter;
|
18
|
+
async renderRank(accountId, platform, onRenderStart, onRenderError
|
19
|
+
// type: 'remote' | 'local' = this.config.renderMode
|
20
|
+
) {
|
21
|
+
return this._renderRank(accountId, platform, this.api, {
|
22
|
+
...this.baseConfig,
|
23
|
+
type: 'local',
|
24
|
+
onRenderError,
|
25
|
+
onRenderStart,
|
26
|
+
});
|
27
|
+
}
|
28
|
+
_renderRank = async (accountId, platform, api, renderOpts) => {
|
29
|
+
// if (renderOpts.type == 'remote') {
|
30
|
+
// const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
|
31
|
+
// return renderRemoteRank(
|
32
|
+
// accountId,
|
33
|
+
// remoteP,
|
34
|
+
// renderOpts as RemoteRenderOpts
|
35
|
+
// )
|
36
|
+
// }
|
37
|
+
if (platform == interface_1.Platform.BL) {
|
38
|
+
const { scores, userInfo } = await api.BeatLeader.getPlayerScoresWithUserInfo(accountId);
|
39
|
+
//
|
40
|
+
return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLPlayerComp)(scores, userInfo)), renderOpts.onRenderStart, renderOpts.onRenderError);
|
41
|
+
}
|
42
|
+
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);
|
44
|
+
};
|
45
|
+
async renderScore(scoreId, platform, onRenderStart, onRenderError
|
46
|
+
// type: 'remote' | 'local' = this.config.renderMode
|
47
|
+
) {
|
48
|
+
return this._renderScore(scoreId, platform, this.api, {
|
49
|
+
...this.baseConfig,
|
50
|
+
type: 'local',
|
51
|
+
onRenderError,
|
52
|
+
onRenderStart,
|
53
|
+
});
|
54
|
+
}
|
55
|
+
_renderScore = async (scoreId, platform, api, renderOpts) => {
|
56
|
+
const remoteP = 'beat-leader';
|
57
|
+
// if (renderOpts.type == 'remote') {
|
58
|
+
// const remoteP = platform == Platform.SS ? 'score-saber' : 'beat-leader'
|
59
|
+
// return renderRemoteScore(scoreId, remoteP, renderOpts as RemoteRenderOpts)
|
60
|
+
// }
|
61
|
+
const { score, statistic, bsor, bsMap } = await api.BeatLeader.withRetry(3)
|
62
|
+
.onRetry((times, e) => {
|
63
|
+
console.log(`retrying ${times} due to ${e}`);
|
64
|
+
})
|
65
|
+
.getScoreAndBSMapByScoreId(scoreId)
|
66
|
+
.catch((e) => {
|
67
|
+
throw Error('渲染错误');
|
68
|
+
});
|
69
|
+
const qrcodeUrl = await (0, qrcode_1.default)(`https://replay.beatleader.xyz/?scoreId=${score.id}`);
|
70
|
+
return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBLScoreComp)(score, bsMap, statistic, bsor, qrcodeUrl)), renderOpts.onRenderStart, renderOpts.onRenderError);
|
71
|
+
};
|
72
|
+
async renderMapById(mapId, onRenderStart, onRenderError
|
73
|
+
// type: 'remote' | 'local' = this.config.renderMode
|
74
|
+
) {
|
75
|
+
const map = await this.api.BeatSaver.searchMapById(mapId);
|
76
|
+
return this._renderMap(map, {
|
77
|
+
...this.baseConfig,
|
78
|
+
type: 'local',
|
79
|
+
onRenderError,
|
80
|
+
onRenderStart,
|
81
|
+
});
|
82
|
+
}
|
83
|
+
async renderMap(map, onRenderStart = noop, onRenderError = noop
|
84
|
+
// type: 'remote' | 'local' = this.config.renderMode
|
85
|
+
) {
|
86
|
+
return this._renderMap(map, {
|
87
|
+
...this.baseConfig,
|
88
|
+
type: 'local',
|
89
|
+
onRenderError,
|
90
|
+
onRenderStart,
|
91
|
+
});
|
92
|
+
}
|
93
|
+
async renderUrl(url) {
|
94
|
+
if (this.urlToImgBufferConverter) {
|
95
|
+
return this.urlToImgBufferConverter(url);
|
96
|
+
}
|
97
|
+
}
|
98
|
+
_renderMap = async (bsMap, renderOpts) => {
|
99
|
+
// if (renderOpts.type == 'remote') {
|
100
|
+
// for (let i = 0; i < 3; i++) {
|
101
|
+
// const image = await renderRemoteMap(
|
102
|
+
// bsMap.id,
|
103
|
+
// renderOpts as RemoteRenderOpts
|
104
|
+
// )
|
105
|
+
// if (image) {
|
106
|
+
// return image
|
107
|
+
// }
|
108
|
+
// }
|
109
|
+
// }
|
110
|
+
const previewQrUrl = await (0, qrcode_1.default)(`https://allpoland.github.io/ArcViewer/?id=${bsMap.id}`);
|
111
|
+
const bsMapQrUrl = await (0, qrcode_1.default)(`https://beatsaver.com/maps/${bsMap.id}`);
|
112
|
+
return this.htmlToImgBufferConverter((0, render_1.getHtml)((0, result_1.getBSMapComp)(bsMap, bsMapQrUrl, previewQrUrl)), renderOpts.onRenderStart, renderOpts.onRenderError);
|
113
|
+
};
|
114
|
+
}
|
115
|
+
exports.RenderService = RenderService;
|
116
|
+
class RenderHelper {
|
117
|
+
_onStart;
|
118
|
+
_onRenderStart;
|
119
|
+
_onRenderError;
|
120
|
+
constructor() { }
|
121
|
+
onStart(func) {
|
122
|
+
this._onStart = func;
|
123
|
+
return this;
|
124
|
+
}
|
125
|
+
onRenderError(func) {
|
126
|
+
this._onRenderError = func;
|
127
|
+
return this;
|
128
|
+
}
|
129
|
+
}
|
130
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/img-render/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
interface BaseRenderOpts {
|
2
|
+
type: 'local' | 'remote';
|
3
|
+
puppeteer: any;
|
4
|
+
onRenderStart?: () => void;
|
5
|
+
onRenderError?: (e: any) => void;
|
6
|
+
customBackground?: string;
|
7
|
+
waitTimeout?: number;
|
8
|
+
}
|
9
|
+
export interface RemoteRenderOpts extends BaseRenderOpts {
|
10
|
+
type: 'remote';
|
11
|
+
renderBaseURL: string;
|
12
|
+
}
|
13
|
+
export interface LocalRenderOpts extends BaseRenderOpts {
|
14
|
+
type: 'local';
|
15
|
+
}
|
16
|
+
export type RenderOption = RemoteRenderOpts | LocalRenderOpts;
|
17
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/img-render/interfaces.ts"],"names":[],"mappings":""}
|
File without changes
|
@@ -0,0 +1,56 @@
|
|
1
|
+
// import { RemoteRenderOpts } from '../interfaces'
|
2
|
+
// import { h } from 'koishi'
|
3
|
+
//
|
4
|
+
// export const renderRemoteMap = async (
|
5
|
+
// mapId: string,
|
6
|
+
// opts: RemoteRenderOpts
|
7
|
+
// ) => {
|
8
|
+
// try {
|
9
|
+
// const buffer = await screenshot(
|
10
|
+
// opts.puppeteer,
|
11
|
+
// `${opts.renderBaseURL}/render/map/${mapId}`,
|
12
|
+
// '#render-result',
|
13
|
+
// opts.onRenderStart,
|
14
|
+
// opts.waitTimeout
|
15
|
+
// )
|
16
|
+
// const image = h.image(buffer, 'image/png')
|
17
|
+
// return image
|
18
|
+
// } catch (err) {
|
19
|
+
// console.error(err)
|
20
|
+
// return null
|
21
|
+
// }
|
22
|
+
// }
|
23
|
+
//
|
24
|
+
// export const renderRemoteRank = async (
|
25
|
+
// uid: string,
|
26
|
+
// platform: string,
|
27
|
+
// renderOpts: RemoteRenderOpts
|
28
|
+
// ) => {
|
29
|
+
// const url = `${renderOpts.renderBaseURL}/render/${platform}/${uid}`
|
30
|
+
// const buffer = await screenshot(
|
31
|
+
// renderOpts.puppeteer,
|
32
|
+
// url,
|
33
|
+
// '#render-result',
|
34
|
+
// renderOpts.onRenderStart,
|
35
|
+
// renderOpts.waitTimeout
|
36
|
+
// )
|
37
|
+
// const image = h.image(buffer, 'image/png')
|
38
|
+
// return image
|
39
|
+
// }
|
40
|
+
//
|
41
|
+
// export const renderRemoteScore = async (
|
42
|
+
// scoreId: string,
|
43
|
+
// platform: string,
|
44
|
+
// renderOpts: RemoteRenderOpts
|
45
|
+
// ) => {
|
46
|
+
// const url = `${renderOpts.renderBaseURL}/render/${platform}/score/${scoreId}`
|
47
|
+
// const buffer = await screenshot(
|
48
|
+
// renderOpts.puppeteer,
|
49
|
+
// url,
|
50
|
+
// '#render-result',
|
51
|
+
// renderOpts.onRenderStart,
|
52
|
+
// renderOpts.waitTimeout
|
53
|
+
// )
|
54
|
+
// return h.image(buffer, 'image/png')
|
55
|
+
// }
|
56
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/img-render/remote/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,6BAA6B;AAC7B,EAAE;AACF,yCAAyC;AACzC,mBAAmB;AACnB,2BAA2B;AAC3B,SAAS;AACT,UAAU;AACV,uCAAuC;AACvC,wBAAwB;AACxB,qDAAqD;AACrD,0BAA0B;AAC1B,4BAA4B;AAC5B,yBAAyB;AACzB,QAAQ;AACR,iDAAiD;AACjD,mBAAmB;AACnB,oBAAoB;AACpB,yBAAyB;AACzB,kBAAkB;AAClB,MAAM;AACN,IAAI;AACJ,EAAE;AACF,0CAA0C;AAC1C,iBAAiB;AACjB,sBAAsB;AACtB,iCAAiC;AACjC,SAAS;AACT,wEAAwE;AACxE,qCAAqC;AACrC,4BAA4B;AAC5B,WAAW;AACX,wBAAwB;AACxB,gCAAgC;AAChC,6BAA6B;AAC7B,MAAM;AACN,+CAA+C;AAC/C,iBAAiB;AACjB,IAAI;AACJ,EAAE;AACF,2CAA2C;AAC3C,qBAAqB;AACrB,sBAAsB;AACtB,iCAAiC;AACjC,SAAS;AACT,kFAAkF;AAClF,qCAAqC;AACrC,4BAA4B;AAC5B,WAAW;AACX,wBAAwB;AACxB,gCAAgC;AAChC,6BAA6B;AAC7B,MAAM;AACN,wCAAwC;AACxC,IAAI"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
declare function App({ children }: {
|
3
|
+
children?: React.ReactNode;
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
5
|
+
export default App;
|
6
|
+
export declare const renderComponent: (child: React.ReactNode) => string;
|
7
|
+
export declare const getHtml: (child: React.ReactNode) => string;
|
@@ -0,0 +1,40 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
+
exports.getHtml = exports.renderComponent = void 0;
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
28
|
+
const ReactDOMServer = __importStar(require("react-dom/server"));
|
29
|
+
function App({ children }) {
|
30
|
+
return ((0, jsx_runtime_1.jsxs)("html", { children: [(0, jsx_runtime_1.jsxs)("head", { children: [(0, jsx_runtime_1.jsx)("link", { href: "https://cdn.jsdelivr.net/npm/daisyui@4.7.2/dist/full.min.css", rel: "stylesheet", type: "text/css" }), (0, jsx_runtime_1.jsx)("script", { src: "https://cdn.tailwindcss.com" }), (0, jsx_runtime_1.jsx)("title", { children: "IMG Render" })] }), (0, jsx_runtime_1.jsx)("body", { className: 'bg-red-400 flex w-fit', children: children })] }));
|
31
|
+
}
|
32
|
+
exports.default = App;
|
33
|
+
const renderComponent = (child) => {
|
34
|
+
let res = ReactDOMServer.renderToString((0, jsx_runtime_1.jsx)(App, { children: child }));
|
35
|
+
res = ` <!DOCTYPE html>` + res;
|
36
|
+
return res;
|
37
|
+
};
|
38
|
+
exports.renderComponent = renderComponent;
|
39
|
+
exports.getHtml = exports.renderComponent;
|
40
|
+
//# sourceMappingURL=render.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/img-render/render.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAAkD;AAElD,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAkC;IACvD,OAAO,CACL,6CACE,6CACE,iCACE,IAAI,EAAC,8DAA8D,EACnE,GAAG,EAAC,YAAY,EAChB,IAAI,EAAC,UAAU,GACf,EACF,mCAAQ,GAAG,EAAC,6BAA6B,GAAU,EACnD,2DAAyB,IACpB,EACP,iCAAM,SAAS,EAAE,uBAAuB,YAAG,QAAQ,GAAQ,IACtD,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"}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=renderImg.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"renderImg.js","sourceRoot":"","sources":["../../src/img-render/renderImg.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,44 @@
|
|
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
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
30
|
+
/** @jsxImportSource react */
|
31
|
+
const getPart_1 = __importDefault(require("../utils/bl/getPart"));
|
32
|
+
const socre_badge_1 = __importDefault(require("../components/socre-badge"));
|
33
|
+
const skill_graph_1 = __importDefault(require("../components/skill-graph"));
|
34
|
+
const blScoreItem_1 = __importDefault(require("../components/blScoreItem"));
|
35
|
+
const flag_1 = __importStar(require("../components/flag"));
|
36
|
+
const tw_join_1 = require("../utils/tw-join");
|
37
|
+
const blheadset_1 = require("../utils/bl/blheadset");
|
38
|
+
function BLPlayerPage({ beatleaderItems, user, params, }) {
|
39
|
+
const part = (0, getPart_1.default)(user);
|
40
|
+
const bg = 'https://www.loliapi.com/acg/pc/';
|
41
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { id: 'render-result', className: 'flex flex-col justify-center items-center relative h-[720px] w-[1024px] my-auto', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white rounded-lg flex flex-col space-y-2 z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex justify-between', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 pb-2", children: [(0, jsx_runtime_1.jsx)("img", { src: user.avater, className: 'h-36 w-36 rounded-md z-10', loading: 'eager' }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col justify-between', children: [(0, jsx_runtime_1.jsx)("span", { className: 'text-3xl font-bold', children: user.name }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex space-x-2 text-md font-bold items-center', children: [(0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.EarchIcon, {}), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.rank] })] }), (0, jsx_runtime_1.jsxs)("span", { className: "flex items-center space-x-1", children: [(0, jsx_runtime_1.jsx)(flag_1.default, { flagNationCode: user.country }), (0, jsx_runtime_1.jsxs)("span", { children: ["# ", user.countryRank] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-2 align-items-center ", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'P', count: user.scoreStats.topPlatform }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'H', count: (0, blheadset_1.getHeadsetForHMD)(user.scoreStats.topHMD) }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { className: "w-auto text-white", name: 'R', count: user.scoreStats.rankedPlayCount })] }), (0, jsx_runtime_1.jsxs)("div", { className: (0, tw_join_1.twJoin)('text-4xl font-bold ', ' bg-gradient-to-r bg-clip-text text-transparent from-blue-300 to-red-300', 'text-orange-100'), children: [user.pp, " PP"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "px-3 flex flex-col justify-end items-center grow", children: [user.badges.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-3 gap-2 justify-self-center align-items-cener justify-items-center mb-auto mt-2", children: user.badges.map((badge) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("img", { alt: badge.description, src: badge.image, width: '70px', height: '20px', className: "self-center w-[70px] h-5" }, badge.id) }))) })), (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-cols-3 gap-2 align-items-center py-2", children: [(0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS+', count: user.scoreStats.sspPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'SS', count: user.scoreStats.ssPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S+', count: user.scoreStats.spPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'S', count: user.scoreStats.sPlays }), (0, jsx_runtime_1.jsx)(socre_badge_1.default, { name: 'A', count: user.scoreStats.aPlays })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "ml-auto mr-4 flex justify-center items-center", children: (0, jsx_runtime_1.jsx)(skill_graph_1.default, { factorA: part.accPpPart, factorB: part.techPpPart, factorC: part.passPpPart }) })] }), (0, jsx_runtime_1.jsx)("div", { className: 'grid grid-cols-4 gap-2', children: beatleaderItems.map((item, idx) => ((0, jsx_runtime_1.jsx)(blScoreItem_1.default, { item: item }, idx))) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover', loading: 'eager' })] }) }));
|
42
|
+
}
|
43
|
+
exports.default = BLPlayerPage;
|
44
|
+
//# sourceMappingURL=bl-player.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bl-player.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-player.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { BSOR, Score } from '../../api/interfaces/beatleader';
|
2
|
+
import { BSMap } from '../../api/interfaces/beatsaver';
|
3
|
+
interface BLScoreProps {
|
4
|
+
score: Score;
|
5
|
+
bsMap: BSMap;
|
6
|
+
statistic: any;
|
7
|
+
bsor: BSOR;
|
8
|
+
qrcodeUrl: string;
|
9
|
+
}
|
10
|
+
export declare function BLScore({ score, bsMap, statistic, bsor, qrcodeUrl, }: BLScoreProps): import("react/jsx-runtime").JSX.Element;
|
11
|
+
export {};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.BLScore = void 0;
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
8
|
+
/** @jsxImportSource react */
|
9
|
+
const lucide_react_1 = require("lucide-react");
|
10
|
+
const utils_1 = require("../utils");
|
11
|
+
const progressbar_1 = __importDefault(require("../components/progressbar"));
|
12
|
+
const scoregraph_1 = __importDefault(require("../components/scoregraph"));
|
13
|
+
function BLScore({ score, bsMap, statistic, bsor, qrcodeUrl, }) {
|
14
|
+
const bg = 'https://www.loliapi.com/acg/pc/';
|
15
|
+
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-[400px] my-auto rounded-none', 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 flex flex-col justify-between z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 items-center justify-between text-xl font-bold", 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)("img", { loading: 'eager', className: 'h-16 w-16 rounded-full', src: score.player.avatar }), (0, jsx_runtime_1.jsx)("div", { children: score.player.name })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'w-[100px] flex items-center justify-center flex-col', children: [(0, jsx_runtime_1.jsx)("img", { src: qrcodeUrl, width: 80, height: 80, className: 'w-[80px] aspect-square' }), (0, jsx_runtime_1.jsx)("span", { className: 'text-xs', children: "replay" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-4 h-40", children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-40 w-40 rounded-md', src: score.song.cover }), (0, jsx_runtime_1.jsxs)("div", { className: "text-xs font-bold flex flex-col justify-between", children: [(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-2 items-center text-sm", children: [(0, jsx_runtime_1.jsx)("img", { className: 'h-4 w-4 rounded-full', src: bsMap.uploader.avatar }), (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 grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center text-ellipsis col-span-3 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", { 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)(score.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: [score.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: 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.ThumbsUp, { className: "h-3 w-3" }), (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" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.stats.downvotes })] }), (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 space-x-2 text-xs 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: "text-xl font-bold pt-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsxs)("span", { children: [" # ", score.rank] }), (0, jsx_runtime_1.jsxs)("span", { children: [score.pp.toFixed(2), " PP"] })] }), (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.jsxs)("div", { className: "align-end mt-auto 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 })] })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 rounded-lg absolute h-full object-cover', loading: 'eager' })] }) }));
|
16
|
+
}
|
17
|
+
exports.BLScore = BLScore;
|
18
|
+
//# sourceMappingURL=bl-score.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bl-score.js","sourceRoot":"","sources":["../../../src/img-render/result/bl-score.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { BSMap } from '../../api/interfaces/beatsaver';
|
2
|
+
interface BSMapProps {
|
3
|
+
bsMap: BSMap;
|
4
|
+
previewQrUrl: string;
|
5
|
+
bsMapQrUrl: string;
|
6
|
+
}
|
7
|
+
export default function BSMapShare({ bsMap, bsMapQrUrl, previewQrUrl, }: BSMapProps): import("react/jsx-runtime").JSX.Element;
|
8
|
+
export {};
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
const RankIcon_1 = __importDefault(require("../components/icons/RankIcon"));
|
8
|
+
const lucide_react_1 = require("lucide-react");
|
9
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
10
|
+
const utils_1 = require("../utils");
|
11
|
+
const getMods_1 = require("../utils/getMods");
|
12
|
+
const progressbar_1 = __importDefault(require("../components/progressbar"));
|
13
|
+
const characteristic_1 = require("../components/characteristic");
|
14
|
+
function BSMapShare({ bsMap, bsMapQrUrl, previewQrUrl, }) {
|
15
|
+
// if ranked fetch rank star
|
16
|
+
const bg = 'https://www.loliapi.com/acg/pe/';
|
17
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", { className: 'w-[400px] rounded-none flex flex-col relative h-auto my-auto', id: "render-result", children: (0, jsx_runtime_1.jsxs)("div", { className: 'relative z-10', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'bg-blend-darken bg-black/[.8] text-white rounded-none', children: [(0, jsx_runtime_1.jsx)("img", { src: bsMap.versions[0].coverURL, className: "w-[400px]", loading: 'eager', alt: 'bsmap cover' }), (0, jsx_runtime_1.jsx)("div", { className: "flex w-full h-auto flex-col", children: (0, jsx_runtime_1.jsxs)("div", { className: "p-4", children: [(0, jsx_runtime_1.jsx)("div", { className: "text-ellipsis line-clamp-2", children: (0, jsx_runtime_1.jsx)("span", { className: "text-ellipsis line-clamp-2 text-xl font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300", children: bsMap.name }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex items-center justify-between", children: (0, jsx_runtime_1.jsxs)("div", { className: "author flex space-x-4 items-center ", children: [(0, jsx_runtime_1.jsx)("img", { src: bsMap.uploader.avatar, className: "rounded-full w-8 h-8", loading: 'eager', alt: 'bsmap mapper avatar' }), (0, jsx_runtime_1.jsx)("span", { className: "text-xl", children: bsMap.uploader.name })] }) }), (0, jsx_runtime_1.jsxs)("div", { className: "meta flex space-x-4 text-xs py-2 items-center", children: [(0, jsx_runtime_1.jsx)(RankIcon_1.default, { blrank: bsMap.blRanked, ssrank: bsMap.ranked }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-1 items-center justify-between", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.HeartPulse, { className: "w-3 h-3" }), (0, jsx_runtime_1.jsx)("span", { children: bsMap.metadata.bpm.toFixed(0) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-1 items-center justify-between", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Clock, { className: "w-3 h-3" }), (0, jsx_runtime_1.jsx)("span", { children: dayjs_1.default
|
18
|
+
.duration(bsMap.metadata.duration, 'seconds')
|
19
|
+
.format('mm:ss') })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-1 items-center justify-between", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Key, { className: "w-3 h-3" }), (0, jsx_runtime_1.jsx)("span", { className: "font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300", children: bsMap.id })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-2 text-xs", children: [(0, jsx_runtime_1.jsx)("span", { 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.jsx)("div", { className: "tags flex flex-wrap justify-start", children: bsMap.tags
|
20
|
+
?.sort((a, b) => b.length - a.length)
|
21
|
+
?.map((item) => ((0, jsx_runtime_1.jsx)("span", { className: "text-xs mx-1 text-white bg-red-500 rounded px-1", children: (0, utils_1.getTag)(item) }, item))) }), (0, jsx_runtime_1.jsx)("div", { className: "tags flex flex-wrap justify-start pt-2", children: (0, getMods_1.getMods)(bsMap)
|
22
|
+
?.sort((a, b) => b.length - a.length)
|
23
|
+
?.map((item) => ((0, jsx_runtime_1.jsx)("span", { className: "text-xs mx-1 text-white bg-blue-500 rounded px-1", children: item }, item))) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "percentage w-42 py-2 flex text-xs items-center space-x-4", 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(1), "%"] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-1 items-center text-xs", children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsUp, { className: "h-3 w-3" }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatNumber)(bsMap.stats.upvotes) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex space-x-1 items-center text-xs", children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.ThumbsDown, { className: "h-3 w-3" }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.formatNumber)(bsMap.stats.downvotes) })] })] }), (0, jsx_runtime_1.jsx)("span", { className: "font-bold", children: "\u96BE\u5EA6" }), (0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-2", children: bsMap.versions[0].diffs.map((diff) => ((0, jsx_runtime_1.jsxs)("div", { className: "text-xs space-x-1 flex items-center", children: [(0, jsx_runtime_1.jsx)("span", { className: "h-3 w-3 shrink-0", children: (0, jsx_runtime_1.jsx)(characteristic_1.CharacteristicIcon, { characteristic: diff.characteristic }) }), (0, jsx_runtime_1.jsx)("span", { children: (0, utils_1.diffConv)(diff.difficulty) }), (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Gauge, { className: 'w-3 h-3 ml-1' }) }), (0, jsx_runtime_1.jsx)("span", { children: diff.nps.toFixed(2) }), diff.stars && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Star, { className: 'w-3 h-3 ml-1' }) }), (0, jsx_runtime_1.jsx)("span", { children: diff.stars?.toFixed(2) })] }))] }, diff.difficulty + diff.characteristic))) }), (0, jsx_runtime_1.jsx)("span", { className: "font-bold", children: "\u63CF\u8FF0" }), (0, jsx_runtime_1.jsx)("p", { className: "text-xs", children: bsMap.description }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex items-center justify-between pt-2', children: [(0, jsx_runtime_1.jsx)("div", { className: 'text-[10px] text-opacity-70 text-slate-100 align-bottom mt-auto mb-0', children: "Powered by BSBot" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-center', children: [(0, jsx_runtime_1.jsx)("img", { width: 80, height: 80, src: bsMapQrUrl, className: "w-20 h-20" }), (0, jsx_runtime_1.jsx)("div", { className: 'text-[8px] font-light', children: "beatsaver" })] }), (0, jsx_runtime_1.jsxs)("div", { className: 'flex flex-col items-center', children: [(0, jsx_runtime_1.jsx)("img", { width: 80, height: 80, src: previewQrUrl, className: "w-20 h-20" }), (0, jsx_runtime_1.jsx)("div", { className: 'text-[8px] font-light', children: "preview" })] })] })] })] }) })] }), (0, jsx_runtime_1.jsx)("img", { src: bg, className: 'inset-0 absolute h-full object-cover -z-10', loading: 'eager', alt: 'random background img' })] }) }) }));
|
24
|
+
}
|
25
|
+
exports.default = BSMapShare;
|
26
|
+
//# sourceMappingURL=bs-map.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bs-map.js","sourceRoot":"","sources":["../../../src/img-render/result/bs-map.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { BSMap } from '../../api/interfaces/beatsaver';
|
2
|
+
import { BeatLeaderUser, Score } from '../../api/interfaces/beatleader';
|
3
|
+
import { ScoreSaberItem, ScoreSaberUser } from '../../api/interfaces/scoresaber';
|
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;
|
7
|
+
export declare const getBLScoreComp: (score: Score, bsMap: BSMap, statistic: any, bsor: any, qrcodeUrl: string) => import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.getBLScoreComp = exports.getBLPlayerComp = exports.getSSPlayerComp = exports.getBSMapComp = void 0;
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
8
|
+
const bs_map_1 = __importDefault(require("./bs-map"));
|
9
|
+
const ss_player_1 = __importDefault(require("./ss-player"));
|
10
|
+
const bl_player_1 = __importDefault(require("./bl-player"));
|
11
|
+
const bl_score_1 = require("./bl-score");
|
12
|
+
const getBSMapComp = (bsMap, bsMapQrUrl, previewQrUrl) => {
|
13
|
+
return ((0, jsx_runtime_1.jsx)(bs_map_1.default, { bsMap: bsMap, bsMapQrUrl: bsMapQrUrl, previewQrUrl: previewQrUrl }));
|
14
|
+
};
|
15
|
+
exports.getBSMapComp = getBSMapComp;
|
16
|
+
const getSSPlayerComp = (scores, userInfo) => {
|
17
|
+
return (0, jsx_runtime_1.jsx)(ss_player_1.default, { scoreUser: userInfo, leaderItems: scores });
|
18
|
+
};
|
19
|
+
exports.getSSPlayerComp = getSSPlayerComp;
|
20
|
+
const getBLPlayerComp = (scores, userInfo) => {
|
21
|
+
return (0, jsx_runtime_1.jsx)(bl_player_1.default, { user: userInfo, beatleaderItems: scores });
|
22
|
+
};
|
23
|
+
exports.getBLPlayerComp = getBLPlayerComp;
|
24
|
+
const getBLScoreComp = (score, bsMap, statistic, bsor, qrcodeUrl) => {
|
25
|
+
return ((0, jsx_runtime_1.jsx)(bl_score_1.BLScore, { score: score, bsMap: bsMap, statistic: statistic, bsor: bsor, qrcodeUrl: qrcodeUrl }));
|
26
|
+
};
|
27
|
+
exports.getBLScoreComp = getBLScoreComp;
|
28
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +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;AAK7B,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;AACnE,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B;AAEM,MAAM,eAAe,GAAG,CAAC,MAAe,EAAE,QAAwB,EAAE,EAAE;IAC3E,OAAO,uBAAC,mBAAY,IAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAI,CAAA;AAClE,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { ScoreSaberItem, ScoreSaberUser } from '../../api/interfaces/scoresaber';
|
2
|
+
interface SSPlayerProps {
|
3
|
+
leaderItems: ScoreSaberItem[];
|
4
|
+
scoreUser: ScoreSaberUser;
|
5
|
+
params?: Record<string, string>;
|
6
|
+
}
|
7
|
+
export default function SSPlayerPage({ leaderItems, scoreUser, params, }: SSPlayerProps): import("react/jsx-runtime").JSX.Element;
|
8
|
+
export {};
|
@@ -0,0 +1,39 @@
|
|
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
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
30
|
+
/** @jsxImportSource react */
|
31
|
+
const flag_1 = __importStar(require("../components/flag"));
|
32
|
+
const tw_join_1 = require("../utils/tw-join");
|
33
|
+
const ssScoreItem_1 = __importDefault(require("../components/ssScoreItem"));
|
34
|
+
function SSPlayerPage({ leaderItems, scoreUser, params, }) {
|
35
|
+
const bg = 'https://www.loliapi.com/acg/pc/';
|
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' })] }) }));
|
37
|
+
}
|
38
|
+
exports.default = SSPlayerPage;
|
39
|
+
//# sourceMappingURL=ss-player.js.map
|
@@ -0,0 +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,4EAAiD;AASjD,SAAwB,YAAY,CAAC,EACnC,WAAW,EACX,SAAS,EACT,MAAM,GACQ;IACd,MAAM,EAAE,GAAG,iCAAiC,CAAA;IAC5C,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,wEAA2B,GACvB,IACF,EACN,gCAAK,SAAS,EAAE,wBAAwB,YACrC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9B,uBAAC,qBAAS,IAAC,SAAS,EAAE,IAAI,IAAO,GAAG,CAAI,CACzC,CAAC,GACE,IACF,EACN,gCACE,GAAG,EAAE,EAAE,EACP,SAAS,EAAE,iDAAiD,EAC5D,OAAO,EAAE,OAAO,GAChB,IACE,GACL,CACJ,CAAA;AACH,CAAC;AAtED,+BAsEC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare function createDistanceWeightFunction(bellWidth: number, steepnessPower: number): {
|
2
|
+
divider: number;
|
3
|
+
halfPower: number;
|
4
|
+
getWeight: (distance: number) => number;
|
5
|
+
};
|
6
|
+
export declare function createMinMaxCounter(clampMin: number, clampMax: number, step: number): {
|
7
|
+
minValue: number;
|
8
|
+
maxValue: number;
|
9
|
+
clampMin: number;
|
10
|
+
clampMax: number;
|
11
|
+
step: number;
|
12
|
+
update: (value: number) => void;
|
13
|
+
};
|