Append day labels to game titles

This commit is contained in:
Codex
2026-04-23 14:30:16 -05:00
parent 2011716654
commit 2b462a6bd9
2 changed files with 19 additions and 3 deletions

View File

@@ -75,14 +75,15 @@ export function findCurrentPlayer(externalUserId: string | number | null | undef
export function formatGameTitle(game: TeamSnapEvent): string {
const name = asDisplayText(game.name);
const dayLabel = formatGameDayLabel(game);
if (name) {
return name;
return `${name}${dayLabel}`;
}
const opponentName = asDisplayText(game.opponentName);
if (opponentName) {
return `vs ${opponentName}`;
return `vs ${opponentName}${dayLabel}`;
}
return `Game ${game.id}`;
return `Game ${game.id}${dayLabel}`;
}
export function formatGameDate(game: TeamSnapEvent): string {
@@ -98,6 +99,20 @@ export function formatGameDate(game: TeamSnapEvent): string {
});
}
function formatGameDayLabel(game: TeamSnapEvent): string {
const date = toDate(game.startDate);
if (!date) {
return "";
}
const weekday = date
.toLocaleDateString("en-US", { weekday: "short" })
.replace(/\./g, "")
.replace(/^./, (character) => character.toUpperCase());
const monthDay = date.toLocaleDateString("en-US", { month: "numeric", day: "numeric" });
return ` (${weekday} ${monthDay})`;
}
export function sortGames(events: TeamSnapEvent[]): TeamSnapEvent[] {
return [...events]
.filter((event) => event.isGame)