about summary refs log tree commit diff
path: root/src/lib/notifications/notifications.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/notifications/notifications.ts')
-rw-r--r--src/lib/notifications/notifications.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts
index 52f984a59..1182bfcbb 100644
--- a/src/lib/notifications/notifications.ts
+++ b/src/lib/notifications/notifications.ts
@@ -1,5 +1,6 @@
 import React from 'react'
 import * as Notifications from 'expo-notifications'
+import {getBadgeCountAsync, setBadgeCountAsync} from 'expo-notifications'
 import {BskyAgent} from '@atproto/api'
 
 import {logger} from '#/logger'
@@ -109,3 +110,14 @@ export function useRequestNotificationsPermission() {
     [gate],
   )
 }
+
+export async function decrementBadgeCount(by = 1) {
+  if (!isNative) return
+
+  const currCount = await getBadgeCountAsync()
+  let newCount = currCount - by
+  if (newCount < 0) {
+    newCount = 0
+  }
+  await setBadgeCountAsync(newCount)
+}