Add message effects promo section.

This commit is contained in:
John Preston 2024-06-29 11:29:09 +04:00
parent 374b3c68ac
commit 4cafacc8db
8 changed files with 22 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -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_about_translation" = "Real-time translation of channels and chats into other languages.";
"lng_premium_summary_subtitle_business" = "Telegram Business"; "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_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_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_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"; "lng_premium_summary_button" = "Subscribe for {cost} per month";

View file

@ -131,6 +131,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_subtitle_translation(); return tr::lng_premium_summary_subtitle_translation();
case PremiumFeature::Business: case PremiumFeature::Business:
return tr::lng_premium_summary_subtitle_business(); return tr::lng_premium_summary_subtitle_business();
case PremiumFeature::Effects:
return tr::lng_premium_summary_subtitle_effects();
case PremiumFeature::BusinessLocation: case PremiumFeature::BusinessLocation:
return tr::lng_business_subtitle_location(); return tr::lng_business_subtitle_location();
@ -192,6 +194,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_translation(); return tr::lng_premium_summary_about_translation();
case PremiumFeature::Business: case PremiumFeature::Business:
return tr::lng_premium_summary_about_business(); return tr::lng_premium_summary_about_business();
case PremiumFeature::Effects:
return tr::lng_premium_summary_about_effects();
case PremiumFeature::BusinessLocation: case PremiumFeature::BusinessLocation:
return tr::lng_business_about_location(); return tr::lng_business_about_location();
@ -529,6 +533,7 @@ struct VideoPreviewDocument {
case PremiumFeature::Wallpapers: return "wallpapers"; case PremiumFeature::Wallpapers: return "wallpapers";
case PremiumFeature::LastSeen: return "last_seen"; case PremiumFeature::LastSeen: return "last_seen";
case PremiumFeature::MessagePrivacy: return "message_privacy"; case PremiumFeature::MessagePrivacy: return "message_privacy";
case PremiumFeature::Effects: return "effects";
case PremiumFeature::BusinessLocation: return "business_location"; case PremiumFeature::BusinessLocation: return "business_location";
case PremiumFeature::BusinessHours: return "business_hours"; case PremiumFeature::BusinessHours: return "business_hours";

View file

@ -70,6 +70,7 @@ enum class PremiumFeature {
LastSeen, LastSeen,
MessagePrivacy, MessagePrivacy,
Business, Business,
Effects,
// Business features. // Business features.
BusinessLocation, BusinessLocation,

View file

@ -95,6 +95,7 @@ settingsPremiumIconTags: icon {{ "settings/premium/tags", settingsIconFg }};
settingsPremiumIconLastSeen: icon {{ "settings/premium/lastseen", settingsIconFg }}; settingsPremiumIconLastSeen: icon {{ "settings/premium/lastseen", settingsIconFg }};
settingsPremiumIconPrivacy: icon {{ "settings/premium/privacy", settingsIconFg }}; settingsPremiumIconPrivacy: icon {{ "settings/premium/privacy", settingsIconFg }};
settingsPremiumIconBusiness: icon {{ "settings/premium/market", settingsIconFg }}; settingsPremiumIconBusiness: icon {{ "settings/premium/market", settingsIconFg }};
settingsPremiumIconEffects: icon {{ "settings/premium/effects", settingsIconFg }};
settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }}; settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }};
settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }}; settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }};

View file

@ -197,6 +197,7 @@ using Order = std::vector<QString>;
u"animated_userpics"_q, u"animated_userpics"_q,
u"premium_stickers"_q, u"premium_stickers"_q,
u"business"_q, u"business"_q,
u"effects"_q,
}; };
} }
@ -377,6 +378,16 @@ using Order = std::vector<QString>;
true, 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<PremiumFeature> PremiumFeaturesOrder(
return PremiumFeature::RealTimeTranslation; return PremiumFeature::RealTimeTranslation;
} else if (s == u"wallpapers"_q) { } else if (s == u"wallpapers"_q) {
return PremiumFeature::Wallpapers; return PremiumFeature::Wallpapers;
} else if (s == u"effects"_q) {
return PremiumFeature::Effects;
} }
return PremiumFeature::kCount; return PremiumFeature::kCount;
}) | ranges::views::filter([](PremiumFeature type) { }) | ranges::views::filter([](PremiumFeature type) {