mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Various improvements
This commit is contained in:
@@ -5,7 +5,7 @@ import SwiftSignalKit
|
||||
|
||||
public enum SavedStickerResult {
|
||||
case generic
|
||||
case limitExceeded
|
||||
case limitExceeded(Int32, Int32)
|
||||
}
|
||||
|
||||
func _internal_toggleStickerSaved(postbox: Postbox, network: Network, accountPeerId: PeerId, file: TelegramMediaFile, saved: Bool) -> Signal<SavedStickerResult, AddSavedStickerError> {
|
||||
@@ -15,15 +15,13 @@ func _internal_toggleStickerSaved(postbox: Postbox, network: Network, accountPee
|
||||
let items = transaction.getOrderedListItems(collectionId: Namespaces.OrderedItemList.CloudSavedStickers)
|
||||
|
||||
let appConfiguration = transaction.getPreferencesEntry(key: PreferencesKeys.appConfiguration)?.get(AppConfiguration.self) ?? .defaultValue
|
||||
let userLimitsConfiguration = UserLimitsConfiguration(appConfiguration: appConfiguration, isPremium: isPremium)
|
||||
let limitsConfiguration = UserLimitsConfiguration(appConfiguration: appConfiguration, isPremium: false)
|
||||
let premiumLimitsConfiguration = UserLimitsConfiguration(appConfiguration: appConfiguration, isPremium: false)
|
||||
|
||||
return addSavedSticker(postbox: postbox, network: network, file: file)
|
||||
|> map { _ -> SavedStickerResult in
|
||||
return .generic
|
||||
return items.count == limitsConfiguration.maxFavedStickerCount && !isPremium ? .limitExceeded(limitsConfiguration.maxFavedStickerCount, premiumLimitsConfiguration.maxFavedStickerCount) : .generic
|
||||
}
|
||||
|> then(
|
||||
.single(items.count == userLimitsConfiguration.maxFavedStickerCount ? .limitExceeded : .generic)
|
||||
)
|
||||
}
|
||||
|> castError(AddSavedStickerError.self)
|
||||
|> switchToLatest
|
||||
|
||||
Reference in New Issue
Block a user