chore(release): 0.2.5
[risinglegends.git] / src / server / views / profile.ts
1 import { Player, StatDef, StatDisplay } from "../../shared/player";
2
3 function statPointIncreaser(stat: StatDisplay) {
4   return `<button class="increase-stat emit-event" data-event="spend-stat-point" data-args="${stat.id}">+</button>`;
5 }
6 export async function renderProfilePage(player: Player): Promise<string> {
7   let statBreakdown = '';
8
9   StatDef.forEach(stat => {
10     statBreakdown += `<tr>
11       <th>${stat.display}</th>
12       <td class="${stat.id}">
13         ${player[stat.id]}
14         ${player.stat_points ? statPointIncreaser(stat) : ''}
15       </td>
16     </tr>`;
17   });
18
19   const html = `<div id="extra-inventory-info">
20   <table id="stat-breakdown">
21     ${statBreakdown}
22     <tr><th>Stat Points</th><td class="stat_points">${player.stat_points}</td></tr>
23   </table>
24   </div>`;
25
26   return html;
27 }