<% layout('main.eta') %> <% const division_to_class = { 'Unranked': 'unranked', 'Cardboard': 'cardboard', 'Wood': 'wood', 'Wood+': 'wood', 'Wood++': 'wood', 'Bronze': 'bronze', 'Bronze+': 'bronze', 'Bronze++': 'bronze', 'Silver': 'silver', 'Silver+': 'silver', 'Silver++': 'silver', 'Gold': 'gold', 'Gold+': 'gold', 'Gold++': 'gold', 'Platinum': 'platinum', 'Platinum+': 'platinum', 'Platinum++': 'platinum', 'Diamond': 'diamond', 'Diamond+': 'diamond', 'Diamond++': 'diamond', 'Legendary': 'legendary', 'The One': 'the-one', }; function gen_chart(elos) { if(elos.length == 0) elos.push(1500); if(elos.length == 1) elos.push(elos[0]); let min = elos.reduce((acc, val) => Math.min(acc, val)); let max = elos.reduce((acc, val) => Math.max(acc, val)); let norm = elos.map(x => Math.round((x - min) / (max - min) * 150)); let imod = (640 / elos.length); let d = 'M 0 ' + (175 - norm[0]) + ' S'; for(let i = 1; i < norm.length; i++) { d += ` ${Math.round(i * imod)} ${175 - norm[i]}`; } return ` `; } let rankup_percent = (it.rank.elo - it.rank.rankup?.floor_elo) / (it.rank.rankup?.ceil_elo - it.rank.rankup?.floor_elo); rankup_percent = Math.round(rankup_percent * 100); %>

<%= it.user.username %>

<%~ it.flag + ' ' + it.country_name %>

<% if(it.rank.is_ranked) { %>
<%= it.rank.text %> <% if(it.rank.rankup.floor_name != 'The One') { %>
<%= Math.ceil(it.rank.rankup.ceil_elo - it.rank.elo) + ' elo to ' + it.rank.rankup.ceil_name %> <% } %>
<%~ gen_chart(it.elo_evolution) %>
<% } %>
  • Rank #<%= it.rank.rank_nb %>
  • <%= it.rank.fancy_elo + ' ' %>elo
  • <%= it.rank.total_scores + ' ' %>games played
  • <% if(it.rank.s2_division) { %>
  • Season 2: <%= it.rank.s2_division %>
  • <% } %> <% if(it.rank.s1_division) { %>
  • Season 1: <%= it.rank.s1_division %>
  • <% } %>
  • osu! profile

Match History

<% it.matches.matches.forEach((match) => { let match_elo = Math.round(match.elo_diff); if(match_elo > 0) match_elo = '+' + match_elo; %> <% }) %>
Map Placement Elo change Time
<%= match.map.name %> <%= match.placement %>/<%= match.nb_players %> <%= match_elo %> <%= match.time %>
<%~ include('pagination.eta', { page_num: it.matches.page, max_pages: it.matches.max_pages, url_formatter: (num) => `/u/${it.user.user_id}/page-${num}/` }) %>