diff --git a/Telegram/Resources/icons/settings/premium/effects.png b/Telegram/Resources/icons/settings/premium/effects.png new file mode 100644 index 000000000..56af63063 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/effects.png differ diff --git a/Telegram/Resources/icons/settings/premium/effects@2x.png b/Telegram/Resources/icons/settings/premium/effects@2x.png new file mode 100644 index 000000000..5f5e4ada6 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/effects@2x.png differ diff --git a/Telegram/Resources/icons/settings/premium/effects@3x.png b/Telegram/Resources/icons/settings/premium/effects@3x.png new file mode 100644 index 000000000..30ec7d9ea Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/effects@3x.png differ diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 95559a1c7..b517e1f8d 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2195,6 +2195,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_premium_summary_about_translation" = "Real-time translation of channels and chats into other languages."; "lng_premium_summary_subtitle_business" = "Telegram Business"; "lng_premium_summary_about_business" = "Upgrade your account with business features such as location, opening hours and quick replies."; +"lng_premium_summary_subtitle_effects" = "Message Effects"; +"lng_premium_summary_about_effects" = "Add over 500 animated effects to private messages."; "lng_premium_summary_bottom_subtitle" = "About Telegram Premium"; "lng_premium_summary_bottom_about" = "While the free version of Telegram already gives its users more than any other messaging application, **Telegram Premium** pushes its capabilities even further.\n\n**Telegram Premium** is a paid option, because most Premium Features require additional expenses from Telegram to third parties such as data center providers and server manufacturers. Contributions from **Telegram Premium** users allow us to cover such costs and also help Telegram stay free for everyone."; "lng_premium_summary_button" = "Subscribe for {cost} per month"; diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.cpp b/Telegram/SourceFiles/boxes/premium_preview_box.cpp index 76a2a18b7..f163be612 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_preview_box.cpp @@ -131,6 +131,8 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_subtitle_translation(); case PremiumFeature::Business: return tr::lng_premium_summary_subtitle_business(); + case PremiumFeature::Effects: + return tr::lng_premium_summary_subtitle_effects(); case PremiumFeature::BusinessLocation: return tr::lng_business_subtitle_location(); @@ -192,6 +194,8 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_about_translation(); case PremiumFeature::Business: return tr::lng_premium_summary_about_business(); + case PremiumFeature::Effects: + return tr::lng_premium_summary_about_effects(); case PremiumFeature::BusinessLocation: return tr::lng_business_about_location(); @@ -529,6 +533,7 @@ struct VideoPreviewDocument { case PremiumFeature::Wallpapers: return "wallpapers"; case PremiumFeature::LastSeen: return "last_seen"; case PremiumFeature::MessagePrivacy: return "message_privacy"; + case PremiumFeature::Effects: return "effects"; case PremiumFeature::BusinessLocation: return "business_location"; case PremiumFeature::BusinessHours: return "business_hours"; diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.h b/Telegram/SourceFiles/boxes/premium_preview_box.h index 63b1bd1be..4dae5c30d 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.h +++ b/Telegram/SourceFiles/boxes/premium_preview_box.h @@ -70,6 +70,7 @@ enum class PremiumFeature { LastSeen, MessagePrivacy, Business, + Effects, // Business features. BusinessLocation, diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style index 5fb976285..6ffd1842a 100644 --- a/Telegram/SourceFiles/settings/settings.style +++ b/Telegram/SourceFiles/settings/settings.style @@ -95,6 +95,7 @@ settingsPremiumIconTags: icon {{ "settings/premium/tags", settingsIconFg }}; settingsPremiumIconLastSeen: icon {{ "settings/premium/lastseen", settingsIconFg }}; settingsPremiumIconPrivacy: icon {{ "settings/premium/privacy", settingsIconFg }}; settingsPremiumIconBusiness: icon {{ "settings/premium/market", settingsIconFg }}; +settingsPremiumIconEffects: icon {{ "settings/premium/effects", settingsIconFg }}; settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }}; settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }}; diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 9a003d3d2..45ef5f63d 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -197,6 +197,7 @@ using Order = std::vector; u"animated_userpics"_q, u"premium_stickers"_q, u"business"_q, + u"effects"_q, }; } @@ -377,6 +378,16 @@ using Order = std::vector; true, }, }, + { + u"effects"_q, + Entry{ + &st::settingsPremiumIconEffects, + tr::lng_premium_summary_subtitle_effects(), + tr::lng_premium_summary_about_effects(), + PremiumFeature::Effects, + true, + }, + }, }; } @@ -1601,6 +1612,8 @@ std::vector PremiumFeaturesOrder( return PremiumFeature::RealTimeTranslation; } else if (s == u"wallpapers"_q) { return PremiumFeature::Wallpapers; + } else if (s == u"effects"_q) { + return PremiumFeature::Effects; } return PremiumFeature::kCount; }) | ranges::views::filter([](PremiumFeature type) {