From 1869071ef7d644e5f9018b0af3c96be349282c59 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 31 Jan 2025 12:54:40 +0400 Subject: [PATCH] Sort/Filter channel gifts by non-admins. --- .../SourceFiles/info/info_wrap_widget.cpp | 3 +- .../peer_gifts/info_peer_gifts_widget.cpp | 36 ++++++++++--------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Telegram/SourceFiles/info/info_wrap_widget.cpp b/Telegram/SourceFiles/info/info_wrap_widget.cpp index 3e86ccb36..57fc7a478 100644 --- a/Telegram/SourceFiles/info/info_wrap_widget.cpp +++ b/Telegram/SourceFiles/info/info_wrap_widget.cpp @@ -446,8 +446,7 @@ void WrapWidget::setupTopBarMenuToggle() { }, _topBar->lifetime()); } else if (section.type() == Section::Type::PeerGifts && key.peer() - && key.peer()->isChannel() - && key.peer()->canManageGifts()) { + && key.peer()->isChannel()) { addTopBarMenuButton(); } } diff --git a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp index 3058bfd0b..f1d81e37c 100644 --- a/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp +++ b/Telegram/SourceFiles/info/peer_gifts/info_peer_gifts_widget.cpp @@ -630,24 +630,26 @@ void Widget::fillTopBarMenu(const Ui::Menu::MenuCallback &addAction) { }); }, filter.skipUnique ? nullptr : &st::mediaPlayerMenuCheck); - addAction({ .isSeparator = true }); + if (_inner->peer()->canManageGifts()) { + addAction({ .isSeparator = true }); - addAction(tr::lng_peer_gifts_filter_saved(tr::now), [=] { - change([](Filter &filter) { - filter.skipSaved = !filter.skipSaved; - if (filter.skipSaved && filter.skipUnsaved) { - filter.skipUnsaved = false; - } - }); - }, filter.skipSaved ? nullptr : &st::mediaPlayerMenuCheck); - addAction(tr::lng_peer_gifts_filter_unsaved(tr::now), [=] { - change([](Filter &filter) { - filter.skipUnsaved = !filter.skipUnsaved; - if (filter.skipSaved && filter.skipUnsaved) { - filter.skipSaved = false; - } - }); - }, filter.skipUnsaved ? nullptr : &st::mediaPlayerMenuCheck); + addAction(tr::lng_peer_gifts_filter_saved(tr::now), [=] { + change([](Filter &filter) { + filter.skipSaved = !filter.skipSaved; + if (filter.skipSaved && filter.skipUnsaved) { + filter.skipUnsaved = false; + } + }); + }, filter.skipSaved ? nullptr : &st::mediaPlayerMenuCheck); + addAction(tr::lng_peer_gifts_filter_unsaved(tr::now), [=] { + change([](Filter &filter) { + filter.skipUnsaved = !filter.skipUnsaved; + if (filter.skipSaved && filter.skipUnsaved) { + filter.skipSaved = false; + } + }); + }, filter.skipUnsaved ? nullptr : &st::mediaPlayerMenuCheck); + } } rpl::producer Widget::title() {