Refactor: Use emoji in notification title

This commit is contained in:
2025-11-24 14:20:27 -08:00
parent 61e7aaec2e
commit b61f092ec1

View File

@@ -1,15 +1,16 @@
export async function onRequestPost(ctx) {
const { request, env } = ctx;
export async function onRequestPost({ request, env }) {
const { email } = await request.json().catch(() => ({}));
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
return new Response(JSON.stringify({ error: 'Invalid email' }), { status: 400, headers: { 'Content-Type': 'application/json' } });
}
const cf = request.cf || {};
const geo = [cf.city, cf.region, cf.country].filter(Boolean).join(', ') || 'Unknown';
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email))
return new Response('{"error":"Invalid email"}', { status: 400, headers: { 'Content-Type': 'application/json' } });
const c = request.cf || {};
const geo = [c.city, c.region, c.country].filter(Boolean).join(', ') || 'Unknown';
await fetch(`https://ntfy.sh/${env.NTFY_TOPIC}`, {
method: 'POST',
headers: { Priority: '3', Title: `New sub: ${geo}` },
headers: { Priority: '3', Title: `📬 ${geo}` },
body: email
});
return new Response(JSON.stringify({ ok: true }), { headers: { 'Content-Type': 'application/json' } });
return new Response('{"ok":true}', { headers: { 'Content-Type': 'application/json' } });
}