Skip to content

Commit 7b99220

Browse files
authored
Merge pull request #3 from gitranks/badgev2
πŸ₯‡ Badges v2
2 parents 94eea99 + f06c8d9 commit 7b99220

File tree

83 files changed

+1753
-274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+1753
-274
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { redirect } from 'next/navigation';
2+
import { NextRequest } from 'next/server';
3+
4+
import { BadgeV2ZodSchema } from '@/badge/badge.zod';
5+
import { renderInlineBadge } from '@/badge/templates/inline/inline.render';
6+
import { posthog } from '@/lib/posthog/posthog-node-client';
7+
8+
type Props = { params: Promise<{ login: string }> };
9+
10+
export async function GET(req: NextRequest, { params }: Props) {
11+
const { login } = await params;
12+
13+
const searchParams = req.nextUrl.searchParams;
14+
const badgeParams = Object.fromEntries(searchParams.entries());
15+
const validationResult = BadgeV2ZodSchema.safeParse(badgeParams);
16+
17+
if (!validationResult.success) {
18+
return new Response('Invalid query params', {
19+
status: 400,
20+
headers: {
21+
'Content-Type': 'text/plain',
22+
'Cache-Control': 'max-age=300, public',
23+
},
24+
});
25+
}
26+
27+
const userAgent = req.headers.get('user-agent');
28+
const referer = req.headers.get('referer');
29+
30+
posthog.capture({
31+
distinctId: login,
32+
event: 'badge_v2_rendered',
33+
properties: { userAgent, referer },
34+
});
35+
36+
const svg = await renderInlineBadge({ login, params: validationResult.data });
37+
38+
if (!svg) {
39+
return redirect('/404');
40+
}
41+
42+
return new Response(svg, {
43+
headers: {
44+
'Content-Type': 'image/svg+xml',
45+
'Cache-Control': 'max-age=300, public',
46+
},
47+
});
48+
}

β€Žapp/badge/[[...login]]/components/badge-form.tsxβ€Ž

Lines changed: 0 additions & 109 deletions
This file was deleted.

β€Žapp/badge/[[...login]]/components/integration-code.tsxβ€Ž

Lines changed: 0 additions & 20 deletions
This file was deleted.

β€Žapp/badge/[[...login]]/components/preview.tsxβ€Ž

Lines changed: 0 additions & 35 deletions
This file was deleted.

β€Žapp/badge/[[...login]]/hooks/useBadgeUrl.tsβ€Ž

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
Β (0)