mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-04-26 09:20:24 -05:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import type {
|
|
LookingLoaderData,
|
|
LookingLoaderDataGroup,
|
|
} from "~/routes/play/looking";
|
|
import rawInfos from "./data.json";
|
|
|
|
const infos = rawInfos as Partial<
|
|
Record<string, { weapons?: string[]; peakXP?: number; peakLP?: number }>
|
|
>;
|
|
|
|
export function addInfoFromOldSendouInk(
|
|
type: "LEAGUE" | "SOLO",
|
|
data: LookingLoaderData
|
|
): LookingLoaderData {
|
|
return {
|
|
...data,
|
|
ownGroup: mapGroup(data.ownGroup),
|
|
likedGroups: data.likedGroups.map(mapGroup),
|
|
neutralGroups: data.neutralGroups.map(mapGroup),
|
|
likerGroups: data.likerGroups.map(mapGroup),
|
|
};
|
|
|
|
function mapGroup(group: LookingLoaderDataGroup): LookingLoaderDataGroup {
|
|
return {
|
|
...group,
|
|
members: group.members?.map((member) => {
|
|
const playerInfos = infos[member.discordId];
|
|
return {
|
|
...member,
|
|
weapons: playerInfos?.weapons,
|
|
peakXP: type === "SOLO" ? playerInfos?.peakXP : undefined,
|
|
peakLP: type === "LEAGUE" ? playerInfos?.peakLP : undefined,
|
|
};
|
|
}),
|
|
};
|
|
}
|
|
}
|