servicepoint-tanks/tank-frontend/src/PlayerInfo.tsx

54 lines
1.7 KiB
TypeScript
Raw Normal View History

import {useEffect, useState} from 'react';
2024-04-13 17:56:33 +02:00
import './PlayerInfo.css'
import {PlayerResponse, getPlayer} from './serverCalls';
2024-04-13 17:56:33 +02:00
export default function PlayerInfo({playerId, logout}: { playerId: string, logout: () => void }) {
2024-04-13 17:56:33 +02:00
const [player, setPlayer] = useState<PlayerResponse | null>();
const refresh = () => {
getPlayer(playerId).then(value => {
if (value)
setPlayer(value);
else
logout();
});
2024-04-13 17:56:33 +02:00
};
useEffect(() => {
const timer = setInterval(refresh, 5000);
return () => clearInterval(timer);
});
return <div className='TankWelcome'>
<h1 className='Elems' style={{"color": "white"}}>
2024-04-13 17:56:33 +02:00
Tanks
</h1>
<div className="ScoreForm">
<div className='ElemGroup'>
<p className='Elems' style={{"color": "white"}}>
2024-04-13 18:06:44 +02:00
name:
2024-04-13 17:56:33 +02:00
</p>
<p className='Elems' style={{"color": "white"}}>
2024-04-13 17:56:33 +02:00
{player?.name}
</p>
</div>
2024-04-13 18:06:44 +02:00
<div className='ElemGroup'>
<p className='Elems' style={{"color": "white"}}>
2024-04-13 18:06:44 +02:00
kills:
</p>
<p className='Elems' style={{"color": "white"}}>
{player?.scores.kills}
2024-04-13 18:06:44 +02:00
</p>
</div>
<div className='ElemGroup'>
<p className='Elems' style={{"color": "white"}}>
2024-04-13 18:06:44 +02:00
deaths:
</p>
<p className='Elems' style={{"color": "white"}}>
{player?.scores.deaths}
2024-04-13 18:06:44 +02:00
</p>
</div>
2024-04-13 17:56:33 +02:00
</div>
</div>;
2024-04-13 17:56:33 +02:00
}