diff --git a/frontend/src/app/api/svg/route.ts b/frontend/src/app/api/svg/route.ts new file mode 100644 index 0000000..0167aff --- /dev/null +++ b/frontend/src/app/api/svg/route.ts @@ -0,0 +1,34 @@ +import { NextResponse } from "next/server"; + +export async function GET() { + const res = await fetch( + `${process.env.NEXT_PUBLIC_BACKEND_URL}/api/app/get-subscriber-count`, + ); + const data = await res.json(); + const subCount = data.result.data ?? 0; + + const svg = ` + + + + + + + + + + + + ${subCount} users + + + `.trim(); + + return new NextResponse(svg, { + status: 200, + headers: { + "Content-Type": "image/svg+xml", + "Cache-Control": "public, max-age=3600", + }, + }); +} diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 2ad41f8..f617ddd 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -10,7 +10,7 @@ const iconUrl = `${appUrl}/logo_replyguy.png`; const framePreviewMetadata = { version: "next", - imageUrl: `${appUrl}/full_logo.png`, + imageUrl: `${appUrl}/api/svg`, iconUrl, heroImageUrl: `${appUrl}/full_logo.png`, button: {