INNER CODE UNIT · TypeScript
showWebNotification
libnyanpasu/clash-nyanpasu · frontend/platform/src/index.ts:13
export async function showWebNotification({
title,
body,
}: WebNotificationOptions): Promise<void> {
if (typeof window === 'undefined') return
const fallback = () => window.alert(body ? `${title}: ${body}` : title)
if (!('Notification' in window)) {
fallback()
return
}
try {
const permission =
Notification.permission === 'default'
? await Notification.requestPermission()
: Notification.permission
if (permission === 'granted') {
const notification = new Notification(title, { body })