upd: webpush

Deskripsi:
- database push notification
- update package
- memasang webpush

NO Issues
This commit is contained in:
amel
2024-11-18 17:12:58 +08:00
parent bc5ce5b48c
commit d847c97bec
30 changed files with 1267 additions and 282 deletions

28
src/lib/PushProvider.tsx Normal file
View File

@@ -0,0 +1,28 @@
'use client'
import { WibuPermissionProvider, WibuPushNotificationHandler } from 'wibu-pkg'
const NEXT_PUBLIC_VAPID_PUBLIC_KEY = process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY!
export function PushProvider({ user }: { user: string }) {
if (!user) {
return <div>tunggu user</div>
}
return <>
<WibuPermissionProvider requiredPermissions={["notifications"]}>
<WibuPushNotificationHandler
NEXT_PUBLIC_VAPID_PUBLIC_KEY={NEXT_PUBLIC_VAPID_PUBLIC_KEY}
onMessage={(msg) => {
console.log(msg)
}}
onSubscribe={(subscription) => {
fetch("/api/push-notification/", {
method: "POST",
body: JSON.stringify({
user,
subscription
})
})
}}
/>
</WibuPermissionProvider>
</>
}