chet novoe

This commit is contained in:
Vladimir Voronin
2024-10-30 17:36:03 +03:00
parent c4ede8bb03
commit aa078c4228
4 changed files with 103 additions and 3 deletions

View File

@@ -0,0 +1,17 @@
// src/pushManager.ts
const applicationServerKey = 'BNrBrVdqH4dHz6egI24OEr1WuGi5BPjJ1pznANXoqwdlIYGyt9CAdeOnnMMWqxs1TZt2f0aG1He--Uh5hwFnKts';
function urlBase64ToUint8Array(base64String: string): Uint8Array {
const padding = "=".repeat((4 - (base64String.length % 4)) % 4);
const base64 = (base64String + padding).replace(/-/g, "+").replace(/_/g, "/");
const rawData = window.atob(base64);
return new Uint8Array([...rawData].map((char) => char.charCodeAt(0)));
}
export async function subscribeUserToPush() {
const registration = await navigator.serviceWorker.ready;
return registration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(applicationServerKey),
});
}