Dismiss suggestions globally

This commit is contained in:
Kylmakalle 2025-02-25 01:44:38 +02:00
parent 15d76b2517
commit 34cc1ba5b3
2 changed files with 11 additions and 3 deletions

View File

@ -42,7 +42,8 @@ public class SGSimpleSettings {
{ let _ = self.disableSnapDeletionEffect },
{ let _ = self.startTelescopeWithRearCam },
{ let _ = self.hideRecordingButton },
{ let _ = self.inputToolbar }
{ let _ = self.inputToolbar },
{ let _ = self.dismissedSGSuggestions }
]
tasks.forEach { task in
@ -128,6 +129,7 @@ public class SGSimpleSettings {
case mentionsAndRepliesNotifications
case primaryUserId
case status
case dismissedSGSuggestions
}
public enum DownloadSpeedBoostValues: String, CaseIterable {
@ -239,7 +241,8 @@ public class SGSimpleSettings {
Keys.videoPIPSwipeDirection.rawValue: VideoPIPSwipeDirection.up.rawValue,
Keys.messageFilterKeywords.rawValue: [],
Keys.inputToolbar.rawValue: false,
Keys.primaryUserId.rawValue: ""
Keys.primaryUserId.rawValue: "",
Keys.dismissedSGSuggestions.rawValue: []
]
public static let groupDefaultValues: [String: Any] = [
@ -447,6 +450,9 @@ public class SGSimpleSettings {
@UserDefault(key: Keys.primaryUserId.rawValue)
public var primaryUserId: String
@UserDefault(key: Keys.dismissedSGSuggestions.rawValue)
public var dismissedSGSuggestions: [String]
}
extension SGSimpleSettings {

View File

@ -1,3 +1,4 @@
import SGSimpleSettings
import Foundation
import Postbox
import SwiftSignalKit
@ -141,6 +142,7 @@ private var dismissedSGSuggestions: Set<String> = Set() {
public func dismissSGProvidedSuggestion(suggestionId: String) {
dismissedSGSuggestions.insert(suggestionId)
SGSimpleSettings.shared.dismissedSGSuggestions.append(suggestionId)
}
public func getSGProvidedSuggestions(account: Account) -> Signal<Data?, NoError> {
@ -165,7 +167,7 @@ public func getSGProvidedSuggestions(account: Account) -> Signal<Data?, NoError>
guard let id = suggestion["id"] as? String else {
return true
}
return !dismissedSuggestionsValue.contains(id)
return !dismissedSuggestionsValue.contains(id) && !SGSimpleSettings.shared.dismissedSGSuggestions.contains(id)
}
let modifiedData = try JSONSerialization.data(withJSONObject: filteredSuggestions, options: [])
return modifiedData