Update API

This commit is contained in:
Ilya Laktyushin 2025-08-05 14:43:57 +04:00
parent 5da006c4ea
commit bbb65862b9
5 changed files with 41 additions and 19 deletions

View File

@ -14882,7 +14882,6 @@ Sorry for the inconvenience.";
"Stories.ToastAddedToFolder_any" = "%@ stories added to folder.";
"Stories.ToastAlbumNotAvailable" = "The album is no longer available.";
"Gift.Options.Gift.Premium" = "premium";
"Stars.Transaction.FragmentTopUpTon.Title" = "TON Top-Up";
@ -14890,3 +14889,6 @@ Sorry for the inconvenience.";
"Stars.Transaction.SearchFee.Title" = "Extra Search Fee";
"Stars.Intro.Transaction.SearchFee" = "Extra Search Fee";
"PeerInfo.Gifts.Upgradable" = "Upgradable";

View File

@ -210,7 +210,7 @@ public class BoxedMessage: NSObject {
public class Serialization: NSObject, MTSerialization {
public func currentLayer() -> UInt {
return 211
return 212
}
public func parseMessage(_ data: Data!) -> Any! {

View File

@ -1363,8 +1363,11 @@ private final class ProfileGiftsContextImpl {
if !filter.contains(.unlimited) {
flags |= (1 << 2)
}
if !filter.contains(.limited) {
flags |= (1 << 3)
if !filter.contains(.limitedUpgradable) {
flags |= (1 << 7)
}
if !filter.contains(.limitedNonUpgradable) {
flags |= (1 << 8)
}
if !filter.contains(.unique) {
flags |= (1 << 4)
@ -1948,13 +1951,14 @@ public final class ProfileGiftsContext {
}
public static let unlimited = Filters(rawValue: 1 << 0)
public static let limited = Filters(rawValue: 1 << 1)
public static let unique = Filters(rawValue: 1 << 2)
public static let displayed = Filters(rawValue: 1 << 3)
public static let hidden = Filters(rawValue: 1 << 4)
public static let limitedUpgradable = Filters(rawValue: 1 << 1)
public static let limitedNonUpgradable = Filters(rawValue: 1 << 2)
public static let unique = Filters(rawValue: 1 << 3)
public static let displayed = Filters(rawValue: 1 << 4)
public static let hidden = Filters(rawValue: 1 << 5)
public static var All: Filters {
return [.unlimited, .limited, .unique, .displayed, .hidden]
return [.unlimited, .limitedUpgradable, .limitedNonUpgradable, .unique, .displayed, .hidden]
}
}

View File

@ -11463,7 +11463,7 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
} else {
updatedFilter.insert(value)
}
if !updatedFilter.contains(.unlimited) && !updatedFilter.contains(.limited) && !updatedFilter.contains(.unique) {
if !updatedFilter.contains(.unlimited) && !updatedFilter.contains(.limitedUpgradable) && !updatedFilter.contains(.limitedNonUpgradable) && !updatedFilter.contains(.unique) {
updatedFilter.insert(.unlimited)
}
if !updatedFilter.contains(.displayed) && !updatedFilter.contains(.hidden) {
@ -11479,7 +11479,8 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
let switchToFilter: (ProfileGiftsContext.Filters) -> Void = { [weak giftsContext] value in
var updatedFilter = filter
updatedFilter.remove(.unlimited)
updatedFilter.remove(.limited)
updatedFilter.remove(.limitedUpgradable)
updatedFilter.remove(.limitedNonUpgradable)
updatedFilter.remove(.unique)
updatedFilter.insert(value)
giftsContext?.updateFilter(updatedFilter)
@ -11501,11 +11502,18 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
switchToFilter(.unlimited)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Limited, icon: { theme in
return filter.contains(.limited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
return filter.contains(.limitedNonUpgradable) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
}, action: { _, f in
toggleFilter(.limited)
toggleFilter(.limitedNonUpgradable)
}, longPressAction: { _, f in
switchToFilter(.limited)
switchToFilter(.limitedNonUpgradable)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Upgradable, icon: { theme in
return filter.contains(.limitedUpgradable) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
}, action: { _, f in
toggleFilter(.limitedUpgradable)
}, longPressAction: { _, f in
switchToFilter(.limitedUpgradable)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unique, icon: { theme in
return filter.contains(.unique) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil

View File

@ -349,7 +349,7 @@ public final class AddGiftsScreen: ViewControllerComponentContainer {
} else {
updatedFilter.insert(value)
}
if !updatedFilter.contains(.unlimited) && !updatedFilter.contains(.limited) && !updatedFilter.contains(.unique) {
if !updatedFilter.contains(.unlimited) && !updatedFilter.contains(.limitedUpgradable) && !updatedFilter.contains(.limitedNonUpgradable) && !updatedFilter.contains(.unique) {
updatedFilter.insert(.unlimited)
}
if !updatedFilter.contains(.displayed) && !updatedFilter.contains(.hidden) {
@ -365,7 +365,8 @@ public final class AddGiftsScreen: ViewControllerComponentContainer {
let switchToFilter: (ProfileGiftsContext.Filters) -> Void = { [weak giftsContext] value in
var updatedFilter = filter
updatedFilter.remove(.unlimited)
updatedFilter.remove(.limited)
updatedFilter.remove(.limitedUpgradable)
updatedFilter.remove(.limitedNonUpgradable)
updatedFilter.remove(.unique)
updatedFilter.insert(value)
giftsContext?.updateFilter(updatedFilter)
@ -387,11 +388,18 @@ public final class AddGiftsScreen: ViewControllerComponentContainer {
switchToFilter(.unlimited)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Limited, icon: { theme in
return filter.contains(.limited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
return filter.contains(.limitedNonUpgradable) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
}, action: { _, f in
toggleFilter(.limited)
toggleFilter(.limitedNonUpgradable)
}, longPressAction: { _, f in
switchToFilter(.limited)
switchToFilter(.limitedNonUpgradable)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Upgradable, icon: { theme in
return filter.contains(.limitedUpgradable) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
}, action: { _, f in
toggleFilter(.limitedUpgradable)
}, longPressAction: { _, f in
switchToFilter(.limitedUpgradable)
})))
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unique, icon: { theme in
return filter.contains(.unique) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil