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();
case PremiumFeature::Effects:
return tr::lng_premium_summary_subtitle_effects();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_subtitle_filter_tags();
case PremiumFeature::BusinessLocation:
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();
case PremiumFeature::ChatLinks:
return tr::lng_business_subtitle_chat_links();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_subtitle_filter_tags();
}
Unexpected("PremiumFeature in SectionTitle.");
}
@ -198,8 +198,6 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_business();
case PremiumFeature::Effects:
return tr::lng_premium_summary_about_effects();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_about_filter_tags();
case PremiumFeature::BusinessLocation:
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();
case PremiumFeature::ChatLinks:
return tr::lng_business_about_chat_links();
case PremiumFeature::FilterTags:
return tr::lng_premium_summary_about_filter_tags();
}
Unexpected("PremiumFeature in SectionTitle.");
}
@ -538,7 +538,6 @@ struct VideoPreviewDocument {
case PremiumFeature::LastSeen: return "last_seen";
case PremiumFeature::MessagePrivacy: return "message_privacy";
case PremiumFeature::Effects: return "effects";
case PremiumFeature::FilterTags: return "folder_tags";
case PremiumFeature::BusinessLocation: return "business_location";
case PremiumFeature::BusinessHours: return "business_hours";
@ -548,6 +547,7 @@ struct VideoPreviewDocument {
case PremiumFeature::BusinessBots: return "business_bots";
case PremiumFeature::ChatIntro: return "business_intro";
case PremiumFeature::ChatLinks: return "business_links";
case PremiumFeature::FilterTags: return "folder_tags";
}
return "";
}();
@ -1647,6 +1647,11 @@ void TelegramBusinessPreviewBox(
tr::lng_business_about_chat_links,
st::settingsBusinessPromoChatLinks);
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"business_hours"_q,
u"business_location"_q,
u"business_bots"_q,
u"business_intro"_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_about_chatbots(),
PremiumFeature::BusinessBots,
true
},
},
{
@ -146,7 +146,6 @@ using Order = std::vector<QString>;
tr::lng_business_subtitle_chat_intro(),
tr::lng_business_about_chat_intro(),
PremiumFeature::ChatIntro,
true
},
},
{
@ -156,7 +155,16 @@ using Order = std::vector<QString>;
tr::lng_business_subtitle_chat_links(),
tr::lng_business_about_chat_links(),
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);
const auto showFeature = [=](PremiumFeature feature) {
if (feature == PremiumFeature::FilterTags) {
ShowPremiumPreviewToBuy(_controller, feature);
return;
}
showOther([&] {
switch (feature) {
case PremiumFeature::AwayMessage: return AwayMessageId();
@ -437,6 +449,8 @@ void Business::setupContent() {
return owner->session().user()->isFullLoaded();
case PremiumFeature::ChatLinks:
return owner->session().api().chatLinks().loaded();
case PremiumFeature::FilterTags:
return true;
}
Unexpected("Feature in isReady.");
};
@ -791,12 +805,14 @@ std::vector<PremiumFeature> BusinessFeaturesOrder(
return PremiumFeature::BusinessHours;
} else if (s == u"business_location"_q) {
return PremiumFeature::BusinessLocation;
} else if (s == u"business_bots"_q) {
return PremiumFeature::BusinessBots;
} else if (s == u"business_links"_q) {
return PremiumFeature::ChatLinks;
} else if (s == u"business_intro"_q) {
return PremiumFeature::ChatIntro;
} else if (s == "business_links"_q) {
return PremiumFeature::ChatLinks;
} else if (s == u"business_bots"_q) {
return PremiumFeature::BusinessBots;
} else if (s == u"folder_tags"_q) {
return PremiumFeature::FilterTags;
}
return PremiumFeature::kCount;
}) | ranges::views::filter([](PremiumFeature feature) {