From f324c53440642c76461edbe3c8180ee15d2d3c63 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 26 Jan 2024 17:19:28 +0400 Subject: [PATCH] New premium promo section about tags. --- .../Resources/icons/settings/premium/tags.png | Bin 0 -> 390 bytes .../Resources/icons/settings/premium/tags@2x.png | Bin 0 -> 685 bytes .../Resources/icons/settings/premium/tags@3x.png | Bin 0 -> 1063 bytes Telegram/Resources/langs/lang.strings | 2 ++ .../SourceFiles/boxes/premium_preview_box.cpp | 5 +++++ Telegram/SourceFiles/boxes/premium_preview_box.h | 1 + Telegram/SourceFiles/settings/settings.style | 1 + .../SourceFiles/settings/settings_premium.cpp | 14 +++++++++++++- Telegram/SourceFiles/window/section_widget.cpp | 8 ++------ 9 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 Telegram/Resources/icons/settings/premium/tags.png create mode 100644 Telegram/Resources/icons/settings/premium/tags@2x.png create mode 100644 Telegram/Resources/icons/settings/premium/tags@3x.png diff --git a/Telegram/Resources/icons/settings/premium/tags.png b/Telegram/Resources/icons/settings/premium/tags.png new file mode 100644 index 0000000000000000000000000000000000000000..77e9f63a1b24ab1046eed539cc6d894c00a60a18 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1SIoCSFHz9jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uv49!D1}S`GTDlfUeeiT~46zV= zJJFEOB|xC zalOeaAarKN*8_)4e05&dq(5`mq;vW34sB1NX)+q;i|;J{yhuZX`H#rP>1$c-Jpvaj z&y2eN{q})GqrSzfR;epw>|SSm{<9)e*Xd0beZ_u>eFi-IkpVr6UIcS}W_2|172YTA zVe!D4t2lbv*0nvKOgh%Vfd9MUVQXLW(Oz?JYD@< J);T3K0RWW`i!lHI literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/settings/premium/tags@2x.png b/Telegram/Resources/icons/settings/premium/tags@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..183760ba79acad35d583baedc29ba951b8e321e4 GIT binary patch literal 685 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1SD@H+jcWz5RC6 z%{R*Vded*e|Gwsy^#q2i$%d)?B7f`V-*n)ccKYf1`JpRAo+uPEhwPbE_g2xgjr~g2 z))`77jsgCLZijx<*s;#lo9@t^@yn%XWeC^FNx>GnY8o z-Msss?yXq)rNZX%#|YocC01Xn_GaBEKRVY>z1WVo-Ff=yuj|%XtUsHUz5RB-U8$Aq zv-zfT+|RGMn4u%WW$;~XvZvjA^O-(Xo4EBJHWWBmD9HS1=Br`8wJDW>eZe7aP*U-9 L^>bP0l+XkK1yURd literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/settings/premium/tags@3x.png b/Telegram/Resources/icons/settings/premium/tags@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5e12899398b472488da06b6ca81321c914156f GIT binary patch literal 1063 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1SD_us|Wxo#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz1|Sip>6gA`6MbbAj}KGD;~F(iZa zZKSQYwxft?px{U4E~$=1ZUV_JN7QQnIoz6{HMQ03AMlakXHE--8A zHRO8gR+A2|zRi62)TvX44>v0|r#J)$2dfC3Oxt|lYXAB3=Z_vedhcG`-a~oY zt1Bxd4P=|%PoFM6#X-@Q?dNmBT&<~>gqPUz-@SbK@{Y+-f|haV3cEL^yq1E++&$W2UijP`#aF-@yDbd8a{{rXckUc6W_LHK0?$Aaq3mlr;M z{J3NT*OCbguWZ8N(<4Knb!v^Ke+$;inW=A#gF<}M{O1dwxd%U z4Ev8er-X1#&gbD~UE0<8q(t(H`^Eqbfo$#8L_^Of%cZJoYE+E0T5av^g@3L**4Nk9 z(c_gEu~_IQYutBpbMv!j&$`5kZdkv5{kCn}wr@A*vi#atTT_$J?V1?Ue)Gl+gxpVjK(a%8(lOAn&_byMzjd!UB%Ywa+zgBgA@;L|$B$ZcYOJ>cOVW1kG zQD7ovDx$(F(0{zOWhU$5%Po za$5%v%XC*S-SblW)#m;C|Nr@Or)T@=)85@BVRcoZ5KRM#@ zx36FSrffM^zx?vf{rmN+?(^~S#pq2hjhPbG6#MPjGqtzq zYG~K?uU|{Q%vif@{~Wp9cjdZ|o~k~)eYX64meYn&uWntrGG*TOn>Qo9Jw?TuZTqW`o+~`@NDf+^2W$wCwf^6XWSqEo7R*pnia}08SlP@ArT|*ZSe+ TQ&YV4K$+Cj)z4*}Q$iB})c@Tc literal 0 HcmV?d00001 diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index b980101e3..64c1f7786 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -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"; diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.cpp b/Telegram/SourceFiles/boxes/premium_preview_box.cpp index 06835d603..8baf8a535 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_preview_box.cpp @@ -110,6 +110,8 @@ void PreloadSticker(const std::shared_ptr &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 &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"; diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.h b/Telegram/SourceFiles/boxes/premium_preview_box.h index 60c5699ca..ba6dae46b 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.h +++ b/Telegram/SourceFiles/boxes/premium_preview_box.h @@ -61,6 +61,7 @@ enum class PremiumPreview { AnimatedUserpics, RealTimeTranslation, Wallpapers, + TagsForMessages, kCount, }; diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style index bcf80c232..d61f61738 100644 --- a/Telegram/SourceFiles/settings/settings.style +++ b/Telegram/SourceFiles/settings/settings.style @@ -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 }}; diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 646829d59..337f413ac 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -185,6 +185,7 @@ using Order = std::vector; 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; [[nodiscard]] base::flat_map EntryMap() { return base::flat_map{ + { + 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; tr::lng_premium_summary_subtitle_wallpapers(), tr::lng_premium_summary_about_wallpapers(), PremiumPreview::Wallpapers, - true, }, }, { @@ -1510,6 +1520,8 @@ not_null 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) { diff --git a/Telegram/SourceFiles/window/section_widget.cpp b/Telegram/SourceFiles/window/section_widget.cpp index f9b2a5a39..2600fae5a 100644 --- a/Telegram/SourceFiles/window/section_widget.cpp +++ b/Telegram/SourceFiles/window/section_widget.cpp @@ -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; }