/* eslint-disable @next/next/no-img-element */ import { ImageResponse } from "next/og"; import { getPublicTeamExport } from "@/lib/guides/queries"; const anuphanFont = fetch( "https://raw.githubusercontent.com/google/fonts/main/ofl/anuphan/Anuphan%5Bwght%5D.ttf", ) .then((response) => (response.ok ? response.arrayBuffer() : null)) .catch(() => null); function amount(value: number): string { return new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(value); } export async function GET( _request: Request, context: RouteContext<"/api/teams/[teamId]/image">, ) { const { teamId } = await context.params; const team = await getPublicTeamExport(teamId); if (!team) return new Response("Team not found", { status: 404 }); const total = team.members.reduce( (sum, member) => sum + Number(member.damage), 0, ); const seconds = Number(team.rotationSeconds); const dps = seconds > 0 ? total / seconds : 0; const font = await anuphanFont; return new ImageResponse(