Sort/Filter channel gifts by non-admins.

This commit is contained in:
John Preston 2025-01-31 12:54:40 +04:00
parent 33ca5ee39f
commit 1869071ef7
2 changed files with 20 additions and 19 deletions

View file

@ -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();
}
}

View file

@ -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<QString> Widget::title() {