Skip to content

Commit

Permalink
Dynamic grades from akatsuki API
Browse files Browse the repository at this point in the history
  • Loading branch information
cmyui committed Jul 24, 2024
1 parent b712d99 commit 70c9f19
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 12 deletions.
52 changes: 52 additions & 0 deletions src/adapters/akatsuki-api/users.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,17 @@ export interface UserResponse {
country: string
}

export interface UserGrades {
XHCount: number
XCount: number
SHCount: number
SCount: number
ACount: number
BCount: number
CCount: number
DCount: number
}

export interface UserStats {
rankedScore: number
totalScore: number
Expand All @@ -23,6 +34,7 @@ export interface UserStats {
globalLeaderboardRank: number | null
countryLeaderboardRank: number | null
maxCombo: number
grades: UserGrades
}

export interface AllModeUserStats {
Expand Down Expand Up @@ -108,6 +120,16 @@ export const fetchUser = async (userId: number): Promise<UserFullResponse> => {
globalLeaderboardRank: stats.std.global_leaderboard_rank,
countryLeaderboardRank: stats.std.country_leaderboard_rank,
maxCombo: stats.std.max_combo,
grades: {
XHCount: stats.std.grades.xh_count,
XCount: stats.std.grades.x_count,
SHCount: stats.std.grades.sh_count,
SCount: stats.std.grades.s_count,
ACount: stats.std.grades.a_count,
BCount: stats.std.grades.b_count,
CCount: stats.std.grades.c_count,
DCount: stats.std.grades.d_count,
},
},
taiko: {
rankedScore: stats.taiko.ranked_score,
Expand All @@ -122,6 +144,16 @@ export const fetchUser = async (userId: number): Promise<UserFullResponse> => {
globalLeaderboardRank: stats.taiko.global_leaderboard_rank,
countryLeaderboardRank: stats.taiko.country_leaderboard_rank,
maxCombo: stats.taiko.max_combo,
grades: {
XHCount: stats.taiko.grades.xh_count,
XCount: stats.taiko.grades.x_count,
SHCount: stats.taiko.grades.sh_count,
SCount: stats.taiko.grades.s_count,
ACount: stats.taiko.grades.a_count,
BCount: stats.taiko.grades.b_count,
CCount: stats.taiko.grades.c_count,
DCount: stats.taiko.grades.d_count,
},
},
ctb: {
rankedScore: stats.ctb.ranked_score,
Expand All @@ -136,6 +168,16 @@ export const fetchUser = async (userId: number): Promise<UserFullResponse> => {
globalLeaderboardRank: stats.ctb.global_leaderboard_rank,
countryLeaderboardRank: stats.ctb.country_leaderboard_rank,
maxCombo: stats.ctb.max_combo,
grades: {
XHCount: stats.ctb.grades.xh_count,
XCount: stats.ctb.grades.x_count,
SHCount: stats.ctb.grades.sh_count,
SCount: stats.ctb.grades.s_count,
ACount: stats.ctb.grades.a_count,
BCount: stats.ctb.grades.b_count,
CCount: stats.ctb.grades.c_count,
DCount: stats.ctb.grades.d_count,
},
},
mania: {
rankedScore: stats.mania.ranked_score,
Expand All @@ -150,6 +192,16 @@ export const fetchUser = async (userId: number): Promise<UserFullResponse> => {
globalLeaderboardRank: stats.mania.global_leaderboard_rank,
countryLeaderboardRank: stats.mania.country_leaderboard_rank,
maxCombo: stats.mania.max_combo,
grades: {
XHCount: stats.mania.grades.xh_count,
XCount: stats.mania.grades.x_count,
SHCount: stats.mania.grades.sh_count,
SCount: stats.mania.grades.s_count,
ACount: stats.mania.grades.a_count,
BCount: stats.mania.grades.b_count,
CCount: stats.mania.grades.c_count,
DCount: stats.mania.grades.d_count,
},
},
})),
playStyle: response.data.play_style,
Expand Down
17 changes: 5 additions & 12 deletions src/components/profile/ProfileStatsCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,13 @@ const GradeCountDisplay = ({
}

const ProfileGradesCard = ({ statsData }: { statsData: UserStats }) => {
// TODO: once these are hooked up in user stats API
const xhCount = 0
const shCount = 0
const xCount = 0
const sCount = 0
const aCount = 0

return (
<Stack direction="row" justifyContent="space-between" spacing={1}>
<GradeCountDisplay grade="XH" count={xhCount} />
<GradeCountDisplay grade="SH" count={shCount} />
<GradeCountDisplay grade="X" count={xCount} />
<GradeCountDisplay grade="S" count={sCount} />
<GradeCountDisplay grade="A" count={aCount} />
<GradeCountDisplay grade="XH" count={statsData.grades.XHCount} />
<GradeCountDisplay grade="SH" count={statsData.grades.SHCount} />
<GradeCountDisplay grade="X" count={statsData.grades.XCount} />
<GradeCountDisplay grade="S" count={statsData.grades.SCount} />
<GradeCountDisplay grade="A" count={statsData.grades.ACount} />
</Stack>
)
}
Expand Down

0 comments on commit 70c9f19

Please sign in to comment.