New premium promo section about tags.

This commit is contained in:
John Preston 2024-01-26 17:19:28 +04:00
parent 87df90227e
commit f324c53440
9 changed files with 24 additions and 7 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -2026,6 +2026,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_premium_summary_about_emoji_status" = "Add any of thousands emoji next to your name to display current activity.";
"lng_premium_summary_subtitle_infinite_reactions" = "Infinite Reactions";
"lng_premium_summary_about_infinite_reactions" = "React with thousands of emoji — with multiple reactions per message.";
"lng_premium_summary_subtitle_tags_for_messages" = "Tags for Messages";
"lng_premium_summary_about_tags_for_messages" = "Organize your Saved Messages with tags for quicker access.";
"lng_premium_summary_subtitle_premium_stickers" = "Premium Stickers";
"lng_premium_summary_about_premium_stickers" = "Exclusive enlarged stickers featuring additional effects, updated monthly.";
"lng_premium_summary_subtitle_animated_emoji" = "Animated Emoji";

View file

@ -110,6 +110,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_subtitle_emoji_status();
case PremiumPreview::InfiniteReactions:
return tr::lng_premium_summary_subtitle_infinite_reactions();
case PremiumPreview::TagsForMessages:
return tr::lng_premium_summary_subtitle_tags_for_messages();
case PremiumPreview::Stickers:
return tr::lng_premium_summary_subtitle_premium_stickers();
case PremiumPreview::AnimatedEmoji:
@ -146,6 +148,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_emoji_status();
case PremiumPreview::InfiniteReactions:
return tr::lng_premium_summary_about_infinite_reactions();
case PremiumPreview::TagsForMessages:
return tr::lng_premium_summary_about_tags_for_messages();
case PremiumPreview::Stickers:
return tr::lng_premium_summary_about_premium_stickers();
case PremiumPreview::AnimatedEmoji:
@ -471,6 +475,7 @@ struct VideoPreviewDocument {
return "advanced_chat_management";
case PremiumPreview::EmojiStatus: return "emoji_status";
case PremiumPreview::InfiniteReactions: return "infinite_reactions";
case PremiumPreview::TagsForMessages: return "saved_tags";
case PremiumPreview::ProfileBadge: return "profile_badge";
case PremiumPreview::AnimatedUserpics: return "animated_userpics";
case PremiumPreview::RealTimeTranslation: return "translations";

View file

@ -61,6 +61,7 @@ enum class PremiumPreview {
AnimatedUserpics,
RealTimeTranslation,
Wallpapers,
TagsForMessages,
kCount,
};

View file

@ -91,6 +91,7 @@ settingsPremiumIconStar: icon {{ "settings/premium/star", settingsIconFg }};
settingsPremiumIconVoice: icon {{ "settings/premium/voice", settingsIconFg }};
settingsPremiumIconFiles: icon {{ "settings/premium/files", settingsIconFg }};
settingsPremiumIconTranslations: icon {{ "settings/premium/translations", settingsIconFg }};
settingsPremiumIconTags: icon {{ "settings/premium/tags", settingsIconFg }};
settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }};
settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }};

View file

@ -185,6 +185,7 @@ using Order = std::vector<QString>;
u"voice_to_text"_q,
u"no_ads"_q,
u"emoji_status"_q,
u"saved_tags"_q,
u"infinite_reactions"_q,
u"premium_stickers"_q,
u"animated_emoji"_q,
@ -197,6 +198,16 @@ using Order = std::vector<QString>;
[[nodiscard]] base::flat_map<QString, Entry> EntryMap() {
return base::flat_map<QString, Entry>{
{
u"saved_tags"_q,
Entry{
&st::settingsPremiumIconTags,
tr::lng_premium_summary_subtitle_tags_for_messages(),
tr::lng_premium_summary_about_tags_for_messages(),
PremiumPreview::TagsForMessages,
true,
},
},
{
u"wallpapers"_q,
Entry{
@ -204,7 +215,6 @@ using Order = std::vector<QString>;
tr::lng_premium_summary_subtitle_wallpapers(),
tr::lng_premium_summary_about_wallpapers(),
PremiumPreview::Wallpapers,
true,
},
},
{
@ -1510,6 +1520,8 @@ not_null<Ui::GradientButton*> CreateSubscribeButton(
return PremiumPreview::EmojiStatus;
} else if (s == u"infinite_reactions"_q) {
return PremiumPreview::InfiniteReactions;
} else if (s == u"saved_tags"_q) {
return PremiumPreview::TagsForMessages;
} else if (s == u"premium_stickers"_q) {
return PremiumPreview::Stickers;
} else if (s == u"animated_emoji"_q) {

View file

@ -530,12 +530,8 @@ bool ShowReactPremiumError(
|| item->history()->peer->isBroadcast()) {
return false;
} else if (item->reactionsAreTags()) {
const auto &list = controller->session().data().reactions().list(
Data::Reactions::Type::Tags);
const auto i = ranges::find(list, id, &Data::Reaction::id);
if (i != end(list)) {
return false;
}
ShowPremiumPreviewBox(controller, PremiumPreview::TagsForMessages);
return true;
} else if (!id.custom()) {
return false;
}