{#if d}

{d.user.name}

{#if me && me.username === username} {/if}

{titleText} Statistics

{game === 'mai2' ? 'DX Rating' : 'Rating'} {d.user.rating.toLocaleString()}
Server Rank #{+d.user.serverRank.toLocaleString() + 1}
{#if d.trend.length === 0}
No data in the past 60 days
{:else} {return {x: Date.parse(it.date), y: it.rating}}), borderColor: '#646cff', tension: 0.1, // TODO: Set X axis span to 3 months } ] }} options={CHARTJS_OPT} /> {/if}
{#each d.user.ranks as r}
{r.name} {r.count}
{/each}
Accuracy {(d.user.accuracy).toFixed(2)}%
Max Combo {d.user.maxCombo}
Full Combo {d.user.fullCombo}
All Perfect {d.user.allPerfect}
{game === 'mai2' ? 'DX Score' : 'Total Score'} {d.user.totalScore.toLocaleString()}

Play Activity

Plays {d.user.plays}
Play Time {(d.user.totalPlayTime / 60).toFixed(1)} hr
First Seen {moment(d.user.joined).format("YYYY-MM-DD")}
Last Seen {moment(d.user.lastSeen).format("YYYY-MM-DD")}
Last Version {d.user.lastVersion}

Recent Scores

{#each d.recent as r, i}
{r.name ??"Unable find music"}
{ r.notes?.[r.level === 10 ? 0 : r.level]?.lv?.toFixed(1) ?? r.level ?? '0'} {("" + getMult(r.achievement, game)[2]).replace("p", "+")} {(r.achievement / 10000).toFixed(2)}% {#if game === 'mai2'} 0} class="dx-change"> {r.afterRating - r.beforeRating} {/if}
{/each}
{/if}