Various improvements

This commit is contained in:
Ilya Laktyushin
2022-08-28 15:07:00 +02:00
parent 7f2ab1788f
commit bb06841df3
70 changed files with 1990 additions and 769 deletions

View File

@@ -19,7 +19,7 @@ func updatePremiumPromoConfigurationOnce(postbox: Postbox, network: Network) ->
return .complete()
}
return postbox.transaction { transaction -> Void in
if case let .premiumPromo(_, _, _, _, _, _, apiUsers) = result {
if case let .premiumPromo(_, _, _, _, _, apiUsers) = result {
let users = apiUsers.map { TelegramUser(user: $0) }
updatePeers(transaction: transaction, peers: users, update: { current, updated -> Peer in
if let updated = updated as? TelegramUser {
@@ -65,11 +65,10 @@ private func updatePremiumPromoConfiguration(transaction: Transaction, _ f: (Pre
private extension PremiumPromoConfiguration {
init(apiPremiumPromo: Api.help.PremiumPromo) {
switch apiPremiumPromo {
case let .premiumPromo(statusText, statusEntities, videoSections, videoFiles, currency, monthlyAmount, _):
case let .premiumPromo(statusText, statusEntities, videoSections, videoFiles, options, _):
self.status = statusText
self.statusEntities = messageTextEntitiesFromApiEntities(statusEntities)
self.currency = currency
self.monthlyAmount = monthlyAmount
var videos: [String: TelegramMediaFile] = [:]
for (key, document) in zip(videoSections, videoFiles) {
if let file = telegramMediaFileFromApiDocument(document) {
@@ -77,6 +76,14 @@ private extension PremiumPromoConfiguration {
}
}
self.videos = videos
var productOptions: [PremiumProductOption] = []
for option in options {
if case let .premiumSubscriptionOption(_, months, currency, amount, botUrl, storeProduct) = option {
productOptions.append(PremiumProductOption(months: months, currency: currency, amount: amount, botUrl: botUrl, storeProductId: storeProduct))
}
}
self.premiumProductOptions = productOptions
}
}
}