diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 7213b68100..0e48bbe3ad 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -992,7 +992,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_settings_color_emoji_off" = "Off"; "lng_settings_color_emoji_about" = "Make replies to your messages stand out by adding custom patterns to them."; "lng_settings_color_emoji_about_channel" = "Select an icon to create a custom pattern for replies to your messages."; -"lng_settings_color_subscribe" = "Subscribe to {link} to choose a custom color for your name."; "lng_settings_color_changed" = "Your name color has been updated!"; "lng_settings_color_changed_channel" = "Your channel color has been updated!"; "lng_settings_color_changed_profile" = "Your profile style has been updated!"; @@ -2769,6 +2768,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_premium_summary_about_filter_tags" = "Display folder names for each chat in the chat list."; "lng_premium_summary_subtitle_todo_lists" = "Checklists"; "lng_premium_summary_about_todo_lists" = "Plan, assign, and complete tasks - seamlessly and efficiently."; +"lng_premium_summary_subtitle_peer_colors" = "Name and Profile Colors"; +"lng_premium_summary_about_peer_colors" = "Choose a color and logo for your profile and replies to your 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/peers/edit_peer_color_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_color_box.cpp index 8d323311d6..d7e11b4738 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_color_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_color_box.cpp @@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/unixtime.h" #include "boxes/peers/replace_boost_box.h" #include "boxes/background_box.h" +#include "boxes/premium_preview_box.h" #include "boxes/star_gift_box.h" #include "boxes/stickers_box.h" #include "boxes/transfer_gift_box.h" @@ -525,23 +526,17 @@ void Set( } } -bool ShowPremiumToast( +bool ShowPremiumPreview( std::shared_ptr show, not_null peer) { if (!peer->isSelf() || show->session().premium()) { return false; } - Settings::ShowPremiumPromoToast( - show, - tr::lng_settings_color_subscribe( - tr::now, - lt_link, - Ui::Text::Link( - Ui::Text::Bold( - tr::lng_send_as_premium_required_link(tr::now))), - Ui::Text::WithEntities), - u"name_color"_q); - return true; + if (const auto controller = show->resolveWindow()) { + ShowPremiumPreviewBox(controller, PremiumFeature::PeerColors); + return true; + } + return false; } void Apply( @@ -1941,7 +1936,7 @@ void EditPeerColorSection( button->setClickedCallback([=] { if (state->applying) { return; - } else if (ShowPremiumToast(show, peer)) { + } else if (ShowPremiumPreview(show, peer)) { return; } const auto values = SetValues{ @@ -2204,7 +2199,7 @@ void EditPeerProfileColorSection( button->setClickedCallback([=] { if (profileState->applying) { return; - } else if (ShowPremiumToast(show, peer)) { + } else if (ShowPremiumPreview(show, peer)) { return; } const auto values = SetValues{ diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.cpp b/Telegram/SourceFiles/boxes/premium_preview_box.cpp index 53fa77aee0..32aacc4236 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_preview_box.cpp @@ -135,6 +135,8 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_subtitle_effects(); case PremiumFeature::TodoLists: return tr::lng_premium_summary_subtitle_todo_lists(); + case PremiumFeature::PeerColors: + return tr::lng_premium_summary_subtitle_peer_colors(); case PremiumFeature::BusinessLocation: return tr::lng_business_subtitle_location(); @@ -202,6 +204,8 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_about_effects(); case PremiumFeature::TodoLists: return tr::lng_premium_summary_about_todo_lists(); + case PremiumFeature::PeerColors: + return tr::lng_premium_summary_about_peer_colors(); case PremiumFeature::BusinessLocation: return tr::lng_business_about_location(); @@ -543,6 +547,7 @@ struct VideoPreviewDocument { case PremiumFeature::MessagePrivacy: return "message_privacy"; case PremiumFeature::Effects: return "effects"; case PremiumFeature::TodoLists: return "todo"; + case PremiumFeature::PeerColors: return "peer_colors"; 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 9ac7d04ac2..a68822c64c 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.h +++ b/Telegram/SourceFiles/boxes/premium_preview_box.h @@ -73,6 +73,7 @@ enum class PremiumFeature { Effects, FilterTags, TodoLists, + PeerColors, // Business features. BusinessLocation,