From 8bc38a10a4503c2796c99ed202dc465ae7d59afe Mon Sep 17 00:00:00 2001 From: julius Date: Sat, 22 Mar 2025 20:52:27 +0100 Subject: [PATCH] fix: load previous state with correct team --- cutt/main.py | 11 ++++++++--- src/Rankings.tsx | 36 +++++++++++++++++++++++------------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/cutt/main.py b/cutt/main.py index dfa3c5c..aa7095d 100644 --- a/cutt/main.py +++ b/cutt/main.py @@ -90,14 +90,16 @@ def submit_mvps( raise wrong_user_id_exception -@api_router.get("/mvps", tags=["analysis"]) +@api_router.get("/mvps/{team_id}", tags=["analysis"]) def get_mvps( + team_id: int, user: Annotated[Player, Depends(get_current_active_user)], ): with Session(engine) as session: subquery = ( select(R.user, func.max(R.time).label("latest")) .where(R.user == user.id) + .where(R.team == team_id) .group_by(R.user) .subquery() ) @@ -135,12 +137,15 @@ def submit_chemistry( raise wrong_user_id_exception -@api_router.get("/chemistry", tags=["analysis"]) -def get_chemistry(user: Annotated[Player, Depends(get_current_active_user)]): +@api_router.get("/chemistry/{team_id}", tags=["analysis"]) +def get_chemistry( + team_id: int, user: Annotated[Player, Depends(get_current_active_user)] +): with Session(engine) as session: subquery = ( select(C.user, func.max(C.time).label("latest")) .where(C.user == user.id) + .where(C.team == team_id) .group_by(C.user) .subquery() ) diff --git a/src/Rankings.tsx b/src/Rankings.tsx index 3e171fb..0d96f1a 100644 --- a/src/Rankings.tsx +++ b/src/Rankings.tsx @@ -96,16 +96,20 @@ function ChemistryDnD({ user, teams, players }: PlayerInfoProps) { } async function handleGet() { - const chemistry = (await apiAuth("chemistry", null, "GET")) as Chemistry; - setPlayersLeft(filterSort(otherPlayers, chemistry.hate)); - setPlayersMiddle( - otherPlayers.filter( - (player) => - !chemistry.hate.includes(player.id) && - !chemistry.love.includes(player.id) - ) - ); - setPlayersRight(filterSort(otherPlayers, chemistry.love)); + const data = await apiAuth(`chemistry/${teams.activeTeam}`, null, "GET"); + if (data.detail) alert(data.detail); + else { + const chemistry = data as Chemistry; + setPlayersLeft(filterSort(otherPlayers, chemistry.hate)); + setPlayersMiddle( + otherPlayers.filter( + (player) => + !chemistry.hate.includes(player.id) && + !chemistry.love.includes(player.id) + ) + ); + setPlayersRight(filterSort(otherPlayers, chemistry.love)); + } } return ( @@ -201,9 +205,15 @@ function MVPDnD({ user, teams, players }: PlayerInfoProps) { } async function handleGet() { - const mvps = (await apiAuth("mvps", null, "GET")) as MVPRanking; - setRankedPlayers(filterSort(players, mvps.mvps)); - setAvailablePlayers(players.filter((user) => !mvps.mvps.includes(user.id))); + const data = await apiAuth(`mvps/${teams.activeTeam}`, null, "GET"); + if (data.detail) alert(data.detail); + else { + const mvps = data as MVPRanking; + setRankedPlayers(filterSort(players, mvps.mvps)); + setAvailablePlayers( + players.filter((user) => !mvps.mvps.includes(user.id)) + ); + } } return (