Browse Source

fixed an issue where score screen calculated score based on previous user state

dev
Tim Glasgow 2 years ago
parent
commit
cee3f68ef1
  1. 4
      squarenotsquare/src/redux/actions/UserActions.js
  2. 2
      squarenotsquare/src/screens/Score.js

4
squarenotsquare/src/redux/actions/UserActions.js

@ -26,7 +26,6 @@ export function squareStartPressed(mode, username) {
export function squareFinished(answers, finalTime) {
return (dispatch, getState) => {
squareNav('Score');
const userState = getState().user;
let newUser = {...userState};
newUser.lastGameTime = finalTime;
@ -34,6 +33,7 @@ export function squareFinished(answers, finalTime) {
let finalScore = calculateSquareScore(answers, finalTime);
DbAPI.createScore(userState.username, finalScore);
setTimeout(() => squareNav('Score'), 500);
dispatch({
type: SQUARE_FINISHED,
user: newUser
@ -43,7 +43,6 @@ export function squareFinished(answers, finalTime) {
export function addFinished(answers, finalTime) {
return (dispatch, getState) => {
squareNav('Score');
const userState = getState().user;
let newUser = {...userState};
newUser.lastGameTime = finalTime;
@ -51,6 +50,7 @@ export function addFinished(answers, finalTime) {
let finalScore = calculateSquareScore(answers, finalTime);
DbAPI.createScore(userState.username, finalScore);
setTimeout(() => squareNav('Score'), 500);
dispatch({
type: ADDITION_FINISHED,
user: newUser

2
squarenotsquare/src/screens/Score.js

@ -20,7 +20,7 @@ function Score(props){
function calculateTimerScore(user = userRedux){
if (user !== null){
let score = Math.round((60 - user.lastGameTime) * 1000);
let score = Math.round((60 - parseFloat(user.lastGameTime)) * 1000);
if (score < 0) {
return 0;
} else {

Loading…
Cancel
Save