Version 5.10: Show folder tags premium promo.

This commit is contained in:
John Preston 2025-01-02 11:25:08 +04:00
parent 5b6bec775b
commit c34289036f
2 changed files with 35 additions and 14 deletions

View file

@ -133,8 +133,6 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_subtitle_business(); return tr::lng_premium_summary_subtitle_business();
case PremiumFeature::Effects: case PremiumFeature::Effects:
return tr::lng_premium_summary_subtitle_effects(); return tr::lng_premium_summary_subtitle_effects();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_subtitle_filter_tags();
case PremiumFeature::BusinessLocation: case PremiumFeature::BusinessLocation:
return tr::lng_business_subtitle_location(); return tr::lng_business_subtitle_location();
@ -152,6 +150,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_business_subtitle_chat_intro(); return tr::lng_business_subtitle_chat_intro();
case PremiumFeature::ChatLinks: case PremiumFeature::ChatLinks:
return tr::lng_business_subtitle_chat_links(); return tr::lng_business_subtitle_chat_links();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_subtitle_filter_tags();
} }
Unexpected("PremiumFeature in SectionTitle."); Unexpected("PremiumFeature in SectionTitle.");
} }
@ -198,8 +198,6 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_business(); return tr::lng_premium_summary_about_business();
case PremiumFeature::Effects: case PremiumFeature::Effects:
return tr::lng_premium_summary_about_effects(); return tr::lng_premium_summary_about_effects();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_about_filter_tags();
case PremiumFeature::BusinessLocation: case PremiumFeature::BusinessLocation:
return tr::lng_business_about_location(); return tr::lng_business_about_location();
@ -217,6 +215,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_business_about_chat_intro(); return tr::lng_business_about_chat_intro();
case PremiumFeature::ChatLinks: case PremiumFeature::ChatLinks:
return tr::lng_business_about_chat_links(); return tr::lng_business_about_chat_links();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_about_filter_tags();
} }
Unexpected("PremiumFeature in SectionTitle."); Unexpected("PremiumFeature in SectionTitle.");
} }
@ -538,7 +538,6 @@ struct VideoPreviewDocument {
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::Effects: return "effects";
case PremiumFeature::FilterTags: return "folder_tags";
case PremiumFeature::BusinessLocation: return "business_location"; case PremiumFeature::BusinessLocation: return "business_location";
case PremiumFeature::BusinessHours: return "business_hours"; case PremiumFeature::BusinessHours: return "business_hours";
@ -548,6 +547,7 @@ struct VideoPreviewDocument {
case PremiumFeature::BusinessBots: return "business_bots"; case PremiumFeature::BusinessBots: return "business_bots";
case PremiumFeature::ChatIntro: return "business_intro"; case PremiumFeature::ChatIntro: return "business_intro";
case PremiumFeature::ChatLinks: return "business_links"; case PremiumFeature::ChatLinks: return "business_links";
case PremiumFeature::FilterTags: return "folder_tags";
} }
return ""; return "";
}(); }();
@ -1647,6 +1647,11 @@ void TelegramBusinessPreviewBox(
tr::lng_business_about_chat_links, tr::lng_business_about_chat_links,
st::settingsBusinessPromoChatLinks); st::settingsBusinessPromoChatLinks);
break; break;
case PremiumFeature::FilterTags: push(
tr::lng_premium_summary_subtitle_filter_tags,
tr::lng_premium_summary_about_filter_tags,
st::settingsPremiumIconTags);
break;
} }
} }

View file

@ -76,9 +76,10 @@ using Order = std::vector<QString>;
u"quick_replies"_q, u"quick_replies"_q,
u"business_hours"_q, u"business_hours"_q,
u"business_location"_q, u"business_location"_q,
u"business_bots"_q,
u"business_intro"_q,
u"business_links"_q, u"business_links"_q,
u"business_intro"_q,
u"business_bots"_q,
u"folder_tags"_q,
}; };
} }
@ -136,7 +137,6 @@ using Order = std::vector<QString>;
tr::lng_business_subtitle_chatbots(), tr::lng_business_subtitle_chatbots(),
tr::lng_business_about_chatbots(), tr::lng_business_about_chatbots(),
PremiumFeature::BusinessBots, PremiumFeature::BusinessBots,
true
}, },
}, },
{ {
@ -146,7 +146,6 @@ using Order = std::vector<QString>;
tr::lng_business_subtitle_chat_intro(), tr::lng_business_subtitle_chat_intro(),
tr::lng_business_about_chat_intro(), tr::lng_business_about_chat_intro(),
PremiumFeature::ChatIntro, PremiumFeature::ChatIntro,
true
}, },
}, },
{ {
@ -156,7 +155,16 @@ using Order = std::vector<QString>;
tr::lng_business_subtitle_chat_links(), tr::lng_business_subtitle_chat_links(),
tr::lng_business_about_chat_links(), tr::lng_business_about_chat_links(),
PremiumFeature::ChatLinks, PremiumFeature::ChatLinks,
true },
},
{
u"folder_tags"_q,
Entry{
&st::settingsPremiumIconTags,
tr::lng_premium_summary_subtitle_filter_tags(),
tr::lng_premium_summary_about_filter_tags(),
PremiumFeature::FilterTags,
true,
}, },
}, },
}; };
@ -402,6 +410,10 @@ void Business::setupContent() {
Ui::AddSkip(content, st::settingsFromFileTop); Ui::AddSkip(content, st::settingsFromFileTop);
const auto showFeature = [=](PremiumFeature feature) { const auto showFeature = [=](PremiumFeature feature) {
if (feature == PremiumFeature::FilterTags) {
ShowPremiumPreviewToBuy(_controller, feature);
return;
}
showOther([&] { showOther([&] {
switch (feature) { switch (feature) {
case PremiumFeature::AwayMessage: return AwayMessageId(); case PremiumFeature::AwayMessage: return AwayMessageId();
@ -437,6 +449,8 @@ void Business::setupContent() {
return owner->session().user()->isFullLoaded(); return owner->session().user()->isFullLoaded();
case PremiumFeature::ChatLinks: case PremiumFeature::ChatLinks:
return owner->session().api().chatLinks().loaded(); return owner->session().api().chatLinks().loaded();
case PremiumFeature::FilterTags:
return true;
} }
Unexpected("Feature in isReady."); Unexpected("Feature in isReady.");
}; };
@ -791,12 +805,14 @@ std::vector<PremiumFeature> BusinessFeaturesOrder(
return PremiumFeature::BusinessHours; return PremiumFeature::BusinessHours;
} else if (s == u"business_location"_q) { } else if (s == u"business_location"_q) {
return PremiumFeature::BusinessLocation; return PremiumFeature::BusinessLocation;
} else if (s == u"business_bots"_q) { } else if (s == u"business_links"_q) {
return PremiumFeature::BusinessBots; return PremiumFeature::ChatLinks;
} else if (s == u"business_intro"_q) { } else if (s == u"business_intro"_q) {
return PremiumFeature::ChatIntro; return PremiumFeature::ChatIntro;
} else if (s == "business_links"_q) { } else if (s == u"business_bots"_q) {
return PremiumFeature::ChatLinks; return PremiumFeature::BusinessBots;
} else if (s == u"folder_tags"_q) {
return PremiumFeature::FilterTags;
} }
return PremiumFeature::kCount; return PremiumFeature::kCount;
}) | ranges::views::filter([](PremiumFeature feature) { }) | ranges::views::filter([](PremiumFeature feature) {