diff --git a/AquaNet/src/pages/UserHome.svelte b/AquaNet/src/pages/UserHome.svelte index db09ff3b..1a603232 100644 --- a/AquaNet/src/pages/UserHome.svelte +++ b/AquaNet/src/pages/UserHome.svelte @@ -1,540 +1,553 @@ - - -
- {#if d} -
- -
-

{d.user.name}

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

{titleText} {t('UserHome.Statistics')}

-
-
-
-
- {game === 'mai2' ? t("UserHome.DXRating"): t("UserHome.Rating")} - {d.user.rating.toLocaleString()} -
- -
- {t('UserHome.ServerRank')} - #{+d.user.serverRank.toLocaleString() + 1} -
-
- -
- -
- {#if d.trend.length <= 1} -
{t("UserHome.NoData", { days: TREND_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} -
-
- - {#if Object.entries(d.user.detailedRanks).length > 0} -
showDetailRank = !showDetailRank} role="button" tabindex="0" - on:keydown={e => e.key === "Enter" && (showDetailRank = !showDetailRank)}> - {#each d.user.ranks as r} -
{r.name}{r.count}
- {/each} -
- {:else} -
- {#each d.user.ranks as r} -
{r.name}{r.count}
- {/each} -
- {/if} -
- -
-
- {t('UserHome.Accuracy')} - {(d.user.accuracy).toFixed(2)}% -
- -
- {t("UserHome.MaxCombo")} - {d.user.maxCombo} -
- -
- {t("UserHome.FullCombo")} - {d.user.fullCombo} -
- -
- {t("UserHome.AllPerfect")} - {d.user.allPerfect} -
- -
- {game === 'mai2' ? t('UserHome.DXScore') : t("UserHome.Score")} - {d.user.totalScore.toLocaleString()} -
-
-
-
- - {#if showDetailRank}{/if} - -
-

{t('UserHome.PlayActivity')}

-
-
- -
-
- {t("UserHome.Plays")} - {d.user.plays} -
- -
- {t('UserHome.PlayTime')} - {(d.user.totalPlayTime / 60).toFixed(1)} hr -
- -
- {t('UserHome.FirstSeen')} - {moment(d.user.joined).format("YYYY-MM-DD")} -
- -
- {t('UserHome.LastSeen')} - {moment(d.user.lastSeen).format("YYYY-MM-DD")} -
- -
- {t('UserHome.Version')} - {d.user.lastVersion} -
-
-
-
- - {#if d.user.ratingComposition.best35} -
-

B35

-
- {#each d.user.ratingComposition.best35.split(",") as map} -
- -
- {/each} -
-
- {/if} - -
-

{t('UserHome.RecentScores')}

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

{d.user.name}

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

{titleText} {t('UserHome.Statistics')}

+
+
+
+
+ {game === 'mai2' ? t("UserHome.DXRating"): t("UserHome.Rating")} + {d.user.rating.toLocaleString()} +
+ +
+ {t('UserHome.ServerRank')} + #{+d.user.serverRank.toLocaleString() + 1} +
+
+ +
+ +
+ {#if d.trend.length <= 1} +
{t("UserHome.NoData", { days: TREND_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} +
+
+ + {#if Object.entries(d.user.detailedRanks).length > 0} +
showDetailRank = !showDetailRank} role="button" tabindex="0" + on:keydown={e => e.key === "Enter" && (showDetailRank = !showDetailRank)}> + {#each d.user.ranks as r} +
{r.name}{r.count}
+ {/each} +
+ {:else} +
+ {#each d.user.ranks as r} +
{r.name}{r.count}
+ {/each} +
+ {/if} +
+ +
+
+ {t('UserHome.Accuracy')} + {(d.user.accuracy).toFixed(2)}% +
+ +
+ {t("UserHome.MaxCombo")} + {d.user.maxCombo} +
+ +
+ {t("UserHome.FullCombo")} + {d.user.fullCombo} +
+ +
+ {t("UserHome.AllPerfect")} + {d.user.allPerfect} +
+ +
+ {game === 'mai2' ? t('UserHome.DXScore') : t("UserHome.Score")} + {d.user.totalScore.toLocaleString()} +
+
+
+
+ + {#if showDetailRank}{/if} + +
+

{t('UserHome.PlayActivity')}

+
+
+ +
+
+ {t("UserHome.Plays")} + {d.user.plays} +
+ +
+ {t('UserHome.PlayTime')} + {(d.user.totalPlayTime / 60).toFixed(1)} hr +
+ +
+ {t('UserHome.FirstSeen')} + {moment(d.user.joined).format("YYYY-MM-DD")} +
+ +
+ {t('UserHome.LastSeen')} + {moment(d.user.lastSeen).format("YYYY-MM-DD")} +
+ +
+ {t('UserHome.Version')} + {d.user.lastVersion} +
+
+
+
+ + {#if d.user.ratingComposition.best35} +
+

B35

+
+ {#each d.user.ratingComposition.best35.split(",") as map} +
+ +
+ {/each} +
+
+ {/if} + + {#if d.user.ratingComposition.best15} +
+

B15

+
+ {#each d.user.ratingComposition.best15.split(",") as map} +
+ +
+ {/each} +
+
+ {/if} + +
+

{t('UserHome.RecentScores')}

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