beatsaber-bot-core 0.2.0-rc.8 → 0.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cmd/bind/bind-beatleader.js +2 -2
- package/dist/cjs/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/cjs/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/cjs/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/cjs/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/cjs/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/cjs/cmd/bind/index.js +12 -12
- package/dist/cjs/cmd/bind/index.js.map +1 -1
- package/dist/cjs/cmd/bsmap/id-search.js +3 -3
- package/dist/cjs/cmd/bsmap/id-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/key-search.js +2 -2
- package/dist/cjs/cmd/bsmap/key-search.js.map +1 -1
- package/dist/cjs/cmd/bsmap/latest.js +2 -2
- package/dist/cjs/cmd/bsmap/latest.js.map +1 -1
- package/dist/cjs/cmd/deprecated/tmp.js +4 -4
- package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
- package/dist/cjs/cmd/index.js +11 -11
- package/dist/cjs/cmd/index.js.map +1 -1
- package/dist/cjs/cmd/rank.js +8 -8
- package/dist/cjs/cmd/rank.js.map +1 -1
- package/dist/cjs/cmd/score.js +16 -20
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatleader.js +3 -3
- package/dist/cjs/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/cjs/cmd/subscribe/beatsaver.js +3 -3
- package/dist/cjs/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/cjs/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/cjs/cmd/subscribe/index.js +8 -8
- package/dist/cjs/cmd/subscribe/index.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subjoin.js +6 -6
- package/dist/cjs/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/cjs/cmd/subscribe/subleave.js +6 -6
- package/dist/cjs/cmd/subscribe/subleave.js.map +1 -1
- package/dist/cjs/cmd/subscribe/unsubscribe.js +8 -8
- package/dist/cjs/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/cjs/common/cache.js.map +1 -0
- package/dist/cjs/common/fetch/error.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/index.js +16 -14
- package/dist/cjs/common/fetch/index.js.map +1 -0
- package/dist/cjs/{infra/support → common}/fetch/ofetch.js +5 -12
- package/dist/cjs/common/fetch/ofetch.js.map +1 -0
- package/dist/cjs/common/i18n/index.js +55 -0
- package/dist/cjs/common/i18n/index.js.map +1 -0
- package/dist/cjs/common/i18n/parser.js.map +1 -0
- package/dist/cjs/{infra/i18n/index.js → common/i18n/util.js} +10 -71
- package/dist/cjs/common/i18n/util.js.map +1 -0
- package/dist/cjs/{infra/support → common}/render/index.js +55 -15
- package/dist/cjs/common/render/index.js.map +1 -0
- package/dist/cjs/common/render/puppeteer.js.map +1 -0
- package/dist/cjs/{infra → common}/s3/index.js +34 -13
- package/dist/cjs/common/s3/index.js.map +1 -0
- package/dist/cjs/components/components/RankDifficulty.js +60 -84
- package/dist/cjs/components/components/RankDifficulty.js.map +1 -1
- package/dist/cjs/components/components/base/avatar.js +1 -2
- package/dist/cjs/components/components/base/avatar.js.map +1 -1
- package/dist/cjs/components/components/bl-rank-score-item.js +25 -87
- package/dist/cjs/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/bl-score-item.js +28 -69
- package/dist/cjs/components/components/bl-score-item.js.map +1 -1
- package/dist/cjs/components/components/characteristic.js +106 -118
- package/dist/cjs/components/components/characteristic.js.map +1 -1
- package/dist/cjs/components/components/flag.js +6 -14
- package/dist/cjs/components/components/flag.js.map +1 -1
- package/dist/cjs/components/components/icons/BeatLeader.js +55 -71
- package/dist/cjs/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/cjs/components/components/icons/RankIcon.js +3 -7
- package/dist/cjs/components/components/icons/RankIcon.js.map +1 -1
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/cjs/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/cjs/components/components/progressbar.js +12 -2
- package/dist/cjs/components/components/progressbar.js.map +1 -1
- package/dist/cjs/components/components/scoreItem.js +26 -63
- package/dist/cjs/components/components/scoreItem.js.map +1 -1
- package/dist/cjs/components/components/scoregraph.js +4 -5
- package/dist/cjs/components/components/scoregraph.js.map +1 -1
- package/dist/cjs/components/components/skill-graph.js +147 -164
- package/dist/cjs/components/components/skill-graph.js.map +1 -1
- package/dist/cjs/components/components/socre-badge.js +7 -10
- package/dist/cjs/components/components/socre-badge.js.map +1 -1
- package/dist/cjs/components/components/ss-rank-score-item.js +25 -87
- package/dist/cjs/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/cjs/components/components/ss-score-item.js +38 -65
- package/dist/cjs/components/components/ss-score-item.js.map +1 -1
- package/dist/cjs/components/index.js +3 -43
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/pages/bl-player.js +91 -136
- package/dist/cjs/components/pages/bl-player.js.map +1 -1
- package/dist/cjs/components/pages/bl-score-with-rank.js +114 -221
- package/dist/cjs/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/cjs/components/pages/bl-score.js +67 -169
- package/dist/cjs/components/pages/bl-score.js.map +1 -1
- package/dist/cjs/components/pages/bs-map.js +95 -166
- package/dist/cjs/components/pages/bs-map.js.map +1 -1
- package/dist/cjs/components/pages/index.js +26 -26
- package/dist/cjs/components/pages/index.js.map +1 -1
- package/dist/cjs/components/pages/ss-player.js +48 -77
- package/dist/cjs/components/pages/ss-player.js.map +1 -1
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/cjs/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/cjs/components/utils/bl/getPart.js.map +1 -1
- package/dist/cjs/components/utils/bl/stastic.js.map +1 -1
- package/dist/cjs/components/utils/format.js +3 -3
- package/dist/cjs/components/utils/format.js.map +1 -1
- package/dist/cjs/components/utils/getMods.js.map +1 -1
- package/dist/cjs/components/utils/index.js +4 -4
- package/dist/cjs/config.js +40 -0
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/{interface → core}/cmd/builder.js +5 -5
- package/dist/cjs/core/cmd/builder.js.map +1 -0
- package/dist/cjs/core/cmd/type.js.map +1 -0
- package/dist/cjs/core/domain.js +16 -0
- package/dist/cjs/core/domain.js.map +1 -0
- package/dist/cjs/core/error.js +38 -0
- package/dist/cjs/core/error.js.map +1 -0
- package/dist/cjs/{interface/bot.js → core/event.js} +3 -3
- package/dist/cjs/core/event.js.map +1 -0
- package/dist/cjs/core/index.js +39 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/logger.js.map +1 -0
- package/dist/cjs/core/session.js +16 -0
- package/dist/cjs/core/session.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/index.js +4 -3
- package/dist/cjs/events/schedules/index.js.map +1 -0
- package/dist/cjs/{schedules → events/schedules}/temp.js +7 -3
- package/dist/cjs/events/schedules/temp.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatleader.js +6 -6
- package/dist/cjs/events/ws/beatleader.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/cjs/events/ws/beatsaver.js.map +1 -0
- package/dist/cjs/events/ws/handler.js.map +1 -0
- package/dist/cjs/{ws → events/ws}/index.js +6 -8
- package/dist/cjs/events/ws/index.js.map +1 -0
- package/dist/cjs/index.js +27 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/db/index.js +0 -6
- package/dist/cjs/interface/db/index.js.map +1 -1
- package/dist/cjs/interface/db/models.js.map +1 -1
- package/dist/cjs/interface/index.js +12 -21
- package/dist/cjs/interface/index.js.map +1 -1
- package/dist/cjs/{service → services}/api/base/aioclient.js +1 -1
- package/dist/cjs/services/api/base/aioclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/blclient.js +1 -1
- package/dist/cjs/services/api/base/blclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/bsclient.js +2 -2
- package/dist/cjs/services/api/base/bsclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/index.js +8 -8
- package/dist/cjs/services/api/base/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/base/ssclient.js +2 -2
- package/dist/cjs/services/api/base/ssclient.js.map +1 -0
- package/dist/cjs/{service → services}/api/index.js +17 -9
- package/dist/cjs/services/api/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/aiosaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/bsor.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatleader/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/req.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/score.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatleader/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/alert.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/bsmap.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/beatsaver/index.js +10 -10
- package/dist/cjs/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/beatsaver/ws.js.map +1 -0
- package/dist/cjs/services/api/interfaces/index.js.map +1 -0
- package/dist/cjs/{service → services}/api/interfaces/scoresaber/index.js +6 -6
- package/dist/cjs/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/item.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/leaderboard.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/resp.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/user.js.map +1 -0
- package/dist/cjs/services/api/interfaces/scoresaber/ws.js.map +1 -0
- package/dist/cjs/services/api/sortScore.js.map +1 -0
- package/dist/cjs/{infra → services}/errors/index.js +21 -38
- package/dist/cjs/services/errors/index.js.map +1 -0
- package/dist/cjs/services/i18n/index.js +43 -0
- package/dist/cjs/services/i18n/index.js.map +1 -0
- package/dist/cjs/{infra → services}/i18n/zh-cn.json +1 -1
- package/dist/cjs/{infra → services}/index.js +12 -9
- package/dist/cjs/services/index.js.map +1 -0
- package/dist/cjs/services/preference.js.map +1 -0
- package/dist/cjs/{service → services}/render/index.js +36 -13
- package/dist/cjs/services/render/index.js.map +1 -0
- package/dist/cjs/utils/bsorDecoder.js +329 -0
- package/dist/cjs/utils/bsorDecoder.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/platform.js +38 -0
- package/dist/cjs/utils/platform.js.map +1 -0
- package/dist/esm/cmd/bind/bind-beatleader.js +2 -2
- package/dist/esm/cmd/bind/bind-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-beatsaver.js +2 -2
- package/dist/esm/cmd/bind/bind-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatleader.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/dist/esm/cmd/bind/bind-id-beatsaver.js +3 -3
- package/dist/esm/cmd/bind/bind-id-beatsaver.js.map +1 -1
- package/dist/esm/cmd/bind/bind-scoresaber.js +3 -3
- package/dist/esm/cmd/bind/bind-scoresaber.js.map +1 -1
- package/dist/esm/cmd/bind/index.js +5 -5
- package/dist/esm/cmd/bind/index.js.map +1 -1
- package/dist/esm/cmd/bsmap/id-search.js +2 -2
- package/dist/esm/cmd/bsmap/id-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/key-search.js +1 -1
- package/dist/esm/cmd/bsmap/key-search.js.map +1 -1
- package/dist/esm/cmd/bsmap/latest.js +2 -2
- package/dist/esm/cmd/bsmap/latest.js.map +1 -1
- package/dist/esm/cmd/deprecated/tmp.js +3 -3
- package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
- package/dist/esm/cmd/index.js +11 -11
- package/dist/esm/cmd/index.js.map +1 -1
- package/dist/esm/cmd/rank.js +5 -5
- package/dist/esm/cmd/rank.js.map +1 -1
- package/dist/esm/cmd/score.js +13 -17
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatleader.js +3 -3
- package/dist/esm/cmd/subscribe/beatleader.js.map +1 -1
- package/dist/esm/cmd/subscribe/beatsaver.js +3 -3
- package/dist/esm/cmd/subscribe/beatsaver.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatleader-score.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatleader-score.js.map +1 -1
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js +4 -4
- package/dist/esm/cmd/subscribe/id-beatsaver-mapper.js.map +1 -1
- package/dist/esm/cmd/subscribe/index.js +7 -7
- package/dist/esm/cmd/subscribe/index.js.map +1 -1
- package/dist/esm/cmd/subscribe/subjoin.js +5 -5
- package/dist/esm/cmd/subscribe/subjoin.js.map +1 -1
- package/dist/esm/cmd/subscribe/subleave.js +5 -5
- package/dist/esm/cmd/subscribe/subleave.js.map +1 -1
- package/dist/esm/cmd/subscribe/unsubscribe.js +7 -7
- package/dist/esm/cmd/subscribe/unsubscribe.js.map +1 -1
- package/dist/esm/common/cache.js.map +1 -0
- package/dist/esm/common/fetch/error.js.map +1 -0
- package/dist/esm/common/fetch/index.js +35 -0
- package/dist/esm/common/fetch/index.js.map +1 -0
- package/dist/esm/{infra/support → common}/fetch/ofetch.js +4 -10
- package/dist/esm/common/fetch/ofetch.js.map +1 -0
- package/dist/esm/common/i18n/index.js +32 -0
- package/dist/esm/common/i18n/index.js.map +1 -0
- package/dist/esm/common/i18n/parser.js.map +1 -0
- package/dist/esm/{infra/i18n/index.js → common/i18n/util.js} +4 -56
- package/dist/esm/common/i18n/util.js.map +1 -0
- package/dist/esm/{infra/support → common}/render/index.js +53 -13
- package/dist/esm/common/render/index.js.map +1 -0
- package/dist/esm/common/render/puppeteer.js.map +1 -0
- package/dist/esm/{infra → common}/s3/index.js +32 -12
- package/dist/esm/common/s3/index.js.map +1 -0
- package/dist/esm/components/components/RankDifficulty.js +60 -84
- package/dist/esm/components/components/RankDifficulty.js.map +1 -1
- package/dist/esm/components/components/base/avatar.js +1 -2
- package/dist/esm/components/components/base/avatar.js.map +1 -1
- package/dist/esm/components/components/bl-rank-score-item.js +25 -87
- package/dist/esm/components/components/bl-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/bl-score-item.js +28 -69
- package/dist/esm/components/components/bl-score-item.js.map +1 -1
- package/dist/esm/components/components/characteristic.js +106 -118
- package/dist/esm/components/components/characteristic.js.map +1 -1
- package/dist/esm/components/components/flag.js +6 -14
- package/dist/esm/components/components/flag.js.map +1 -1
- package/dist/esm/components/components/icons/BeatLeader.js +55 -71
- package/dist/esm/components/components/icons/BeatLeader.js.map +1 -1
- package/dist/esm/components/components/icons/RankIcon.js +3 -7
- package/dist/esm/components/components/icons/RankIcon.js.map +1 -1
- package/dist/esm/components/components/icons/ScoreSaberIcon.js +276 -312
- package/dist/esm/components/components/icons/ScoreSaberIcon.js.map +1 -1
- package/dist/esm/components/components/progressbar.js +2 -2
- package/dist/esm/components/components/progressbar.js.map +1 -1
- package/dist/esm/components/components/scoreItem.js +26 -63
- package/dist/esm/components/components/scoreItem.js.map +1 -1
- package/dist/esm/components/components/scoregraph.js +4 -5
- package/dist/esm/components/components/scoregraph.js.map +1 -1
- package/dist/esm/components/components/skill-graph.js +147 -164
- package/dist/esm/components/components/skill-graph.js.map +1 -1
- package/dist/esm/components/components/socre-badge.js +7 -10
- package/dist/esm/components/components/socre-badge.js.map +1 -1
- package/dist/esm/components/components/ss-rank-score-item.js +25 -87
- package/dist/esm/components/components/ss-rank-score-item.js.map +1 -1
- package/dist/esm/components/components/ss-score-item.js +28 -65
- package/dist/esm/components/components/ss-score-item.js.map +1 -1
- package/dist/esm/components/index.js +3 -43
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/pages/bl-player.js +91 -136
- package/dist/esm/components/pages/bl-player.js.map +1 -1
- package/dist/esm/components/pages/bl-score-with-rank.js +114 -221
- package/dist/esm/components/pages/bl-score-with-rank.js.map +1 -1
- package/dist/esm/components/pages/bl-score.js +67 -169
- package/dist/esm/components/pages/bl-score.js.map +1 -1
- package/dist/esm/components/pages/bs-map.js +95 -166
- package/dist/esm/components/pages/bs-map.js.map +1 -1
- package/dist/esm/components/pages/index.js +21 -21
- package/dist/esm/components/pages/index.js.map +1 -1
- package/dist/esm/components/pages/ss-player.js +48 -77
- package/dist/esm/components/pages/ss-player.js.map +1 -1
- package/dist/esm/components/utils/bl/bsorReplayAcc.js +2 -2
- package/dist/esm/components/utils/bl/bsorReplayAcc.js.map +1 -1
- package/dist/esm/components/utils/bl/getPart.js.map +1 -1
- package/dist/esm/components/utils/bl/stastic.js.map +1 -1
- package/dist/esm/components/utils/format.js +3 -3
- package/dist/esm/components/utils/format.js.map +1 -1
- package/dist/esm/components/utils/getMods.js.map +1 -1
- package/dist/esm/components/utils/index.js +2 -2
- package/dist/esm/config.js +32 -0
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/{interface → core}/cmd/builder.js +4 -4
- package/dist/esm/core/cmd/builder.js.map +1 -0
- package/dist/esm/core/domain.js +1 -0
- package/dist/esm/core/error.js +16 -0
- package/dist/esm/core/error.js.map +1 -0
- package/dist/esm/core/event.js +1 -0
- package/dist/esm/core/index.js +10 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/session.js +1 -0
- package/dist/esm/events/schedules/index.js +16 -0
- package/dist/esm/events/schedules/index.js.map +1 -0
- package/dist/esm/{schedules → events/schedules}/temp.js +7 -3
- package/dist/esm/events/schedules/temp.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatleader.js +6 -6
- package/dist/esm/events/ws/beatleader.js.map +1 -0
- package/dist/esm/{ws → events/ws}/beatsaver.js +11 -11
- package/dist/esm/events/ws/beatsaver.js.map +1 -0
- package/dist/esm/events/ws/index.js +4 -0
- package/dist/esm/events/ws/index.js.map +1 -0
- package/dist/esm/index.js +15 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/db/index.js +0 -1
- package/dist/esm/interface/db/index.js.map +1 -1
- package/dist/esm/interface/index.js +9 -15
- package/dist/esm/interface/index.js.map +1 -1
- package/dist/esm/{service → services}/api/base/aioclient.js +1 -1
- package/dist/esm/services/api/base/aioclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/blclient.js +1 -1
- package/dist/esm/services/api/base/blclient.js.map +1 -0
- package/dist/esm/{service → services}/api/base/bsclient.js +2 -2
- package/dist/esm/services/api/base/bsclient.js.map +1 -0
- package/dist/esm/services/api/base/index.js +5 -0
- package/dist/esm/services/api/base/index.js.map +1 -0
- package/dist/esm/{service → services}/api/base/ssclient.js +2 -2
- package/dist/esm/services/api/base/ssclient.js.map +1 -0
- package/dist/esm/{service → services}/api/index.js +16 -8
- package/dist/esm/services/api/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatleader/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js +6 -0
- package/dist/esm/services/api/interfaces/beatsaver/index.js.map +1 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js +4 -0
- package/dist/esm/services/api/interfaces/scoresaber/index.js.map +1 -0
- package/dist/esm/services/api/sortScore.js.map +1 -0
- package/dist/esm/{infra → services}/errors/index.js +1 -17
- package/dist/esm/services/errors/index.js.map +1 -0
- package/dist/esm/services/i18n/index.js +21 -0
- package/dist/esm/services/i18n/index.js.map +1 -0
- package/dist/esm/services/index.js +9 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/preference.js.map +1 -0
- package/dist/esm/{service → services}/render/index.js +34 -11
- package/dist/esm/services/render/index.js.map +1 -0
- package/dist/esm/utils/bsorDecoder.js +301 -0
- package/dist/esm/utils/bsorDecoder.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/platform.js +14 -0
- package/dist/esm/utils/platform.js.map +1 -0
- package/dist/types/index.d.ts +1376 -48
- package/package.json +19 -10
- package/dist/cjs/components/utils/canvas.js +0 -2
- package/dist/cjs/components/utils/canvas.js.map +0 -1
- package/dist/cjs/infra/errors/index.js.map +0 -1
- package/dist/cjs/infra/i18n/index.js.map +0 -1
- package/dist/cjs/infra/i18n/parser.js.map +0 -1
- package/dist/cjs/infra/index.js.map +0 -1
- package/dist/cjs/infra/s3/index.js.map +0 -1
- package/dist/cjs/infra/support/cache.js.map +0 -1
- package/dist/cjs/infra/support/fetch/error.js.map +0 -1
- package/dist/cjs/infra/support/fetch/index.js.map +0 -1
- package/dist/cjs/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/cjs/infra/support/render/index.js.map +0 -1
- package/dist/cjs/infra/support/render/puppeteer.js.map +0 -1
- package/dist/cjs/interface/bot.js.map +0 -1
- package/dist/cjs/interface/cmd/builder.js.map +0 -1
- package/dist/cjs/interface/cmd/type.js.map +0 -1
- package/dist/cjs/interface/logger.js.map +0 -1
- package/dist/cjs/schedules/index.js.map +0 -1
- package/dist/cjs/schedules/interface.js +0 -16
- package/dist/cjs/schedules/interface.js.map +0 -1
- package/dist/cjs/schedules/temp.js.map +0 -1
- package/dist/cjs/service/api/base/aioclient.js.map +0 -1
- package/dist/cjs/service/api/base/blclient.js.map +0 -1
- package/dist/cjs/service/api/base/bsclient.js.map +0 -1
- package/dist/cjs/service/api/base/index.js.map +0 -1
- package/dist/cjs/service/api/base/ssclient.js.map +0 -1
- package/dist/cjs/service/api/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/aiosaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/bsor.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/req.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/score.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatleader/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/alert.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/bsmap.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/beatsaver/ws.js.map +0 -1
- package/dist/cjs/service/api/interfaces/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/item.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/leaderboard.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/resp.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/user.js.map +0 -1
- package/dist/cjs/service/api/interfaces/scoresaber/ws.js.map +0 -1
- package/dist/cjs/service/api/sortScore.js.map +0 -1
- package/dist/cjs/service/index.js +0 -16
- package/dist/cjs/service/index.js.map +0 -1
- package/dist/cjs/service/preference.js.map +0 -1
- package/dist/cjs/service/render/index.js.map +0 -1
- package/dist/cjs/service/render/interfaces.js +0 -16
- package/dist/cjs/service/render/interfaces.js.map +0 -1
- package/dist/cjs/ws/beatleader.js.map +0 -1
- package/dist/cjs/ws/beatsaver.js.map +0 -1
- package/dist/cjs/ws/bl-filter.js +0 -1
- package/dist/cjs/ws/handler.js.map +0 -1
- package/dist/cjs/ws/index.js.map +0 -1
- package/dist/cjs/ws/scoresaber.js +0 -75
- package/dist/cjs/ws/scoresaber.js.map +0 -1
- package/dist/esm/components/utils/canvas.js +0 -2
- package/dist/esm/components/utils/canvas.js.map +0 -1
- package/dist/esm/infra/errors/index.js.map +0 -1
- package/dist/esm/infra/i18n/index.js.map +0 -1
- package/dist/esm/infra/i18n/parser.js.map +0 -1
- package/dist/esm/infra/index.js +0 -6
- package/dist/esm/infra/index.js.map +0 -1
- package/dist/esm/infra/s3/index.js.map +0 -1
- package/dist/esm/infra/support/cache.js.map +0 -1
- package/dist/esm/infra/support/fetch/error.js.map +0 -1
- package/dist/esm/infra/support/fetch/index.js +0 -33
- package/dist/esm/infra/support/fetch/index.js.map +0 -1
- package/dist/esm/infra/support/fetch/ofetch.js.map +0 -1
- package/dist/esm/infra/support/render/index.js.map +0 -1
- package/dist/esm/infra/support/render/puppeteer.js.map +0 -1
- package/dist/esm/interface/bot.js +0 -1
- package/dist/esm/interface/cmd/builder.js.map +0 -1
- package/dist/esm/schedules/index.js +0 -15
- package/dist/esm/schedules/index.js.map +0 -1
- package/dist/esm/schedules/interface.js +0 -1
- package/dist/esm/schedules/temp.js.map +0 -1
- package/dist/esm/service/api/base/aioclient.js.map +0 -1
- package/dist/esm/service/api/base/blclient.js.map +0 -1
- package/dist/esm/service/api/base/bsclient.js.map +0 -1
- package/dist/esm/service/api/base/index.js +0 -5
- package/dist/esm/service/api/base/index.js.map +0 -1
- package/dist/esm/service/api/base/ssclient.js.map +0 -1
- package/dist/esm/service/api/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatleader/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatleader/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/beatsaver/index.js +0 -6
- package/dist/esm/service/api/interfaces/beatsaver/index.js.map +0 -1
- package/dist/esm/service/api/interfaces/scoresaber/index.js +0 -4
- package/dist/esm/service/api/interfaces/scoresaber/index.js.map +0 -1
- package/dist/esm/service/api/sortScore.js.map +0 -1
- package/dist/esm/service/index.js +0 -1
- package/dist/esm/service/index.js.map +0 -1
- package/dist/esm/service/preference.js.map +0 -1
- package/dist/esm/service/render/index.js.map +0 -1
- package/dist/esm/service/render/interfaces.js +0 -1
- package/dist/esm/service/render/interfaces.js.map +0 -1
- package/dist/esm/ws/beatleader.js.map +0 -1
- package/dist/esm/ws/beatsaver.js.map +0 -1
- package/dist/esm/ws/bl-filter.js +0 -1
- package/dist/esm/ws/bl-filter.js.map +0 -1
- package/dist/esm/ws/index.js +0 -5
- package/dist/esm/ws/index.js.map +0 -1
- package/dist/esm/ws/scoresaber.js +0 -53
- package/dist/esm/ws/scoresaber.js.map +0 -1
- package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
- package/dist/types/cmd/bind/index.d.ts +0 -41
- package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/latest.d.ts +0 -41
- package/dist/types/cmd/config/index.d.ts +0 -2
- package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
- package/dist/types/cmd/index.d.ts +0 -34
- package/dist/types/cmd/rank.d.ts +0 -41
- package/dist/types/cmd/score.d.ts +0 -41
- package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
- package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
- package/dist/types/cmd/subscribe/index.d.ts +0 -41
- package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
- package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
- package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
- package/dist/types/components/components/RankDifficulty.d.ts +0 -10
- package/dist/types/components/components/base/avatar.d.ts +0 -10
- package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/bl-score-item.d.ts +0 -10
- package/dist/types/components/components/characteristic.d.ts +0 -9
- package/dist/types/components/components/flag.d.ts +0 -9
- package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
- package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
- package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
- package/dist/types/components/components/progressbar.d.ts +0 -8
- package/dist/types/components/components/scoreItem.d.ts +0 -8
- package/dist/types/components/components/scoregraph.d.ts +0 -15
- package/dist/types/components/components/skill-graph.d.ts +0 -9
- package/dist/types/components/components/socre-badge.d.ts +0 -9
- package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/ss-score-item.d.ts +0 -8
- package/dist/types/components/index.d.ts +0 -5
- package/dist/types/components/pages/bl-player.d.ts +0 -11
- package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
- package/dist/types/components/pages/bl-score.d.ts +0 -15
- package/dist/types/components/pages/bs-map.d.ts +0 -11
- package/dist/types/components/pages/index.d.ts +0 -14
- package/dist/types/components/pages/ss-player.d.ts +0 -13
- package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
- package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
- package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
- package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
- package/dist/types/components/utils/bl/getPart.d.ts +0 -9
- package/dist/types/components/utils/bl/stastic.d.ts +0 -3
- package/dist/types/components/utils/canvas.d.ts +0 -2
- package/dist/types/components/utils/format.d.ts +0 -8
- package/dist/types/components/utils/getMods.d.ts +0 -5
- package/dist/types/components/utils/index.d.ts +0 -6
- package/dist/types/components/utils/qrcode.d.ts +0 -3
- package/dist/types/components/utils/sleep.d.ts +0 -3
- package/dist/types/components/utils/tag-format.d.ts +0 -3
- package/dist/types/components/utils/tw-join.d.ts +0 -5
- package/dist/types/config.d.ts +0 -30
- package/dist/types/index-Dagy_c8G.d.ts +0 -74
- package/dist/types/infra/errors/index.d.ts +0 -69
- package/dist/types/infra/i18n/index.d.ts +0 -4
- package/dist/types/infra/i18n/parser.d.ts +0 -16
- package/dist/types/infra/index.d.ts +0 -6
- package/dist/types/infra/s3/index.d.ts +0 -20
- package/dist/types/infra/support/cache.d.ts +0 -6
- package/dist/types/infra/support/fetch/error.d.ts +0 -11
- package/dist/types/infra/support/fetch/index.d.ts +0 -7
- package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
- package/dist/types/infra/support/render/index.d.ts +0 -38
- package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
- package/dist/types/interface/bot.d.ts +0 -22
- package/dist/types/interface/cmd/builder.d.ts +0 -53
- package/dist/types/interface/cmd/type.d.ts +0 -30
- package/dist/types/interface/db/index.d.ts +0 -45
- package/dist/types/interface/db/models.d.ts +0 -41
- package/dist/types/interface/index.d.ts +0 -30
- package/dist/types/interface/logger.d.ts +0 -8
- package/dist/types/schedules/index.d.ts +0 -40
- package/dist/types/schedules/interface.d.ts +0 -45
- package/dist/types/schedules/temp.d.ts +0 -35
- package/dist/types/service/api/base/aioclient.d.ts +0 -13
- package/dist/types/service/api/base/blclient.d.ts +0 -28
- package/dist/types/service/api/base/bsclient.d.ts +0 -29
- package/dist/types/service/api/base/index.d.ts +0 -19
- package/dist/types/service/api/base/ssclient.d.ts +0 -17
- package/dist/types/service/api/index.d.ts +0 -59
- package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
- package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
- package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
- package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
- package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
- package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
- package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
- package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
- package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
- package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
- package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
- package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
- package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
- package/dist/types/service/api/interfaces/index.d.ts +0 -14
- package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
- package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
- package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
- package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
- package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
- package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
- package/dist/types/service/api/sortScore.d.ts +0 -5
- package/dist/types/service/index.d.ts +0 -30
- package/dist/types/service/preference.d.ts +0 -38
- package/dist/types/service/render/index.d.ts +0 -43
- package/dist/types/service/render/interfaces.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/ws/beatleader.d.ts +0 -47
- package/dist/types/ws/beatsaver.d.ts +0 -52
- package/dist/types/ws/bl-filter.d.ts +0 -2
- package/dist/types/ws/handler.d.ts +0 -8
- package/dist/types/ws/index.d.ts +0 -36
- package/dist/types/ws/scoresaber.d.ts +0 -47
- /package/dist/cjs/{infra/support → common}/cache.js +0 -0
- /package/dist/cjs/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/cjs/{infra → common}/i18n/parser.js +0 -0
- /package/dist/cjs/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/cjs/{interface → core}/cmd/type.js +0 -0
- /package/dist/cjs/{interface → core}/logger.js +0 -0
- /package/dist/cjs/{ws → events/ws}/handler.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/cjs/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/cjs/{service → services}/api/sortScore.js +0 -0
- /package/dist/cjs/{service → services}/preference.js +0 -0
- /package/dist/esm/{infra/support → common}/cache.js +0 -0
- /package/dist/esm/{infra/support → common}/fetch/error.js +0 -0
- /package/dist/esm/{infra → common}/i18n/parser.js +0 -0
- /package/dist/esm/{infra/support → common}/render/puppeteer.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js +0 -0
- /package/dist/esm/{interface → core}/cmd/type.js.map +0 -0
- /package/dist/{cjs/ws/bl-filter.js.map → esm/core/domain.js.map} +0 -0
- /package/dist/esm/{interface/bot.js.map → core/event.js.map} +0 -0
- /package/dist/esm/{interface → core}/logger.js +0 -0
- /package/dist/esm/{interface → core}/logger.js.map +0 -0
- /package/dist/esm/{schedules/interface.js.map → core/session.js.map} +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js +0 -0
- /package/dist/esm/{ws → events/ws}/handler.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/aiosaber/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/bsor.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/req.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/score.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatleader/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/alert.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/bsmap.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/beatsaver/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/index.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/item.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/leaderboard.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/resp.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/user.js.map +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js +0 -0
- /package/dist/esm/{service → services}/api/interfaces/scoresaber/ws.js.map +0 -0
- /package/dist/esm/{service → services}/api/sortScore.js +0 -0
- /package/dist/esm/{service → services}/preference.js +0 -0
@@ -1,4 +1,3 @@
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
2
1
|
import {
|
3
2
|
BarChart,
|
4
3
|
Check,
|
@@ -9,9 +8,10 @@ import {
|
|
9
8
|
ThumbsDown,
|
10
9
|
Calendar
|
11
10
|
} from "lucide-react";
|
12
|
-
import { diffConv, formatDuration, formatTime } from "../utils";
|
13
|
-
import Progressbar from "../components/progressbar";
|
14
|
-
import ScoreGraph from "../components/scoregraph";
|
11
|
+
import { diffConv, formatDuration, formatTime } from "../utils/index.js";
|
12
|
+
import Progressbar from "../components/progressbar.js";
|
13
|
+
import ScoreGraph from "../components/scoregraph.js";
|
14
|
+
import React from "react";
|
15
15
|
function BLScore({
|
16
16
|
score,
|
17
17
|
bsMap,
|
@@ -21,177 +21,75 @@ function BLScore({
|
|
21
21
|
}) {
|
22
22
|
var _a, _b;
|
23
23
|
const bg = "https://www.loliapi.com/acg/pc/";
|
24
|
-
return /* @__PURE__ */
|
24
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
25
25
|
"div",
|
26
26
|
{
|
27
27
|
className: "flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none",
|
28
|
-
id: "render-result"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
"div",
|
49
|
-
{
|
50
|
-
className: "w-[100px] flex items-center justify-center flex-col",
|
51
|
-
children: [
|
52
|
-
/* @__PURE__ */ jsx(
|
53
|
-
"img",
|
54
|
-
{
|
55
|
-
src: qrcodeUrl,
|
56
|
-
width: 80,
|
57
|
-
height: 80,
|
58
|
-
className: "w-[80px] aspect-square"
|
59
|
-
}
|
60
|
-
),
|
61
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs", children: "replay" })
|
62
|
-
]
|
63
|
-
}
|
64
|
-
)
|
65
|
-
] }),
|
66
|
-
/* @__PURE__ */ jsxs("div", { className: "flex space-x-4 h-40", children: [
|
67
|
-
/* @__PURE__ */ jsx(
|
68
|
-
"img",
|
69
|
-
{
|
70
|
-
className: "h-40 w-40 rounded-md",
|
71
|
-
src: score.song.cover
|
72
|
-
}
|
73
|
-
),
|
74
|
-
/* @__PURE__ */ jsxs("div", { className: "text-xs font-bold flex flex-col justify-between", children: [
|
75
|
-
/* @__PURE__ */ jsx("div", { className: "text-xl text-ellipsis line-clamp-2", children: score.song.name }),
|
76
|
-
/* @__PURE__ */ jsxs("div", { className: "flex space-x-2 items-center text-sm", children: [
|
77
|
-
/* @__PURE__ */ jsx(
|
78
|
-
"img",
|
79
|
-
{
|
80
|
-
className: "h-4 w-4 rounded-full",
|
81
|
-
src: bsMap.uploader.avatar
|
82
|
-
}
|
83
|
-
),
|
84
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx("div", { className: "text-ellipsis line-clamp-1", children: score.song.mapper }) })
|
85
|
-
] }),
|
86
|
-
/* @__PURE__ */ jsxs("div", { className: "text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal", children: [
|
87
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center text-ellipsis col-span-3 line-clamp-1", children: [
|
88
|
-
/* @__PURE__ */ jsx(Calendar, { className: "h-3 w-3" }),
|
89
|
-
/* @__PURE__ */ jsx("span", { children: formatTime(bsMap.lastPublishedAt) })
|
90
|
-
] }),
|
91
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
92
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(BarChart, { className: "w-3 h-3" }) }),
|
93
|
-
/* @__PURE__ */ jsx("span", { children: diffConv(score.difficulty.difficultyName) })
|
94
|
-
] }),
|
95
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
96
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Star, { className: "w-3 h-3" }) }),
|
97
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
98
|
-
(_b = (_a = score.difficulty.stars) == null ? void 0 : _a.toFixed(2)) != null ? _b : "none",
|
99
|
-
" "
|
100
|
-
] })
|
101
|
-
] }),
|
102
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
103
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Key, { className: "w-3 h-3" }) }),
|
104
|
-
/* @__PURE__ */ jsx("span", { children: score.song.id.toLowerCase().replaceAll("x", "") })
|
105
|
-
] }),
|
106
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
107
|
-
/* @__PURE__ */ jsx(ThumbsUp, { className: "h-3 w-3" }),
|
108
|
-
/* @__PURE__ */ jsx("span", { children: bsMap.stats.upvotes })
|
109
|
-
] }),
|
110
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
111
|
-
/* @__PURE__ */ jsx(ThumbsDown, { className: "h-3 w-3" }),
|
112
|
-
/* @__PURE__ */ jsx("span", { children: bsMap.stats.downvotes })
|
113
|
-
] }),
|
114
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
115
|
-
/* @__PURE__ */ jsx(Clock, { className: "h-3 w-3" }),
|
116
|
-
/* @__PURE__ */ jsx("span", { children: formatDuration(bsMap.metadata.duration) })
|
117
|
-
] })
|
118
|
-
] }),
|
119
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2 text-xs font-normal", children: [
|
120
|
-
/* @__PURE__ */ jsx(Progressbar, { value: bsMap.stats.score * 100 }),
|
121
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
122
|
-
(bsMap.stats.score * 100).toFixed(2),
|
123
|
-
" %"
|
124
|
-
] })
|
125
|
-
] })
|
126
|
-
] })
|
127
|
-
] }),
|
128
|
-
/* @__PURE__ */ jsxs("div", { className: "text-xl font-bold pt-2", children: [
|
129
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
130
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
131
|
-
" # ",
|
132
|
-
score.rank
|
133
|
-
] }),
|
134
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
135
|
-
score.pp.toFixed(2),
|
136
|
-
" PP"
|
137
|
-
] })
|
138
|
-
] }),
|
139
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
140
|
-
/* @__PURE__ */ jsx("span", { children: "Accuracy" }),
|
141
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
142
|
-
(score.accuracy * 100).toFixed(2),
|
143
|
-
" %"
|
144
|
-
] })
|
145
|
-
] }),
|
146
|
-
score.fullCombo && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
147
|
-
/* @__PURE__ */ jsx("span", { children: "Full Combo" }),
|
148
|
-
/* @__PURE__ */ jsx(Check, {})
|
149
|
-
] }),
|
150
|
-
score.maxCombo && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
151
|
-
/* @__PURE__ */ jsx("span", { children: "Max Combo" }),
|
152
|
-
/* @__PURE__ */ jsx("span", { children: score.maxCombo })
|
153
|
-
] }),
|
154
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
155
|
-
/* @__PURE__ */ jsx("span", { children: "Missed Notes" }),
|
156
|
-
/* @__PURE__ */ jsx("span", { children: score.missedNotes })
|
157
|
-
] }),
|
158
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
159
|
-
/* @__PURE__ */ jsx("span", { children: "Total Mistakes" }),
|
160
|
-
/* @__PURE__ */ jsx("span", { children: score.missedNotes })
|
161
|
-
] }),
|
162
|
-
score.modifiers && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
163
|
-
/* @__PURE__ */ jsx("span", { children: "Modifiers" }),
|
164
|
-
/* @__PURE__ */ jsx("span", { children: score.modifiers })
|
165
|
-
] })
|
166
|
-
] }),
|
167
|
-
/* @__PURE__ */ jsxs("div", { className: "align-end mt-auto mb-2", children: [
|
168
|
-
/* @__PURE__ */ jsx("span", { className: "text-xl font-bold", children: "AccGraph" }),
|
169
|
-
/* @__PURE__ */ jsx(
|
170
|
-
ScoreGraph,
|
171
|
-
{
|
172
|
-
scoreId: score.id,
|
173
|
-
scoreInfo: score,
|
174
|
-
statistic,
|
175
|
-
bsor,
|
176
|
-
height: 192,
|
177
|
-
width: 400
|
178
|
-
}
|
179
|
-
)
|
180
|
-
] })
|
181
|
-
]
|
182
|
-
}
|
183
|
-
),
|
184
|
-
/* @__PURE__ */ jsx(
|
28
|
+
id: "render-result"
|
29
|
+
},
|
30
|
+
/* @__PURE__ */ React.createElement(
|
31
|
+
"div",
|
32
|
+
{
|
33
|
+
className: "bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10"
|
34
|
+
},
|
35
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 items-center justify-between text-xl font-bold" }, /* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 items-center justify-between text-2xl font-bold" }, /* @__PURE__ */ React.createElement(
|
36
|
+
"img",
|
37
|
+
{
|
38
|
+
loading: "eager",
|
39
|
+
className: "h-16 w-16 rounded-full",
|
40
|
+
src: score.player.avatar
|
41
|
+
}
|
42
|
+
), /* @__PURE__ */ React.createElement("div", null, score.player.name)), /* @__PURE__ */ React.createElement(
|
43
|
+
"div",
|
44
|
+
{
|
45
|
+
className: "w-[100px] flex items-center justify-center flex-col"
|
46
|
+
},
|
47
|
+
/* @__PURE__ */ React.createElement(
|
185
48
|
"img",
|
186
49
|
{
|
187
|
-
src:
|
188
|
-
|
189
|
-
|
50
|
+
src: qrcodeUrl,
|
51
|
+
width: 80,
|
52
|
+
height: 80,
|
53
|
+
className: "w-[80px] aspect-square"
|
190
54
|
}
|
191
|
-
)
|
192
|
-
|
193
|
-
|
194
|
-
|
55
|
+
),
|
56
|
+
/* @__PURE__ */ React.createElement("span", { className: "text-xs" }, "replay")
|
57
|
+
)),
|
58
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex space-x-4 h-40" }, /* @__PURE__ */ React.createElement(
|
59
|
+
"img",
|
60
|
+
{
|
61
|
+
className: "h-40 w-40 rounded-md",
|
62
|
+
src: score.song.cover
|
63
|
+
}
|
64
|
+
), /* @__PURE__ */ React.createElement("div", { className: "text-xs font-bold flex flex-col justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "text-xl text-ellipsis line-clamp-2" }, score.song.name), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2 items-center text-sm" }, /* @__PURE__ */ React.createElement(
|
65
|
+
"img",
|
66
|
+
{
|
67
|
+
className: "h-4 w-4 rounded-full",
|
68
|
+
src: bsMap.uploader.avatar
|
69
|
+
}
|
70
|
+
), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "text-ellipsis line-clamp-1" }, score.song.mapper))), /* @__PURE__ */ React.createElement("div", { className: "text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal" }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center text-ellipsis col-span-3 line-clamp-1" }, /* @__PURE__ */ React.createElement(Calendar, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, formatTime(bsMap.lastPublishedAt))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(BarChart, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, diffConv(score.difficulty.difficultyName))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Star, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, (_b = (_a = score.difficulty.stars) == null ? void 0 : _a.toFixed(2)) != null ? _b : "none", " ")), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Key, { className: "w-3 h-3" })), /* @__PURE__ */ React.createElement("span", null, score.song.id.toLowerCase().replaceAll("x", ""))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(ThumbsUp, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.stats.upvotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(ThumbsDown, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.stats.downvotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React.createElement(Clock, { className: "h-3 w-3" }), /* @__PURE__ */ React.createElement("span", null, formatDuration(bsMap.metadata.duration)))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center space-x-2 text-xs font-normal" }, /* @__PURE__ */ React.createElement(Progressbar, { value: bsMap.stats.score * 100 }), /* @__PURE__ */ React.createElement("span", null, (bsMap.stats.score * 100).toFixed(2), " %")))),
|
71
|
+
/* @__PURE__ */ React.createElement("div", { className: "text-xl font-bold pt-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex justify-between" }, /* @__PURE__ */ React.createElement("span", null, " # ", score.rank), /* @__PURE__ */ React.createElement("span", null, score.pp.toFixed(2), " PP")), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Accuracy"), /* @__PURE__ */ React.createElement("span", null, (score.accuracy * 100).toFixed(2), " %")), score.fullCombo && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Full Combo"), /* @__PURE__ */ React.createElement(Check, null)), score.maxCombo && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Max Combo"), /* @__PURE__ */ React.createElement("span", null, score.maxCombo)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Missed Notes"), /* @__PURE__ */ React.createElement("span", null, score.missedNotes)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Total Mistakes"), /* @__PURE__ */ React.createElement("span", null, score.missedNotes)), score.modifiers && /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("span", null, "Modifiers"), /* @__PURE__ */ React.createElement("span", null, score.modifiers))),
|
72
|
+
/* @__PURE__ */ React.createElement("div", { className: "align-end mt-auto mb-2" }, /* @__PURE__ */ React.createElement("span", { className: "text-xl font-bold" }, "AccGraph"), /* @__PURE__ */ React.createElement(
|
73
|
+
ScoreGraph,
|
74
|
+
{
|
75
|
+
scoreId: score.id,
|
76
|
+
scoreInfo: score,
|
77
|
+
statistic,
|
78
|
+
bsor,
|
79
|
+
height: 192,
|
80
|
+
width: 400
|
81
|
+
}
|
82
|
+
))
|
83
|
+
),
|
84
|
+
/* @__PURE__ */ React.createElement(
|
85
|
+
"img",
|
86
|
+
{
|
87
|
+
src: bg,
|
88
|
+
className: "inset-0 rounded-lg absolute h-full object-cover",
|
89
|
+
loading: "eager"
|
90
|
+
}
|
91
|
+
)
|
92
|
+
));
|
195
93
|
}
|
196
94
|
export {
|
197
95
|
BLScore
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/pages/bl-score.tsx"],"sourcesContent":["/** @jsxImportSource react */\nimport {\n BarChart,\n Check,\n Key,\n Star,\n Clock,\n ThumbsUp,\n ThumbsDown,\n Calendar,\n} from 'lucide-react'\nimport { diffConv, formatDuration, formatTime } from '../utils'\nimport Progressbar from '../components/progressbar'\nimport ScoreGraph from '../components/scoregraph'\nimport React from 'react'\nimport { BSOR, Score } from '@/service/api/interfaces/beatleader'\nimport { BSMap } from '@/service/api/interfaces/beatsaver'\n\ninterface BLScoreProps {\n score: Score\n bsMap: BSMap\n statistic: any\n bsor: BSOR\n qrcodeUrl: string\n}\n\nexport function BLScore({\n score,\n bsMap,\n statistic,\n bsor,\n qrcodeUrl,\n}: BLScoreProps) {\n const bg = 'https://www.loliapi.com/acg/pc/'\n return (\n <>\n <div\n className={\n 'flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none'\n }\n id=\"render-result\"\n >\n <div\n className={\n 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10'\n }\n >\n <div className=\"flex space-x-4 items-center justify-between text-xl font-bold\">\n <div className=\"flex space-x-4 items-center justify-between text-2xl font-bold\">\n <img\n loading={'eager'}\n className={'h-16 w-16 rounded-full'}\n src={score.player.avatar}\n // fallback={score.player.name.slice(0, 1)}\n />\n <div>{score.player.name}</div>\n </div>\n <div\n className={'w-[100px] flex items-center justify-center flex-col'}\n >\n <img\n src={qrcodeUrl}\n width={80}\n height={80}\n className={'w-[80px] aspect-square'}\n />\n <span className={'text-xs'}>replay</span>\n </div>\n </div>\n <div className=\"flex space-x-4 h-40\">\n <img\n className={'h-40 w-40 rounded-md'}\n src={score.song.cover}\n // fallback={score.song.name.slice(0, 1)}\n />\n <div className=\"text-xs font-bold flex flex-col justify-between\">\n <div className=\"text-xl text-ellipsis line-clamp-2\">\n {score.song.name}\n </div>\n <div className=\"flex space-x-2 items-center text-sm\">\n <img\n className={'h-4 w-4 rounded-full'}\n src={bsMap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n />\n <div className=\"flex items-center justify-between\">\n <div className=\"text-ellipsis line-clamp-1\">\n {score.song.mapper}\n </div>\n </div>\n </div>\n <div className=\"text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal\">\n <div className=\"flex items-center text-ellipsis col-span-3 line-clamp-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{formatTime(bsMap.lastPublishedAt)}</span>\n </div>\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>{diffConv(score.difficulty.difficultyName)}</span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{score.difficulty.stars?.toFixed(2) ?? 'none'} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{score.song.id.toLowerCase().replaceAll('x', '')}</span>\n </div>\n\n <div className=\"flex items-center\">\n <ThumbsUp className=\"h-3 w-3\" />\n <span>{bsMap.stats.upvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <ThumbsDown className=\"h-3 w-3\" />\n <span>{bsMap.stats.downvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <Clock className=\"h-3 w-3\" />\n <span>{formatDuration(bsMap.metadata.duration)}</span>\n </div>\n </div>\n <div className=\"flex items-center space-x-2 text-xs font-normal\">\n <Progressbar value={bsMap.stats.score * 100} />\n <span>{(bsMap.stats.score * 100).toFixed(2)} %</span>\n </div>\n </div>\n </div>\n <div className=\"text-xl font-bold pt-2\">\n <div className=\"flex justify-between\">\n <span> # {score.rank}</span>\n <span>{score.pp.toFixed(2)} PP</span>\n </div>\n {\n <div className=\"flex items-center justify-between\">\n <span>Accuracy</span>\n <span>{(score.accuracy * 100).toFixed(2)} %</span>\n </div>\n }\n {score.fullCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Full Combo</span>\n <Check />\n </div>\n )}\n {score.maxCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Max Combo</span>\n <span>{score.maxCombo}</span>\n </div>\n )}\n {\n <div className=\"flex items-center justify-between\">\n <span>Missed Notes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {\n <div className=\"flex items-center justify-between\">\n <span>Total Mistakes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {score.modifiers && (\n <div className=\"flex items-center justify-between\">\n <span>Modifiers</span>\n <span>{score.modifiers}</span>\n </div>\n )}\n </div>\n <div className=\"align-end mt-auto mb-2\">\n <span className=\"text-xl font-bold\">AccGraph</span>\n <ScoreGraph\n scoreId={score.id}\n scoreInfo={score}\n statistic={statistic}\n bsor={bsor}\n height={192}\n width={400}\n />\n </div>\n </div>\n\n <img\n src={bg}\n className={'inset-0 rounded-lg absolute h-full object-cover'}\n loading={'eager'}\n />\n </div>\n </>\n )\n}\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../../../src/components/pages/bl-score.tsx"],"sourcesContent":["import {\n BarChart,\n Check,\n Key,\n Star,\n Clock,\n ThumbsUp,\n ThumbsDown,\n Calendar,\n} from 'lucide-react'\nimport { diffConv, formatDuration, formatTime } from '../utils'\nimport Progressbar from '../components/progressbar'\nimport ScoreGraph from '../components/scoregraph'\nimport React from 'react'\nimport { BSOR, Score } from '@/services/api/interfaces/beatleader'\nimport { BSMap } from '@/services/api/interfaces/beatsaver'\n\ninterface BLScoreProps {\n score: Score\n bsMap: BSMap\n statistic: any\n bsor: BSOR\n qrcodeUrl: string\n}\n\nexport function BLScore({\n score,\n bsMap,\n statistic,\n bsor,\n qrcodeUrl,\n}: BLScoreProps) {\n const bg = 'https://www.loliapi.com/acg/pc/'\n return (\n <>\n <div\n className={\n 'flex flex-col justify-center items-center relative h-[720px] w-[400px] my-auto rounded-none'\n }\n id=\"render-result\"\n >\n <div\n className={\n 'bg-blend-darken h-full w-full left-auto absolute right-auto bg-black/[.6] p-4 text-white flex flex-col justify-between z-10'\n }\n >\n <div className=\"flex space-x-4 items-center justify-between text-xl font-bold\">\n <div className=\"flex space-x-4 items-center justify-between text-2xl font-bold\">\n <img\n loading={'eager'}\n className={'h-16 w-16 rounded-full'}\n src={score.player.avatar}\n // fallback={score.player.name.slice(0, 1)}\n />\n <div>{score.player.name}</div>\n </div>\n <div\n className={'w-[100px] flex items-center justify-center flex-col'}\n >\n <img\n src={qrcodeUrl}\n width={80}\n height={80}\n className={'w-[80px] aspect-square'}\n />\n <span className={'text-xs'}>replay</span>\n </div>\n </div>\n <div className=\"flex space-x-4 h-40\">\n <img\n className={'h-40 w-40 rounded-md'}\n src={score.song.cover}\n // fallback={score.song.name.slice(0, 1)}\n />\n <div className=\"text-xs font-bold flex flex-col justify-between\">\n <div className=\"text-xl text-ellipsis line-clamp-2\">\n {score.song.name}\n </div>\n <div className=\"flex space-x-2 items-center text-sm\">\n <img\n className={'h-4 w-4 rounded-full'}\n src={bsMap.uploader.avatar}\n // fallback={score.song.mapper.slice(0, 1)}\n />\n <div className=\"flex items-center justify-between\">\n <div className=\"text-ellipsis line-clamp-1\">\n {score.song.mapper}\n </div>\n </div>\n </div>\n <div className=\"text-xs grid grid-cols-3 gap-1 *:space-x-1 *:flex *:items-center font-normal\">\n <div className=\"flex items-center text-ellipsis col-span-3 line-clamp-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{formatTime(bsMap.lastPublishedAt)}</span>\n </div>\n <div>\n <span>\n <BarChart className={'w-3 h-3'} />\n </span>\n <span>{diffConv(score.difficulty.difficultyName)}</span>\n </div>\n <div>\n <span>\n <Star className={'w-3 h-3'} />\n </span>\n <span>{score.difficulty.stars?.toFixed(2) ?? 'none'} </span>\n </div>\n <div>\n <span>\n <Key className={'w-3 h-3'} />\n </span>\n <span>{score.song.id.toLowerCase().replaceAll('x', '')}</span>\n </div>\n\n <div className=\"flex items-center\">\n <ThumbsUp className=\"h-3 w-3\" />\n <span>{bsMap.stats.upvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <ThumbsDown className=\"h-3 w-3\" />\n <span>{bsMap.stats.downvotes}</span>\n </div>\n <div className=\"flex items-center\">\n <Clock className=\"h-3 w-3\" />\n <span>{formatDuration(bsMap.metadata.duration)}</span>\n </div>\n </div>\n <div className=\"flex items-center space-x-2 text-xs font-normal\">\n <Progressbar value={bsMap.stats.score * 100} />\n <span>{(bsMap.stats.score * 100).toFixed(2)} %</span>\n </div>\n </div>\n </div>\n <div className=\"text-xl font-bold pt-2\">\n <div className=\"flex justify-between\">\n <span> # {score.rank}</span>\n <span>{score.pp.toFixed(2)} PP</span>\n </div>\n {\n <div className=\"flex items-center justify-between\">\n <span>Accuracy</span>\n <span>{(score.accuracy * 100).toFixed(2)} %</span>\n </div>\n }\n {score.fullCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Full Combo</span>\n <Check />\n </div>\n )}\n {score.maxCombo && (\n <div className=\"flex items-center justify-between\">\n <span>Max Combo</span>\n <span>{score.maxCombo}</span>\n </div>\n )}\n {\n <div className=\"flex items-center justify-between\">\n <span>Missed Notes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {\n <div className=\"flex items-center justify-between\">\n <span>Total Mistakes</span>\n <span>{score.missedNotes}</span>\n </div>\n }\n {score.modifiers && (\n <div className=\"flex items-center justify-between\">\n <span>Modifiers</span>\n <span>{score.modifiers}</span>\n </div>\n )}\n </div>\n <div className=\"align-end mt-auto mb-2\">\n <span className=\"text-xl font-bold\">AccGraph</span>\n <ScoreGraph\n scoreId={score.id}\n scoreInfo={score}\n statistic={statistic}\n bsor={bsor}\n height={192}\n width={400}\n />\n </div>\n </div>\n\n <img\n src={bg}\n className={'inset-0 rounded-lg absolute h-full object-cover'}\n loading={'eager'}\n />\n </div>\n </>\n )\n}\n"],"mappings":"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","names":[]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import
|
2
|
-
import RankIcon from "../components/icons/RankIcon";
|
1
|
+
import React from "react";
|
2
|
+
import RankIcon from "../components/icons/RankIcon.js";
|
3
3
|
import {
|
4
4
|
Calendar,
|
5
5
|
Clock,
|
@@ -11,10 +11,10 @@ import {
|
|
11
11
|
ThumbsUp
|
12
12
|
} from "lucide-react";
|
13
13
|
import dayjs from "dayjs";
|
14
|
-
import { diffConv, formatNumber, formatTime, getTag } from "../utils";
|
15
|
-
import { getMods } from "../utils/getMods";
|
16
|
-
import Progressbar from "../components/progressbar";
|
17
|
-
import { CharacteristicIcon } from "../components/characteristic";
|
14
|
+
import { diffConv, formatNumber, formatTime, getTag } from "../utils/index.js";
|
15
|
+
import { getMods } from "../utils/getMods.js";
|
16
|
+
import Progressbar from "../components/progressbar.js";
|
17
|
+
import { CharacteristicIcon } from "../components/characteristic.js";
|
18
18
|
function BSMapShare({
|
19
19
|
bsMap,
|
20
20
|
bsMapQrUrl,
|
@@ -22,171 +22,100 @@ function BSMapShare({
|
|
22
22
|
}) {
|
23
23
|
var _a, _b, _c, _d;
|
24
24
|
const bg = "https://www.loliapi.com/acg/pe/";
|
25
|
-
return /* @__PURE__ */
|
25
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
26
26
|
"div",
|
27
27
|
{
|
28
28
|
className: "w-[400px] rounded-none flex flex-col relative h-auto my-auto",
|
29
|
-
id: "render-result"
|
30
|
-
|
31
|
-
|
29
|
+
id: "render-result"
|
30
|
+
},
|
31
|
+
/* @__PURE__ */ React.createElement("div", { className: "relative z-10" }, /* @__PURE__ */ React.createElement(
|
32
|
+
"div",
|
33
|
+
{
|
34
|
+
className: "bg-blend-darken bg-black/[.8] text-white rounded-none"
|
35
|
+
},
|
36
|
+
/* @__PURE__ */ React.createElement(
|
37
|
+
"img",
|
38
|
+
{
|
39
|
+
src: bsMap.versions[0].coverURL,
|
40
|
+
className: "w-[400px]",
|
41
|
+
loading: "eager",
|
42
|
+
alt: "bsmap cover"
|
43
|
+
}
|
44
|
+
),
|
45
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex w-full h-auto flex-col" }, /* @__PURE__ */ React.createElement("div", { className: "p-4" }, /* @__PURE__ */ React.createElement("div", { className: "text-ellipsis line-clamp-2" }, /* @__PURE__ */ React.createElement("span", { className: "text-ellipsis line-clamp-2 text-xl font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300" }, bsMap.name)), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React.createElement("div", { className: "author flex space-x-4 items-center " }, /* @__PURE__ */ React.createElement(
|
46
|
+
"img",
|
47
|
+
{
|
48
|
+
src: bsMap.uploader.avatar,
|
49
|
+
className: "rounded-full w-8 h-8",
|
50
|
+
loading: "eager",
|
51
|
+
alt: "bsmap mapper avatar"
|
52
|
+
}
|
53
|
+
), /* @__PURE__ */ React.createElement("span", { className: "text-xl" }, bsMap.uploader.name))), /* @__PURE__ */ React.createElement("div", { className: "meta flex space-x-4 text-xs py-2 items-center" }, /* @__PURE__ */ React.createElement(RankIcon, { blrank: bsMap.blRanked, ssrank: bsMap.ranked }), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(HeartPulse, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", null, bsMap.metadata.bpm.toFixed(0))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(Clock, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", null, dayjs.duration(bsMap.metadata.duration, "seconds").format("mm:ss"))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center justify-between" }, /* @__PURE__ */ React.createElement(Key, { className: "w-3 h-3" }), /* @__PURE__ */ React.createElement("span", { className: "font-weight bg-gradient-to-r bg-clip-text text-transparent from-red-300 to-blue-300" }, bsMap.id)), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2 text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Calendar, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatTime(bsMap.lastPublishedAt)))), /* @__PURE__ */ React.createElement("div", { className: "tags flex flex-wrap justify-start" }, (_b = (_a = bsMap.tags) == null ? void 0 : _a.sort((a, b) => b.length - a.length)) == null ? void 0 : _b.map((item) => /* @__PURE__ */ React.createElement(
|
54
|
+
"span",
|
55
|
+
{
|
56
|
+
className: "text-xs mx-1 text-white bg-red-500 rounded px-1",
|
57
|
+
key: item
|
58
|
+
},
|
59
|
+
getTag(item)
|
60
|
+
))), /* @__PURE__ */ React.createElement("div", { className: "tags flex flex-wrap justify-start pt-2" }, (_d = (_c = getMods(bsMap)) == null ? void 0 : _c.sort((a, b) => b.length - a.length)) == null ? void 0 : _d.map((item) => /* @__PURE__ */ React.createElement(
|
61
|
+
"span",
|
62
|
+
{
|
63
|
+
className: "text-xs mx-1 text-white bg-blue-500 rounded px-1",
|
64
|
+
key: item
|
65
|
+
},
|
66
|
+
item
|
67
|
+
))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-2" }, /* @__PURE__ */ React.createElement("div", { className: "percentage w-42 py-2 flex text-xs items-center space-x-4" }, /* @__PURE__ */ React.createElement(Progressbar, { value: bsMap.stats.score * 100 }), /* @__PURE__ */ React.createElement("span", null, (bsMap.stats.score * 100).toFixed(1), "%")), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(ThumbsUp, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatNumber(bsMap.stats.upvotes))), /* @__PURE__ */ React.createElement("div", { className: "flex space-x-1 items-center text-xs" }, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(ThumbsDown, { className: "h-3 w-3" })), /* @__PURE__ */ React.createElement("span", null, formatNumber(bsMap.stats.downvotes)))), /* @__PURE__ */ React.createElement("span", { className: "font-bold" }, "\u96BE\u5EA6"), /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-2" }, bsMap.versions[0].diffs.map((diff) => {
|
68
|
+
var _a2;
|
69
|
+
return /* @__PURE__ */ React.createElement(
|
32
70
|
"div",
|
33
71
|
{
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
className: "text-xs mx-1 text-white bg-red-500 rounded px-1",
|
82
|
-
children: getTag(item)
|
83
|
-
},
|
84
|
-
item
|
85
|
-
)) }),
|
86
|
-
/* @__PURE__ */ jsx("div", { className: "tags flex flex-wrap justify-start pt-2", children: (_d = (_c = getMods(bsMap)) == null ? void 0 : _c.sort((a, b) => b.length - a.length)) == null ? void 0 : _d.map((item) => /* @__PURE__ */ jsx(
|
87
|
-
"span",
|
88
|
-
{
|
89
|
-
className: "text-xs mx-1 text-white bg-blue-500 rounded px-1",
|
90
|
-
children: item
|
91
|
-
},
|
92
|
-
item
|
93
|
-
)) }),
|
94
|
-
/* @__PURE__ */ jsxs("div", { className: "flex space-x-2", children: [
|
95
|
-
/* @__PURE__ */ jsxs("div", { className: "percentage w-42 py-2 flex text-xs items-center space-x-4", children: [
|
96
|
-
/* @__PURE__ */ jsx(Progressbar, { value: bsMap.stats.score * 100 }),
|
97
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
98
|
-
(bsMap.stats.score * 100).toFixed(1),
|
99
|
-
"%"
|
100
|
-
] })
|
101
|
-
] }),
|
102
|
-
/* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center text-xs", children: [
|
103
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(ThumbsUp, { className: "h-3 w-3" }) }),
|
104
|
-
/* @__PURE__ */ jsx("span", { children: formatNumber(bsMap.stats.upvotes) })
|
105
|
-
] }),
|
106
|
-
/* @__PURE__ */ jsxs("div", { className: "flex space-x-1 items-center text-xs", children: [
|
107
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(ThumbsDown, { className: "h-3 w-3" }) }),
|
108
|
-
/* @__PURE__ */ jsx("span", { children: formatNumber(bsMap.stats.downvotes) })
|
109
|
-
] })
|
110
|
-
] }),
|
111
|
-
/* @__PURE__ */ jsx("span", { className: "font-bold", children: "\u96BE\u5EA6" }),
|
112
|
-
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-2", children: bsMap.versions[0].diffs.map((diff) => {
|
113
|
-
var _a2;
|
114
|
-
return /* @__PURE__ */ jsxs(
|
115
|
-
"div",
|
116
|
-
{
|
117
|
-
className: "text-xs space-x-1 flex items-center",
|
118
|
-
children: [
|
119
|
-
/* @__PURE__ */ jsx("span", { className: "h-3 w-3 shrink-0", children: /* @__PURE__ */ jsx(
|
120
|
-
CharacteristicIcon,
|
121
|
-
{
|
122
|
-
characteristic: diff.characteristic
|
123
|
-
}
|
124
|
-
) }),
|
125
|
-
/* @__PURE__ */ jsx("span", { children: diffConv(diff.difficulty) }),
|
126
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Gauge, { className: "w-3 h-3 ml-1" }) }),
|
127
|
-
/* @__PURE__ */ jsx("span", { children: diff.nps.toFixed(2) }),
|
128
|
-
diff.stars && /* @__PURE__ */ jsxs(Fragment, { children: [
|
129
|
-
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(Star, { className: "w-3 h-3 ml-1" }) }),
|
130
|
-
/* @__PURE__ */ jsx("span", { children: (_a2 = diff.stars) == null ? void 0 : _a2.toFixed(2) })
|
131
|
-
] })
|
132
|
-
]
|
133
|
-
},
|
134
|
-
diff.difficulty + diff.characteristic
|
135
|
-
);
|
136
|
-
}) }),
|
137
|
-
/* @__PURE__ */ jsx("span", { className: "font-bold", children: "\u63CF\u8FF0" }),
|
138
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs", children: bsMap.description }),
|
139
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between pt-2", children: [
|
140
|
-
/* @__PURE__ */ jsx(
|
141
|
-
"div",
|
142
|
-
{
|
143
|
-
className: "text-[10px] text-opacity-70 text-slate-100 align-bottom mt-auto mb-0",
|
144
|
-
children: "Powered by BSBot"
|
145
|
-
}
|
146
|
-
),
|
147
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
|
148
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
|
149
|
-
/* @__PURE__ */ jsx(
|
150
|
-
"img",
|
151
|
-
{
|
152
|
-
width: 80,
|
153
|
-
height: 80,
|
154
|
-
src: bsMapQrUrl,
|
155
|
-
className: "w-20 h-20"
|
156
|
-
}
|
157
|
-
),
|
158
|
-
/* @__PURE__ */ jsx("div", { className: "text-[8px] font-light", children: "beatsaver" })
|
159
|
-
] }),
|
160
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
|
161
|
-
/* @__PURE__ */ jsx(
|
162
|
-
"img",
|
163
|
-
{
|
164
|
-
width: 80,
|
165
|
-
height: 80,
|
166
|
-
src: previewQrUrl,
|
167
|
-
className: "w-20 h-20"
|
168
|
-
}
|
169
|
-
),
|
170
|
-
/* @__PURE__ */ jsx("div", { className: "text-[8px] font-light", children: "preview" })
|
171
|
-
] })
|
172
|
-
] })
|
173
|
-
] })
|
174
|
-
] }) })
|
175
|
-
]
|
176
|
-
}
|
177
|
-
),
|
178
|
-
/* @__PURE__ */ jsx(
|
179
|
-
"img",
|
180
|
-
{
|
181
|
-
src: bg,
|
182
|
-
className: "inset-0 absolute h-full object-cover -z-10",
|
183
|
-
loading: "eager",
|
184
|
-
alt: "random background img"
|
185
|
-
}
|
186
|
-
)
|
187
|
-
] })
|
188
|
-
}
|
189
|
-
) });
|
72
|
+
key: diff.difficulty + diff.characteristic,
|
73
|
+
className: "text-xs space-x-1 flex items-center"
|
74
|
+
},
|
75
|
+
/* @__PURE__ */ React.createElement("span", { className: "h-3 w-3 shrink-0" }, /* @__PURE__ */ React.createElement(
|
76
|
+
CharacteristicIcon,
|
77
|
+
{
|
78
|
+
characteristic: diff.characteristic
|
79
|
+
}
|
80
|
+
)),
|
81
|
+
/* @__PURE__ */ React.createElement("span", null, diffConv(diff.difficulty)),
|
82
|
+
/* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Gauge, { className: "w-3 h-3 ml-1" })),
|
83
|
+
/* @__PURE__ */ React.createElement("span", null, diff.nps.toFixed(2)),
|
84
|
+
diff.stars && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", null, /* @__PURE__ */ React.createElement(Star, { className: "w-3 h-3 ml-1" })), /* @__PURE__ */ React.createElement("span", null, (_a2 = diff.stars) == null ? void 0 : _a2.toFixed(2)))
|
85
|
+
);
|
86
|
+
})), /* @__PURE__ */ React.createElement("span", { className: "font-bold" }, "\u63CF\u8FF0"), /* @__PURE__ */ React.createElement("p", { className: "text-xs" }, bsMap.description), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between pt-2" }, /* @__PURE__ */ React.createElement(
|
87
|
+
"div",
|
88
|
+
{
|
89
|
+
className: "text-[10px] text-opacity-70 text-slate-100 align-bottom mt-auto mb-0"
|
90
|
+
},
|
91
|
+
"Powered by BSBot"
|
92
|
+
), /* @__PURE__ */ React.createElement("div", { className: "flex items-center space-x-2" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React.createElement(
|
93
|
+
"img",
|
94
|
+
{
|
95
|
+
width: 80,
|
96
|
+
height: 80,
|
97
|
+
src: bsMapQrUrl,
|
98
|
+
className: "w-20 h-20"
|
99
|
+
}
|
100
|
+
), /* @__PURE__ */ React.createElement("div", { className: "text-[8px] font-light" }, "beatsaver")), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React.createElement(
|
101
|
+
"img",
|
102
|
+
{
|
103
|
+
width: 80,
|
104
|
+
height: 80,
|
105
|
+
src: previewQrUrl,
|
106
|
+
className: "w-20 h-20"
|
107
|
+
}
|
108
|
+
), /* @__PURE__ */ React.createElement("div", { className: "text-[8px] font-light" }, "preview"))))))
|
109
|
+
), /* @__PURE__ */ React.createElement(
|
110
|
+
"img",
|
111
|
+
{
|
112
|
+
src: bg,
|
113
|
+
className: "inset-0 absolute h-full object-cover -z-10",
|
114
|
+
loading: "eager",
|
115
|
+
alt: "random background img"
|
116
|
+
}
|
117
|
+
))
|
118
|
+
));
|
190
119
|
}
|
191
120
|
export {
|
192
121
|
BSMapShare as default
|