diff --git a/Sources/LaunchFeature/LaunchViewModel.swift b/Sources/LaunchFeature/LaunchViewModel.swift index 9a763f89b56b022dbd3410e1637d5588ba21e120..399a87a87e183543ad4967ad805331ff4fc5b972 100644 --- a/Sources/LaunchFeature/LaunchViewModel.swift +++ b/Sources/LaunchFeature/LaunchViewModel.swift @@ -8,6 +8,7 @@ import Keychain import Foundation import Integration import Permissions +import ToastFeature import DropboxFeature import VersionChecking import ReportingFeature @@ -36,6 +37,7 @@ final class LaunchViewModel { @Dependency private var permissionHandler: PermissionHandling @Dependency private var fetchBannedList: FetchBannedList @Dependency private var processBannedList: ProcessBannedList + @Dependency private var toastController: ToastController @Dependency private var session: SessionType @KeyObject(.username, defaultValue: nil) var username: String? @@ -224,6 +226,7 @@ final class LaunchViewModel { if contact.isBanned == false { contact.isBanned = true try! self.session.dbManager.saveContact(contact) + self.enqueueBanWarning(contact: contact) } } else { try! self.session.dbManager.saveContact(.init(id: userId, isBanned: true)) @@ -246,4 +249,12 @@ final class LaunchViewModel { } ) } + + private func enqueueBanWarning(contact: Contact) { + let name = (contact.nickname ?? contact.username) ?? "One of your contacts" + toastController.enqueueToast(model: .init( + title: "\(name) has been banned for offensive content.", + leftImage: Asset.requestSentToaster.image + )) + } } diff --git a/Sources/ReportingFeature/Resources/report_cert.der b/Sources/ReportingFeature/Resources/report_cert.der index b040579312ef63ed54d63419ad2955e6160b9666..978f65098ea8f361f1f369194e24d68d258f4dc2 100644 Binary files a/Sources/ReportingFeature/Resources/report_cert.der and b/Sources/ReportingFeature/Resources/report_cert.der differ