Various improvements

This commit is contained in:
Ilya Laktyushin
2025-02-24 19:08:50 +04:00
parent b2351194d4
commit 4aeab37c70
16 changed files with 250 additions and 33 deletions

View File

@@ -302,6 +302,12 @@ public enum PremiumSource: Equatable {
} else {
return false
}
case .paidMessages:
if case .messageEffects = rhs {
return true
} else {
return false
}
}
}
@@ -349,6 +355,7 @@ public enum PremiumSource: Equatable {
case messageTags
case folderTags
case messageEffects
case paidMessages
var identifier: String? {
switch self {
@@ -442,6 +449,8 @@ public enum PremiumSource: Equatable {
return "folder_tags"
case .messageEffects:
return "effects"
case .paidMessages:
return "paid_messages"
}
}
}
@@ -470,6 +479,7 @@ public enum PremiumPerk: CaseIterable {
case business
case folderTags
case messageEffects
case paidMessages
case businessLocation
case businessHours
@@ -504,7 +514,8 @@ public enum PremiumPerk: CaseIterable {
.messagePrivacy,
.folderTags,
.business,
.messageEffects
.messageEffects,
.paidMessages
]
}
@@ -578,6 +589,8 @@ public enum PremiumPerk: CaseIterable {
return "folder_tags"
case .messageEffects:
return "effects"
case .paidMessages:
return "paid_messages"
case .business:
return "business"
case .businessLocation:
@@ -647,6 +660,8 @@ public enum PremiumPerk: CaseIterable {
return strings.Premium_Business
case .messageEffects:
return strings.Premium_MessageEffects
case .paidMessages:
return strings.Premium_PaidMessages
case .businessLocation:
return strings.Business_Location
case .businessHours:
@@ -714,6 +729,8 @@ public enum PremiumPerk: CaseIterable {
return strings.Premium_BusinessInfo
case .messageEffects:
return strings.Premium_MessageEffectsInfo
case .paidMessages:
return strings.Premium_PaidMessagesInfo
case .businessLocation:
return strings.Business_LocationInfo
case .businessHours:
@@ -781,7 +798,8 @@ public enum PremiumPerk: CaseIterable {
return "Premium/Perk/Business"
case .messageEffects:
return "Premium/Perk/MessageEffects"
case .paidMessages:
return "Premium/Perk/PaidMessages"
case .businessLocation:
return "Premium/BusinessPerk/Location"
case .businessHours:
@@ -819,6 +837,7 @@ struct PremiumIntroConfiguration {
.colors,
.wallpapers,
.profileBadge,
.paidMessages,
.messagePrivacy,
.advancedChatManagement,
.noAds,
@@ -867,6 +886,12 @@ struct PremiumIntroConfiguration {
perks = PremiumIntroConfiguration.defaultValue.perks
}
#if DEBUG
if !perks.contains(.paidMessages) {
perks.append(.paidMessages)
}
#endif
var businessPerks: [PremiumPerk] = []
if let values = data["business_promo_order"] as? [String] {
for value in values {
@@ -1859,6 +1884,7 @@ private final class PremiumIntroScreenContentComponent: CombinedComponent {
UIColor(rgb: 0xdb374b),
UIColor(rgb: 0xcb3e6d),
UIColor(rgb: 0xbc4395),
UIColor(rgb: 0xbc4395),
UIColor(rgb: 0xab4ac4),
UIColor(rgb: 0xab4ac4),
UIColor(rgb: 0xa34cd7),
@@ -2092,6 +2118,8 @@ private final class PremiumIntroScreenContentComponent: CombinedComponent {
demoSubject = .messagePrivacy
case .messageEffects:
demoSubject = .messageEffects
case .paidMessages:
demoSubject = .paidMessages
case .business:
demoSubject = .business
let _ = ApplicationSpecificNotice.setDismissedBusinessBadge(accountManager: accountContext.sharedContext.accountManager).startStandalone()