feat: load players in session

This commit is contained in:
2025-05-21 14:55:13 +02:00
parent 241f6fa7eb
commit de8dc6b9b9
4 changed files with 16 additions and 17 deletions

View File

@@ -24,6 +24,7 @@ export interface Session {
teams: TeamState | null;
setTeams: (teams: TeamState) => void;
players: User[] | null;
reloadPlayers: () => void;
onLogout: () => void;
}
@@ -32,6 +33,7 @@ const sessionContext = createContext<Session>({
teams: null,
setTeams: () => {},
players: null,
reloadPlayers: () => {},
onLogout: () => {},
});
@@ -63,6 +65,10 @@ export function SessionProvider(props: SessionProviderProps) {
if (teams) setTeams({ teams: teams, activeTeam: teams[0].id });
}
async function reloadPlayers() {
teams && loadPlayers(teams?.activeTeam).then((data) => setPlayers(data));
}
useEffect(() => {
loadUser();
}, []);
@@ -70,7 +76,7 @@ export function SessionProvider(props: SessionProviderProps) {
loadTeam();
}, [user]);
useEffect(() => {
teams && loadPlayers(teams?.activeTeam).then((data) => setPlayers(data));
reloadPlayers();
}, [teams]);
function onLogin(user: User) {
@@ -103,7 +109,7 @@ export function SessionProvider(props: SessionProviderProps) {
} else
content = (
<sessionContext.Provider
value={{ user, teams, setTeams, players, onLogout }}
value={{ user, teams, setTeams, players, reloadPlayers, onLogout }}
>
{children}
</sessionContext.Provider>