Show live online-players count on the home screen

- OnlineService.getOnlineCount(); mock random-walks a believable number,
  SignalrService reads GET /api/stats/online (server tracks hub connections)
- Home screen badge with pulsing dot, polls every 8s, localized digits

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-04 13:20:51 +03:30
parent ceccf70de7
commit 292dedd843
7 changed files with 75 additions and 1 deletions
+8
View File
@@ -737,6 +737,14 @@ export class MockOnlineService implements OnlineService {
/* --------------------- leaderboard / shop / daily ------------------ */
private onlineCount = 600 + Math.floor(Math.random() * 900);
async getOnlineCount(): Promise<number> {
// gentle random walk so the badge feels alive
this.onlineCount += Math.round((Math.random() - 0.5) * 40);
this.onlineCount = Math.max(120, Math.min(6000, this.onlineCount));
return this.onlineCount;
}
async getLeaderboard(): Promise<LeaderboardEntry[]> {
const p = await this.getProfile();
const others = Array.from({ length: 24 }, () => ({