c6b5964c1d615ca4a57844b8ba3e2aafa2f21ae6
[browser-rts.git] / src / render / kingdom-overview.ts
1 import { Account } from "../repository/accounts";
2 import { CityWithLocation } from "../repository/city";
3 import * as _ from 'lodash';
4 import { topbar } from "./topbar";
5
6 export function renderKingomOverview(city: CityWithLocation, account: Account): string {
7     return `
8         <div hx-trigger="every 600s" hx-get="/poll/overview">
9         <h2 data-augmented-ui="tl-clip bl-clip none">Kingdom Overview</h2>
10         <table>
11         <tr>
12                 <th>Lord</th>
13                 <td>${account.username}</td>
14                 <th>Population</th>
15                 <td>${city.population.toLocaleString()}/${_.max([city.farms * 70, city.population])}</td>
16         </tr>
17         <tr>
18                 <th>Land</th>
19                 <td>${city.totalSpace.toLocaleString()} (${Math.ceil(city.usedSpace/city.totalSpace * 100)}% used)</td>
20                 <th>Soldiers</th>
21                 <td>${city.soldiers.toLocaleString()}</td>
22         </tr>
23         <tr>
24                 <th>Location</th>
25                 <td>${city.sector_id} - (${city.location_x},${city.location_y})</td>
26                 <th>Attackers</th>
27                 <td>${city.attackers.toLocaleString()}</td>
28         </tr>
29         <tr>
30                 <th>Gold</th>
31                 <td>${city.gold.toLocaleString()}</td>
32                 <th>Defenders</th>
33                 <td>${city.defenders.toLocaleString()}</td>
34         </tr>
35         <tr>
36                 <th>Ore</th>
37                 <td>${city.ore.toLocaleString()}</td>
38                 <th>Special Attackers</th>
39                 <td>${city.sp_attackers.toLocaleString()}</td>
40         </tr>
41         <tr>
42                 <th>Logs</th>
43                 <td>${city.logs.toLocaleString()}</td>
44                 <th>Special Defenders</th>
45                 <td>${city.sp_defenders.toLocaleString()}</td>
46         </tr>
47         <tr>
48                 <th>Bushels</th>
49                 <td>${city.bushels.toLocaleString()}</td>
50         </tr>
51         </table>
52         </div>
53         ${topbar(city)}`;
54 }