Screaming-Reminder/Screaming Reminder/Utils/NotificationsUtils.swift

36 lines
1.1 KiB
Swift
Raw Normal View History

2024-07-11 10:38:11 +00:00
//
// NotificationsUtils.swift
// Screaming Reminder
//
// Created by Amine Bou on 12/07/2024.
//
import Foundation
import SwiftUI
import SwiftData
func scheduleNotifications(reminder: Reminder) {
let notification = Notification(reminder: reminder)
notification.triggers.forEach {
let content = UNMutableNotificationContent()
content.title = notification.reminder.label
content.sound = UNNotificationSound.defaultCritical
content.categoryIdentifier = "CAT"
let request = UNNotificationRequest(identifier: getIdentifier(reminder: reminder, trigger: $0), content: content, trigger: $0)
// add our reminder request
UNUserNotificationCenter.current().add(request)
}
}
func cancelNotifications(reminder: Reminder) {
let identifiers = getTriggersForReminder(reminder: reminder).map {
getIdentifier(reminder: reminder, trigger: $0)
}
UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: identifiers)
UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers: identifiers)
}