2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-05 00:46:08 +00:00

Support channel link / channel join.

This commit is contained in:
John Preston
2023-12-04 23:06:44 +04:00
parent f508ad5e75
commit 51d5b7bab6
12 changed files with 520 additions and 180 deletions

View File

@@ -3515,6 +3515,34 @@ void Session::webpageApplyFields(
for (const auto &document : page->data().vdocuments().v) {
processDocument(document);
}
const auto process = [&](
const MTPPageBlock &block,
const auto &self) -> void {
block.match([&](const MTPDpageBlockChannel &data) {
processChat(data.vchannel());
}, [&](const MTPDpageBlockCover &data) {
self(data.vcover(), self);
}, [&](const MTPDpageBlockEmbedPost &data) {
for (const auto &block : data.vblocks().v) {
self(block, self);
}
}, [&](const MTPDpageBlockCollage &data) {
for (const auto &block : data.vitems().v) {
self(block, self);
}
}, [&](const MTPDpageBlockSlideshow &data) {
for (const auto &block : data.vitems().v) {
self(block, self);
}
}, [&](const MTPDpageBlockDetails &data) {
for (const auto &block : data.vblocks().v) {
self(block, self);
}
}, [](const auto &) {});
};
for (const auto &block : page->data().vblocks().v) {
process(block, process);
}
}
webpageApplyFields(
page,