Add deterministic daily weather brief

This commit is contained in:
zv
2026-06-11 20:27:10 +02:00
parent 47a292b26e
commit 49265e7c51
16 changed files with 590 additions and 60 deletions

View File

@@ -3,6 +3,7 @@ import type { Language } from "@/lib/i18n";
import { formatProvinceName } from "@/lib/provinces";
import type { WeatherWarning } from "@/types/imgw";
import type { WarningPushSubscription } from "@/types/notifications";
import type { WeatherBrief } from "@/lib/weather-brief";
const VAPID_PUBLIC_KEY = process.env.WEB_PUSH_VAPID_PUBLIC_KEY;
const VAPID_PRIVATE_KEY = process.env.WEB_PUSH_VAPID_PRIVATE_KEY;
@@ -82,3 +83,13 @@ export async function sendTestNotification(preference: WarningPushSubscription)
});
await webPush.sendNotification(preference.subscription as PushSubscription, payload);
}
export async function sendMorningBriefNotification(preference: WarningPushSubscription, brief: WeatherBrief) {
ensureWebPushConfigured();
const payload = JSON.stringify({
title: preference.language === "pl" ? "wtr.: brief dnia" : "wtr.: daily brief",
body: brief.pushBody,
url: "/",
});
await webPush.sendNotification(preference.subscription as PushSubscription, payload);
}