diff --git a/projects/backend/src/service/player.service.ts b/projects/backend/src/service/player.service.ts index 6af0ea8..a65c8f9 100644 --- a/projects/backend/src/service/player.service.ts +++ b/projects/backend/src/service/player.service.ts @@ -10,6 +10,7 @@ import ScoreSaberPlayerScoreToken from "@ssr/common/types/token/scoresaber/score import { MessageBuilder, Webhook } from "discord-webhook-node"; import { Config } from "../common/config"; import { formatPp } from "@ssr/common/utils/number-utils"; +import { isProduction } from "@ssr/common/utils/utils"; export class PlayerService { /** @@ -40,19 +41,22 @@ export class PlayerService { player.trackedSince = new Date(); await this.seedPlayerHistory(player, playerToken); - const hook = new Webhook({ - url: Config.trackedPlayerWebhook, - }); - hook.setUsername("Player Tracker"); - const embed = new MessageBuilder(); - embed.setTitle("New Player Tracked"); - embed.addField("Username", playerToken.name, true); - embed.addField("ID", playerToken.id, true); - embed.addField("PP", formatPp(playerToken.pp) + "pp", true); - embed.setDescription(`https://ssr.fascinated.cc/player/${playerToken.id}`); - embed.setThumbnail(playerToken.profilePicture); - embed.setColor("#00ff00"); - await hook.send(embed); + // Only notify in production + if (isProduction()) { + const hook = new Webhook({ + url: Config.trackedPlayerWebhook, + }); + hook.setUsername("Player Tracker"); + const embed = new MessageBuilder(); + embed.setTitle("New Player Tracked"); + embed.addField("Username", playerToken.name, true); + embed.addField("ID", playerToken.id, true); + embed.addField("PP", formatPp(playerToken.pp) + "pp", true); + embed.setDescription(`https://ssr.fascinated.cc/player/${playerToken.id}`); + embed.setThumbnail(playerToken.profilePicture); + embed.setColor("#00ff00"); + await hook.send(embed); + } } catch (err) { const message = `Failed to create player document for "${id}"`; console.log(message, err); diff --git a/projects/backend/src/service/score.service.ts b/projects/backend/src/service/score.service.ts index 4033b2f..3a249b7 100644 --- a/projects/backend/src/service/score.service.ts +++ b/projects/backend/src/service/score.service.ts @@ -4,9 +4,15 @@ import ScoreSaberPlayerScoreToken from "@ssr/common/types/token/scoresaber/score import { MessageBuilder, Webhook } from "discord-webhook-node"; import { Config } from "../common/config"; import { formatPp } from "@ssr/common/utils/number-utils"; +import { isProduction } from "@ssr/common/utils/utils"; export class ScoreService { public static async notifyNumberOne(playerScore: ScoreSaberPlayerScoreToken) { + // Only notify in production + if (!isProduction()) { + return; + } + const { score, leaderboard } = playerScore; const player = score.leaderboardPlayerInfo; diff --git a/projects/website/src/app/(pages)/player/[...slug]/page.tsx b/projects/website/src/app/(pages)/player/[...slug]/page.tsx index 8b20438..6a47a16 100644 --- a/projects/website/src/app/(pages)/player/[...slug]/page.tsx +++ b/projects/website/src/app/(pages)/player/[...slug]/page.tsx @@ -118,7 +118,7 @@ export async function generateViewport(props: Props): Promise { const color = await getAverageColor(player.avatar); return { - themeColor: color.hex, + themeColor: color.color, }; } diff --git a/projects/website/src/common/image-utils.ts b/projects/website/src/common/image-utils.ts index 46ee234..b07329d 100644 --- a/projects/website/src/common/image-utils.ts +++ b/projects/website/src/common/image-utils.ts @@ -20,10 +20,10 @@ export function getImageUrl(originalUrl: string) { */ export const getAverageColor = async (src: string) => { try { - return await ky.get<{ hex: string }>(`${config.siteApi}/image/averagecolor/${encodeURIComponent(src)}`).json(); + return await ky.get<{ color: string }>(`${config.siteApi}/image/averagecolor/${encodeURIComponent(src)}`).json(); } catch { return { - hex: Colors.primary, + color: Colors.primary, }; } }; diff --git a/projects/website/src/components/api/api-health.tsx b/projects/website/src/components/api/api-health.tsx index 87eb0fb..318eec0 100644 --- a/projects/website/src/components/api/api-health.tsx +++ b/projects/website/src/components/api/api-health.tsx @@ -32,7 +32,9 @@ export function ApiHealth() { if (previousOnlineStatus.current !== online) { toast({ title: `The API is now ${online ? "Online" : "Offline"}!`, - description: online ? "The API has recovered connectivity." : "The API has lost connectivity.", + description: online + ? "The API has recovered connectivity." + : "The API has lost connectivity, some data may be unavailable.", variant: online ? "success" : "destructive", duration: 10_000, // 10 seconds });