mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
[WIP] Saved messages
This commit is contained in:
@@ -2,34 +2,36 @@ import Postbox
|
||||
import SwiftSignalKit
|
||||
|
||||
public struct UserLimitsConfiguration: Equatable {
|
||||
public let maxPinnedChatCount: Int32
|
||||
public let maxArchivedPinnedChatCount: Int32
|
||||
public let maxChannelsCount: Int32
|
||||
public let maxPublicLinksCount: Int32
|
||||
public let maxSavedGifCount: Int32
|
||||
public let maxFavedStickerCount: Int32
|
||||
public let maxFoldersCount: Int32
|
||||
public let maxFolderChatsCount: Int32
|
||||
public let maxCaptionLength: Int32
|
||||
public let maxUploadFileParts: Int32
|
||||
public let maxAboutLength: Int32
|
||||
public let maxAnimatedEmojisInText: Int32
|
||||
public let maxReactionsPerMessage: Int32
|
||||
public let maxSharedFolderInviteLinks: Int32
|
||||
public let maxSharedFolderJoin: Int32
|
||||
public let maxStoryCaptionLength: Int32
|
||||
public let maxExpiringStoriesCount: Int32
|
||||
public let maxStoriesWeeklyCount: Int32
|
||||
public let maxStoriesMonthlyCount: Int32
|
||||
public let maxStoriesSuggestedReactions: Int32
|
||||
public let maxGiveawayChannelsCount: Int32
|
||||
public let maxGiveawayCountriesCount: Int32
|
||||
public let maxGiveawayPeriodSeconds: Int32
|
||||
public let maxChannelRecommendationsCount: Int32
|
||||
public var maxPinnedChatCount: Int32
|
||||
public var maxPinnedSavedChatCount: Int32
|
||||
public var maxArchivedPinnedChatCount: Int32
|
||||
public var maxChannelsCount: Int32
|
||||
public var maxPublicLinksCount: Int32
|
||||
public var maxSavedGifCount: Int32
|
||||
public var maxFavedStickerCount: Int32
|
||||
public var maxFoldersCount: Int32
|
||||
public var maxFolderChatsCount: Int32
|
||||
public var maxCaptionLength: Int32
|
||||
public var maxUploadFileParts: Int32
|
||||
public var maxAboutLength: Int32
|
||||
public var maxAnimatedEmojisInText: Int32
|
||||
public var maxReactionsPerMessage: Int32
|
||||
public var maxSharedFolderInviteLinks: Int32
|
||||
public var maxSharedFolderJoin: Int32
|
||||
public var maxStoryCaptionLength: Int32
|
||||
public var maxExpiringStoriesCount: Int32
|
||||
public var maxStoriesWeeklyCount: Int32
|
||||
public var maxStoriesMonthlyCount: Int32
|
||||
public var maxStoriesSuggestedReactions: Int32
|
||||
public var maxGiveawayChannelsCount: Int32
|
||||
public var maxGiveawayCountriesCount: Int32
|
||||
public var maxGiveawayPeriodSeconds: Int32
|
||||
public var maxChannelRecommendationsCount: Int32
|
||||
|
||||
public static var defaultValue: UserLimitsConfiguration {
|
||||
return UserLimitsConfiguration(
|
||||
maxPinnedChatCount: 5,
|
||||
maxPinnedSavedChatCount: 5,
|
||||
maxArchivedPinnedChatCount: 100,
|
||||
maxChannelsCount: 500,
|
||||
maxPublicLinksCount: 10,
|
||||
@@ -58,6 +60,7 @@ public struct UserLimitsConfiguration: Equatable {
|
||||
|
||||
public init(
|
||||
maxPinnedChatCount: Int32,
|
||||
maxPinnedSavedChatCount: Int32,
|
||||
maxArchivedPinnedChatCount: Int32,
|
||||
maxChannelsCount: Int32,
|
||||
maxPublicLinksCount: Int32,
|
||||
@@ -83,6 +86,7 @@ public struct UserLimitsConfiguration: Equatable {
|
||||
maxChannelRecommendationsCount: Int32
|
||||
) {
|
||||
self.maxPinnedChatCount = maxPinnedChatCount
|
||||
self.maxPinnedSavedChatCount = maxPinnedSavedChatCount
|
||||
self.maxArchivedPinnedChatCount = maxArchivedPinnedChatCount
|
||||
self.maxChannelsCount = maxChannelsCount
|
||||
self.maxPublicLinksCount = maxPublicLinksCount
|
||||
@@ -112,7 +116,10 @@ public struct UserLimitsConfiguration: Equatable {
|
||||
extension UserLimitsConfiguration {
|
||||
init(appConfiguration: AppConfiguration, isPremium: Bool) {
|
||||
let keySuffix = isPremium ? "_premium" : "_default"
|
||||
let defaultValue = UserLimitsConfiguration.defaultValue
|
||||
var defaultValue = UserLimitsConfiguration.defaultValue
|
||||
if isPremium {
|
||||
defaultValue.maxPinnedSavedChatCount = 100
|
||||
}
|
||||
|
||||
func getValue(_ key: String, orElse defaultValue: Int32) -> Int32 {
|
||||
if let value = appConfiguration.data?[key + keySuffix] as? Double {
|
||||
@@ -131,6 +138,7 @@ extension UserLimitsConfiguration {
|
||||
}
|
||||
|
||||
self.maxPinnedChatCount = getValue("dialogs_pinned_limit", orElse: defaultValue.maxPinnedChatCount)
|
||||
self.maxPinnedSavedChatCount = getValue("saved_pinned_limit", orElse: defaultValue.maxPinnedSavedChatCount)
|
||||
self.maxArchivedPinnedChatCount = getValue("dialogs_folder_pinned_limit", orElse: defaultValue.maxArchivedPinnedChatCount)
|
||||
self.maxChannelsCount = getValue("channels_limit", orElse: defaultValue.maxChannelsCount)
|
||||
self.maxPublicLinksCount = getValue("channels_public_limit", orElse: defaultValue.maxPublicLinksCount)
|
||||
|
||||
Reference in New Issue
Block a user