Service worker push handlers and client subscribe (Feature 19) (#156)
CI / ci (push) Successful in 6m37s

Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com>
This commit was merged in pull request #156.
This commit is contained in:
2026-10-09 11:14:20 -04:00
committed by approver_agent
parent 7a2f80cc09
commit c8e5829a77
8 changed files with 1031 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
import { useMemo } from 'react'
import { useApi } from '../api/ApiContext.tsx'
import {
browserPushEnvironment,
subscribePush,
unsubscribePush,
type SubscribePushResult,
type UnsubscribePushResult,
} from './subscribe.ts'
export type Push = {
// subscribePush turns on Web Push on this device; call it only from a tap.
subscribePush(): Promise<SubscribePushResult>
// unsubscribePush turns off Web Push on this device.
unsubscribePush(): Promise<UnsubscribePushResult>
}
// usePush binds subscribePush and unsubscribePush to the app's API client
// and this browser.
export function usePush(): Push {
const api = useApi()
return useMemo(
() => ({
subscribePush: () => subscribePush(api, browserPushEnvironment()),
unsubscribePush: () => unsubscribePush(api, browserPushEnvironment()),
}),
[api],
)
}