mirror of https://github.com/hykilpikonna/AquaDX
parent
2b749af917
commit
55804be70e
|
@ -31,7 +31,7 @@ export function registerChart() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renderCal(el: HTMLElement, d: {date: any, value: any}[]) {
|
export function renderCal(el: HTMLElement, d: {date: any, value: any}[]): Promise<any> {
|
||||||
const cal = new CalHeatmap()
|
const cal = new CalHeatmap()
|
||||||
return cal.paint({
|
return cal.paint({
|
||||||
itemSelector: el,
|
itemSelector: el,
|
||||||
|
|
|
@ -9,13 +9,11 @@
|
||||||
import { DATA, GAME } from "../libs/sdk";
|
import { DATA, GAME } from "../libs/sdk";
|
||||||
import { type GameName, getMult } from "../libs/scoring";
|
import { type GameName, getMult } from "../libs/scoring";
|
||||||
import StatusOverlays from "../components/StatusOverlays.svelte";
|
import StatusOverlays from "../components/StatusOverlays.svelte";
|
||||||
import { onMount } from "svelte";
|
|
||||||
|
|
||||||
registerChart()
|
registerChart()
|
||||||
|
|
||||||
export let username: string;
|
export let username: string;
|
||||||
export let game: GameName
|
export let game: GameName = "mai2"
|
||||||
game = game || "mai2"
|
|
||||||
let calElement: HTMLElement
|
let calElement: HTMLElement
|
||||||
let error: string | null;
|
let error: string | null;
|
||||||
title(`User ${username}`)
|
title(`User ${username}`)
|
||||||
|
@ -26,7 +24,7 @@
|
||||||
user: GenericGameSummary,
|
user: GenericGameSummary,
|
||||||
trend: TrendEntry[]
|
trend: TrendEntry[]
|
||||||
recent: MusicAndPlay[]
|
recent: MusicAndPlay[]
|
||||||
} | null = null
|
} | null
|
||||||
|
|
||||||
Promise.all([
|
Promise.all([
|
||||||
GAME.userSummary(username, game),
|
GAME.userSummary(username, game),
|
||||||
|
@ -41,15 +39,10 @@
|
||||||
trend: trend.filter(it => it.date >= minDate),
|
trend: trend.filter(it => it.date >= minDate),
|
||||||
recent: user.recent.map(it => {return {...music[it.musicId], ...it}})
|
recent: user.recent.map(it => {return {...music[it.musicId], ...it}})
|
||||||
}
|
}
|
||||||
localStorage.setItem("tmp-user-details", JSON.stringify(d))
|
renderCal(calElement, trend.map(it => {return {date: it.date, value: it.plays}})).then(() => {
|
||||||
renderCal(calElement, trend.map(it => {return {date: it.date, value: it.plays}}))
|
// Scroll to the rightmost
|
||||||
|
calElement.scrollLeft = calElement.scrollWidth - calElement.clientWidth
|
||||||
// When the calendar is rendered, scroll horizontally to the rightmost
|
})
|
||||||
const scrollCal = () => calElement.scrollLeft = calElement.scrollWidth - calElement.clientWidth
|
|
||||||
setTimeout(() => {
|
|
||||||
if (calElement) scrollCal()
|
|
||||||
else setTimeout(scrollCal, 300)
|
|
||||||
}, 300)
|
|
||||||
}).catch((e) => error = e.message);
|
}).catch((e) => error = e.message);
|
||||||
|
|
||||||
const games = {chu3: 'Chuni', mai2: 'Mai', ongeki: 'Ongeki'}
|
const games = {chu3: 'Chuni', mai2: 'Mai', ongeki: 'Ongeki'}
|
||||||
|
@ -191,7 +184,7 @@
|
||||||
<span class={`lv level-${r.level === 10 ? 3 : r.level}`}>
|
<span class={`lv level-${r.level === 10 ? 3 : r.level}`}>
|
||||||
{ r.notes?.[r.level === 10 ? 0 : r.level]?.lv?.toFixed(1) ?? r.level ?? '0'}
|
{ r.notes?.[r.level === 10 ? 0 : r.level]?.lv?.toFixed(1) ?? r.level ?? '0'}
|
||||||
</span>
|
</span>
|
||||||
<span class={"rank-" + ("" + getMult(r.achievement, game)[2])[0]}>
|
<span class={`rank-${getMult(r.achievement, game)[2].toString()[0]}`}>
|
||||||
<span class="rank-text">{("" + getMult(r.achievement, game)[2]).replace("p", "+")}</span>
|
<span class="rank-text">{("" + getMult(r.achievement, game)[2]).replace("p", "+")}</span>
|
||||||
<span class="rank-num">{(r.achievement / 10000).toFixed(2)}%</span>
|
<span class="rank-num">{(r.achievement / 10000).toFixed(2)}%</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
Loading…
Reference in New Issue