mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
feat: added reset and search click functionality
This commit is contained in:
1 parent
1feae49490
commit
823465fde9
1 file changed
+30
-28
@@ -42,7 +42,8 @@ export default function Page() {
|
||||
if (event.target.value) {
|
||||
setSearchResults(await listPlayers(event.target.value));
|
||||
} else {
|
||||
// TODO
|
||||
setSearchResults(undefined);
|
||||
setShowSearchResults(false);
|
||||
}
|
||||
},
|
||||
500,
|
||||
@@ -125,7 +126,32 @@ export default function Page() {
|
||||
});
|
||||
}
|
||||
}
|
||||
async function setSession(region: Region, id: number, nickname: string) {}
|
||||
async function setSession(region: Region, id: number, nickname: string) {
|
||||
input.current!.value = nickname;
|
||||
|
||||
const rawTankStats = (
|
||||
await getWargamingResponse<TanksStats>(
|
||||
`https://api.wotblitz.${region}/wotb/tanks/stats/?application_id=${WARGAMING_APPLICATION_ID}&account_id=${id}`,
|
||||
)
|
||||
)[id];
|
||||
const tankStats = rawTankStats.reduce<NormalizedTankStats>(
|
||||
(accumulator, tank) => ({
|
||||
...accumulator,
|
||||
[tank.tank_id]: tank,
|
||||
}),
|
||||
{},
|
||||
);
|
||||
|
||||
useSession.setState({
|
||||
isTracking: true,
|
||||
id,
|
||||
region,
|
||||
nickname,
|
||||
tankStats,
|
||||
});
|
||||
|
||||
recalculateDiff();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
recalculateDiff();
|
||||
@@ -201,24 +227,7 @@ export default function Page() {
|
||||
className={styles.searchButton}
|
||||
onClick={() => {
|
||||
setShowSearchResults(false);
|
||||
input.current!.value = nickname;
|
||||
|
||||
fetch(
|
||||
`/api/stats/normalized/tanks?id=${id}®ion=${region}`,
|
||||
)
|
||||
.then(
|
||||
(response) =>
|
||||
response.json() as Promise<NormalizedTankStats>,
|
||||
)
|
||||
.then((tankStats) =>
|
||||
useSession.setState({
|
||||
isTracking: true,
|
||||
id,
|
||||
region,
|
||||
nickname,
|
||||
tankStats,
|
||||
}),
|
||||
);
|
||||
setSession(region, id, nickname);
|
||||
}}
|
||||
>
|
||||
<span
|
||||
@@ -251,14 +260,7 @@ export default function Page() {
|
||||
|
||||
if (!session.isTracking) return;
|
||||
|
||||
const { id, region } = session;
|
||||
const tankStats = await fetch(
|
||||
`/api/stats/normalized/tanks?id=${id}®ion=${region}`,
|
||||
).then(
|
||||
(response) => response.json() as Promise<NormalizedTankStats>,
|
||||
);
|
||||
|
||||
useSession.setState({ tankStats });
|
||||
setSession(session.region, session.id, session.nickname);
|
||||
}}
|
||||
>
|
||||
<ReloadIcon /> Reset
|
||||
|
||||
Reference in new issue
Block a user