Added ability to hide every sponsored message to premium users.
This commit is contained in:
parent
f6b849e4f7
commit
3b6870396c
|
@ -161,7 +161,13 @@ void FillSponsoredMessagesMenu(
|
||||||
menu->addSeparator(&st::expandedMenuSeparator);
|
menu->addSeparator(&st::expandedMenuSeparator);
|
||||||
}
|
}
|
||||||
menu->addAction(tr::lng_sponsored_hide_ads(tr::now), [=] {
|
menu->addAction(tr::lng_sponsored_hide_ads(tr::now), [=] {
|
||||||
|
if (controller->session().premium()) {
|
||||||
|
using Result = Data::SponsoredReportResult;
|
||||||
|
controller->session().sponsoredMessages().createReportCallback(
|
||||||
|
itemId)(Result::Id("-1"), [](const auto &) {});
|
||||||
|
} else {
|
||||||
ShowPremiumPreviewBox(controller, PremiumFeature::NoAds);
|
ShowPremiumPreviewBox(controller, PremiumFeature::NoAds);
|
||||||
|
}
|
||||||
}, &st::menuIconCancel);
|
}, &st::menuIconCancel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "api/api_text_entities.h"
|
#include "api/api_text_entities.h"
|
||||||
#include "boxes/premium_preview_box.h"
|
#include "boxes/premium_preview_box.h"
|
||||||
#include "calls/calls_instance.h"
|
#include "calls/calls_instance.h"
|
||||||
|
#include "data/components/sponsored_messages.h"
|
||||||
#include "data/stickers/data_custom_emoji.h"
|
#include "data/stickers/data_custom_emoji.h"
|
||||||
#include "data/notify/data_notify_settings.h"
|
#include "data/notify/data_notify_settings.h"
|
||||||
#include "data/data_channel.h"
|
#include "data/data_channel.h"
|
||||||
|
@ -363,8 +364,15 @@ ClickHandlerPtr HideSponsoredClickHandler() {
|
||||||
return std::make_shared<LambdaClickHandler>([=](ClickContext context) {
|
return std::make_shared<LambdaClickHandler>([=](ClickContext context) {
|
||||||
const auto my = context.other.value<ClickHandlerContext>();
|
const auto my = context.other.value<ClickHandlerContext>();
|
||||||
if (const auto controller = my.sessionWindow.get()) {
|
if (const auto controller = my.sessionWindow.get()) {
|
||||||
|
const auto &session = controller->session();
|
||||||
|
if (session.premium()) {
|
||||||
|
using Result = Data::SponsoredReportResult;
|
||||||
|
session.sponsoredMessages().createReportCallback(
|
||||||
|
my.itemId)(Result::Id("-1"), [](const auto &) {});
|
||||||
|
} else {
|
||||||
ShowPremiumPreviewBox(controller, PremiumFeature::NoAds);
|
ShowPremiumPreviewBox(controller, PremiumFeature::NoAds);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue