From f2e36347ad3d2f5a0460cb03a52aa3e6693d7719 Mon Sep 17 00:00:00 2001 From: Liam <67254223+RealFascinated@users.noreply.github.com> Date: Thu, 20 Oct 2022 12:40:21 +0100 Subject: [PATCH] Added support for loading during song --- pages/overlay.js | 15 +++++++++++---- src/components/PlayerStats.js | 10 ++++++++++ src/components/ScoreStats.js | 30 +++++++++++++++++++----------- styles/playerStats.module.css | 4 ++++ styles/scoreStats.module.css | 7 ++++++- 5 files changed, 50 insertions(+), 16 deletions(-) diff --git a/pages/overlay.js b/pages/overlay.js index fe170ef..1a03128 100644 --- a/pages/overlay.js +++ b/pages/overlay.js @@ -26,6 +26,7 @@ export default class Overlay extends Component { showPlayerStats: true, showScore: false, showSongInfo: false, + loadedDuringSong: false, socket: undefined, isVisible: false, @@ -267,7 +268,7 @@ export default class Overlay extends Component { * * @param {boolean} visible Whether to show info other than the player stats */ - async resetData(visible) { + async resetData(visible, loadedDuringSong = false) { if (this.state.showPlayerStats == true) { setTimeout(async () => { await this.updateData(this.state.id); @@ -290,6 +291,7 @@ export default class Overlay extends Component { currentScore: 0, percentage: "100.00%", isVisible: visible, + loadedDuringSong: loadedDuringSong }); } @@ -298,9 +300,13 @@ export default class Overlay extends Component { hello: (data) => { console.log("Hello from HTTP Status!"); if (data.status) { - this.setState({ songData: data }); - if (data.status.beatmap) { - this.setBeatSaver(data.status.beatmap); + if (this.state.songData === undefined) { + console.log("Going into level during song, resetting data."); + this.resetData(true, true); + this.setState({ songData: data, paused: false }); + if (data.status.beatmap) { + this.setBeatSaver(data.status.beatmap); + } } } }, @@ -432,6 +438,7 @@ export default class Overlay extends Component { countryRank={data.countryRank.toLocaleString()} websiteType={websiteType} avatar={`/api/steamavatar?steamid=${id}`} + loadedDuringSong={this.state.loadedDuringSong} /> ) : ( <>> diff --git a/src/components/PlayerStats.js b/src/components/PlayerStats.js index 95910b7..76f0f1a 100644 --- a/src/components/PlayerStats.js +++ b/src/components/PlayerStats.js @@ -29,6 +29,16 @@ const PlayerStats = (props) => { countryCode={props.country} /> + {props.loadedDuringSong ? ( + <> +
+ Connected during song, some data +
++ may be incorrect for this song. +
+ > + ) : null} ); diff --git a/src/components/ScoreStats.js b/src/components/ScoreStats.js index 4d37611..1898fb1 100644 --- a/src/components/ScoreStats.js +++ b/src/components/ScoreStats.js @@ -26,17 +26,25 @@ export default class ScoreStats extends Component {{data.percentage}
{data.currentScore.toLocaleString()}
-Average Cut
-{this.getAverage(data.leftHand.averagePreSwing).toFixed(2)}
-{this.getAverage(data.leftHand.averagePostSwing).toFixed(2)}
-{this.getAverage(data.leftHand.averageCut).toFixed(2)}
-{this.getAverage(data.rightHand.averagePreSwing).toFixed(2)}
-{this.getAverage(data.rightHand.averagePostSwing).toFixed(2)}
-{this.getAverage(data.rightHand.averageCut).toFixed(2)}
+Average Cut
+{this.getAverage(data.leftHand.averagePreSwing).toFixed(2)}
++ {this.getAverage(data.leftHand.averagePostSwing).toFixed(2)} +
+{this.getAverage(data.leftHand.averageCut).toFixed(2)}
++ {this.getAverage(data.rightHand.averagePreSwing).toFixed(2)} +
++ {this.getAverage(data.rightHand.averagePostSwing).toFixed(2)} +
+{this.getAverage(data.rightHand.averageCut).toFixed(2)}
+