Add view channel button to monoforum info.

This commit is contained in:
John Preston 2025-06-05 14:09:03 +04:00
parent 65cfd6c81c
commit 9a622ab466

View file

@ -1044,6 +1044,9 @@ private:
void addShowTopicsListButton( void addShowTopicsListButton(
Ui::MultiSlideTracker &tracker, Ui::MultiSlideTracker &tracker,
not_null<Data::Forum*> forum); not_null<Data::Forum*> forum);
void addViewChannelButton(
Ui::MultiSlideTracker &tracker,
not_null<ChannelData*> channel);
void addReportReaction(Ui::MultiSlideTracker &tracker); void addReportReaction(Ui::MultiSlideTracker &tracker);
void addReportReaction( void addReportReaction(
@ -2182,9 +2185,16 @@ Ui::MultiSlideTracker DetailsFiller::fillUserButtons(
Ui::MultiSlideTracker DetailsFiller::fillChannelButtons( Ui::MultiSlideTracker DetailsFiller::fillChannelButtons(
not_null<ChannelData*> channel) { not_null<ChannelData*> channel) {
Ui::MultiSlideTracker tracker;
addViewChannelButton(tracker, channel);
return tracker;
}
void DetailsFiller::addViewChannelButton(
Ui::MultiSlideTracker &tracker,
not_null<ChannelData*> channel) {
using namespace rpl::mappers; using namespace rpl::mappers;
Ui::MultiSlideTracker tracker;
auto window = _controller->parentController(); auto window = _controller->parentController();
auto activePeerValue = window->activeChatValue( auto activePeerValue = window->activeChatValue(
) | rpl::map([](Dialogs::Key key) { ) | rpl::map([](Dialogs::Key key) {
@ -2205,8 +2215,6 @@ Ui::MultiSlideTracker DetailsFiller::fillChannelButtons(
std::move(viewChannelVisible), std::move(viewChannelVisible),
std::move(viewChannel), std::move(viewChannel),
tracker); tracker);
return tracker;
} }
Ui::MultiSlideTracker DetailsFiller::fillDiscussionButtons( Ui::MultiSlideTracker DetailsFiller::fillDiscussionButtons(
@ -2238,6 +2246,8 @@ Ui::MultiSlideTracker DetailsFiller::fillDiscussionButtons(
if (channel->useSubsectionTabs()) { if (channel->useSubsectionTabs()) {
addShowTopicsListButton(tracker, forum); addShowTopicsListButton(tracker, forum);
} }
} else if (const auto broadcast = channel->monoforumBroadcast()) {
addViewChannelButton(tracker, broadcast);
} }
return tracker; return tracker;