Skip to content

Commit cadaf22

Browse files
style: make profile data fetching consistent & add back correct puzzles played count
1 parent 9c484bd commit cadaf22

File tree

5 files changed

+49
-46
lines changed

5 files changed

+49
-46
lines changed

src/api/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ export * from './train'
44
export * from './auth'
55
export * from './turing'
66
export * from './play'
7+
export * from './profile'

src/api/profile/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './profile'

src/api/profile/profile.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import { buildUrl } from '../utils'
2+
3+
export const getPlayerStats = async () => {
4+
const res = await fetch(buildUrl('auth/get_player_stats'))
5+
const data = await res.json()
6+
return {
7+
regularRating: data.play_elo as number,
8+
regularWins: data.play_won as number,
9+
regularDraws: data.play_drawn as number,
10+
regularGames: data.play_games_played as number,
11+
regularMax: data.play_elo_max as number,
12+
regularMin: data.play_elo_min as number,
13+
regularHours: data.play_game_time as number,
14+
15+
handRating: data.hand_elo as number,
16+
handWins: data.hand_won as number,
17+
handDraws: data.hand_drawn as number,
18+
handGames: data.hand_games_played as number,
19+
handMax: data.hand_elo_max as number,
20+
handMin: data.hand_elo_min as number,
21+
handHours: data.hand_game_time as number,
22+
23+
brainRating: data.brain_elo as number,
24+
brainWins: data.brain_won as number,
25+
brainDraws: data.brain_drawn as number,
26+
brainGames: data.brain_games_played as number,
27+
brainMax: data.brain_elo_max as number,
28+
brainMin: data.brain_elo_min as number,
29+
brainHours: data.brain_game_time as number,
30+
31+
trainRating: data.puzzles_elo as number,
32+
trainCorrect: data.puzzles_correct as number,
33+
trainGames: Math.max(0, (data.puzzles_played as number) - 1),
34+
trainMax: data.puzzles_elo_max as number,
35+
trainMin: data.puzzles_elo_min as number,
36+
trainHours: data.puzzle_game_time as number,
37+
38+
botNotRating: data.turing_elo as number,
39+
botNotCorrect: data.turing_guesses_correct as number,
40+
botNotWrong: data.turing_guesses_wrong as number,
41+
botNotMax: data.turing_elo_max as number,
42+
botNotMin: data.turing_elo_min as number,
43+
botNotHours: data.turing_game_time as number,
44+
}
45+
}

src/components/UserProfile/UserProfile.tsx

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -14,55 +14,11 @@ import {
1414
UserIcon,
1515
} from '../Icons/icons'
1616
import GameList from './GameList'
17-
import { buildUrl } from 'src/api'
17+
import { getPlayerStats } from 'src/api'
1818
import styles from './UserProfile.module.scss'
1919
import { AuthContext, WindowSizeContext } from 'src/contexts'
2020
import { ProfileColumn } from '../ProfileColumn/ProfileColumn'
2121

22-
const getPlayerStats = async () => {
23-
const res = await fetch(buildUrl('auth/get_player_stats'))
24-
const data = await res.json()
25-
return {
26-
regularRating: data.play_elo as number,
27-
regularWins: data.play_won as number,
28-
regularDraws: data.play_drawn as number,
29-
regularGames: data.play_games_played as number,
30-
regularMax: data.play_elo_max as number,
31-
regularMin: data.play_elo_min as number,
32-
regularHours: data.play_game_time as number,
33-
34-
handRating: data.hand_elo as number,
35-
handWins: data.hand_won as number,
36-
handDraws: data.hand_drawn as number,
37-
handGames: data.hand_games_played as number,
38-
handMax: data.hand_elo_max as number,
39-
handMin: data.hand_elo_min as number,
40-
handHours: data.hand_game_time as number,
41-
42-
brainRating: data.brain_elo as number,
43-
brainWins: data.brain_won as number,
44-
brainDraws: data.brain_drawn as number,
45-
brainGames: data.brain_games_played as number,
46-
brainMax: data.brain_elo_max as number,
47-
brainMin: data.brain_elo_min as number,
48-
brainHours: data.brain_game_time as number,
49-
50-
trainRating: data.puzzles_elo as number,
51-
trainCorrect: data.puzzles_correct as number,
52-
trainGames: data.puzzles_played as number,
53-
trainMax: data.puzzles_elo_max as number,
54-
trainMin: data.puzzles_elo_min as number,
55-
trainHours: data.puzzle_game_time as number,
56-
57-
botNotRating: data.turing_elo as number,
58-
botNotCorrect: data.turing_guesses_correct as number,
59-
botNotWrong: data.turing_guesses_wrong as number,
60-
botNotMax: data.turing_elo_max as number,
61-
botNotMin: data.turing_elo_min as number,
62-
botNotHours: data.turing_game_time as number,
63-
}
64-
}
65-
6622
const UserProfile: React.FC = () => {
6723
const router = useRouter()
6824
const { user } = useContext(AuthContext)

src/pages/train.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import { GameControllerContext } from 'src/contexts/GameControllerContext/GameCo
4545
const statsLoader = async () => {
4646
const stats = await getTrainingPlayerStats()
4747
return {
48-
gamesPlayed: Math.max(0, stats.totalPuzzles),
48+
gamesPlayed: Math.max(0, stats.totalPuzzles - 1),
4949
gamesWon: stats.puzzlesSolved,
5050
rating: stats.rating,
5151
}

0 commit comments

Comments
 (0)