import Foundation
import UserNotifications

// 控件 / 小组件在 App 外触发剪贴板操作时的成功 / 失败反馈（#6）：弹一条本地通知。控件 / 小组件在独立扩展
// 进程运行、不开主 app，没有应用内横幅可用，故用本地通知作反馈。主 app 启动时已申请通知授权，扩展共享
// 同一授权；未授权则系统静默忽略（best-effort，不抛错）。
enum WidgetFeedback
{
    static func post(_ body: String) async
    {
        guard !body.isEmpty else { return }
        let content = UNMutableNotificationContent()
        content.title = t("app.brand")
        content.body = body
        // trigger nil＝立即送达。标识符随机，避免相邻多次反馈互相覆盖。
        let req = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil)
        try? await UNUserNotificationCenter.current().add(req)
    }
}
