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