This commit is contained in:
parent
32e8468126
commit
0410f6b324
@ -3,7 +3,11 @@ import ScoreSaberPlayerToken from "@/common/model/token/scoresaber/score-saber-p
|
|||||||
import { PlayerHistory } from "@/common/player/player-history";
|
import { PlayerHistory } from "@/common/player/player-history";
|
||||||
import { config } from "../../../../../config";
|
import { config } from "../../../../../config";
|
||||||
import ky from "ky";
|
import ky from "ky";
|
||||||
import { getDaysAgoDate, getMidnightAlignedDate } from "@/common/time-utils";
|
import {
|
||||||
|
formatDate,
|
||||||
|
getDaysAgoDate,
|
||||||
|
getMidnightAlignedDate,
|
||||||
|
} from "@/common/time-utils";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A ScoreSaber player.
|
* A ScoreSaber player.
|
||||||
@ -84,7 +88,7 @@ export async function getScoreSaberPlayerFromToken(
|
|||||||
}
|
}
|
||||||
if (history) {
|
if (history) {
|
||||||
// Use the latest data for today
|
// Use the latest data for today
|
||||||
history[getMidnightAlignedDate(new Date()).toString()] = {
|
history[formatDate(getMidnightAlignedDate(new Date()))] = {
|
||||||
rank: token.rank,
|
rank: token.rank,
|
||||||
countryRank: token.countryRank,
|
countryRank: token.countryRank,
|
||||||
pp: token.pp,
|
pp: token.pp,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import mongoose, { Document, Schema } from "mongoose";
|
import mongoose, { Document, Schema } from "mongoose";
|
||||||
import { PlayerHistory } from "@/common/player/player-history";
|
import { PlayerHistory } from "@/common/player/player-history";
|
||||||
import { getMidnightAlignedDate } from "@/common/time-utils";
|
import { formatDate, getMidnightAlignedDate } from "@/common/time-utils";
|
||||||
import ScoreSaberPlayer from "@/common/model/player/impl/scoresaber-player";
|
import ScoreSaberPlayer from "@/common/model/player/impl/scoresaber-player";
|
||||||
|
|
||||||
// Interface for Player Document
|
// Interface for Player Document
|
||||||
@ -70,7 +70,7 @@ PlayerSchema.methods.getLastTracked = function (): Date {
|
|||||||
|
|
||||||
PlayerSchema.methods.getHistory = function (date: Date): PlayerHistory {
|
PlayerSchema.methods.getHistory = function (date: Date): PlayerHistory {
|
||||||
return (
|
return (
|
||||||
this.statisticHistory.get(getMidnightAlignedDate(date).toUTCString()) || {}
|
this.statisticHistory.get(formatDate(getMidnightAlignedDate(date))) || {}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -91,8 +91,10 @@ PlayerSchema.methods.setStatisticHistory = function (
|
|||||||
if (!this.statisticHistory) {
|
if (!this.statisticHistory) {
|
||||||
this.statisticHistory = new Map();
|
this.statisticHistory = new Map();
|
||||||
}
|
}
|
||||||
const alignedDate = getMidnightAlignedDate(date).toUTCString();
|
return this.statisticHistory.set(
|
||||||
return this.statisticHistory.set(alignedDate, data);
|
formatDate(getMidnightAlignedDate(date)),
|
||||||
|
data,
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
PlayerSchema.methods.sortStatisticHistory = function (): Map<
|
PlayerSchema.methods.sortStatisticHistory = function (): Map<
|
||||||
|
@ -28,6 +28,17 @@ export function timeAgo(input: Date | number) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats the date
|
||||||
|
*
|
||||||
|
* @param date the date
|
||||||
|
*/
|
||||||
|
export function formatDate(date: Date) {
|
||||||
|
return date.toLocaleString("en-US", {
|
||||||
|
timeZone: "Europe/London",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the midnight aligned date
|
* Gets the midnight aligned date
|
||||||
*
|
*
|
||||||
|
@ -169,6 +169,7 @@ type Props = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default function PlayerRankChart({ player }: Props) {
|
export default function PlayerRankChart({ player }: Props) {
|
||||||
|
console.log(player.statisticHistory);
|
||||||
if (
|
if (
|
||||||
player.statisticHistory === undefined ||
|
player.statisticHistory === undefined ||
|
||||||
Object.keys(player.statisticHistory).length === 0
|
Object.keys(player.statisticHistory).length === 0
|
||||||
@ -193,6 +194,7 @@ export default function PlayerRankChart({ player }: Props) {
|
|||||||
// Create labels based on days ago
|
// Create labels based on days ago
|
||||||
if (daysAgo === 0) {
|
if (daysAgo === 0) {
|
||||||
labels.push("Today");
|
labels.push("Today");
|
||||||
|
console.log(dateString);
|
||||||
} else if (daysAgo === 1) {
|
} else if (daysAgo === 1) {
|
||||||
labels.push("Yesterday");
|
labels.push("Yesterday");
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user