2018-04-02 05:34:16 +00:00
|
|
|
import AnimeNotifier from "../AnimeNotifier"
|
2017-10-17 09:27:15 +00:00
|
|
|
|
|
|
|
// Enable notifications
|
2019-04-22 09:06:50 +00:00
|
|
|
export async function enableNotifications(arn: AnimeNotifier, _: HTMLElement) {
|
2019-04-19 14:34:49 +00:00
|
|
|
if(!arn.user || !arn.user.dataset.id) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2018-03-29 10:14:46 +00:00
|
|
|
arn.statusMessage.showInfo("Enabling instant notifications...")
|
2017-10-17 09:27:15 +00:00
|
|
|
await arn.pushManager.subscribe(arn.user.dataset.id)
|
|
|
|
arn.updatePushUI()
|
2018-03-29 10:14:46 +00:00
|
|
|
arn.statusMessage.showInfo("Enabled instant notifications for this device.")
|
2017-10-17 09:27:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Disable notifications
|
2019-04-22 09:06:50 +00:00
|
|
|
export async function disableNotifications(arn: AnimeNotifier, _: HTMLElement) {
|
2019-04-19 14:34:49 +00:00
|
|
|
if(!arn.user || !arn.user.dataset.id) {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2018-03-29 10:14:46 +00:00
|
|
|
arn.statusMessage.showInfo("Disabling instant notifications...")
|
2017-10-17 09:27:15 +00:00
|
|
|
await arn.pushManager.unsubscribe(arn.user.dataset.id)
|
|
|
|
arn.updatePushUI()
|
2018-03-29 10:14:46 +00:00
|
|
|
arn.statusMessage.showInfo("Disabled instant notifications for this device.")
|
2017-10-17 09:27:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Test notification
|
2018-02-28 22:26:06 +00:00
|
|
|
export async function testNotification(arn: AnimeNotifier) {
|
2018-04-18 10:33:19 +00:00
|
|
|
arn.statusMessage.showInfo("Sending test notification...this might take a few seconds...")
|
|
|
|
|
2018-02-28 22:26:06 +00:00
|
|
|
await fetch("/api/test/notification", {
|
2017-10-17 09:27:15 +00:00
|
|
|
credentials: "same-origin"
|
|
|
|
})
|
2018-02-28 23:06:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Mark notifications as seen
|
|
|
|
export async function markNotificationsAsSeen(arn: AnimeNotifier) {
|
|
|
|
await fetch("/api/mark/notifications/seen", {
|
|
|
|
credentials: "same-origin"
|
|
|
|
})
|
|
|
|
|
|
|
|
// Update notifications
|
|
|
|
arn.reloadContent()
|
2017-10-17 09:27:15 +00:00
|
|
|
}
|