mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-15 21:57:10 +02:00
Show joined list on permanent link "N joined" click.
This commit is contained in:
parent
e4ac810773
commit
81ff4d7497
2 changed files with 20 additions and 3 deletions
|
@ -884,6 +884,9 @@ void AddPermanentLinkBlock(
|
|||
const auto value = container->lifetime().make_state<
|
||||
rpl::variable<LinkData>
|
||||
>();
|
||||
const auto currentLinkFields = container->lifetime().make_state<
|
||||
Api::InviteLink
|
||||
>(Api::InviteLink{ .admin = admin });
|
||||
if (admin->isSelf()) {
|
||||
*value = peer->session().changes().peerFlagsValue(
|
||||
peer,
|
||||
|
@ -892,11 +895,19 @@ void AddPermanentLinkBlock(
|
|||
const auto &links = peer->session().api().inviteLinks().myLinks(
|
||||
peer).links;
|
||||
const auto link = links.empty() ? nullptr : &links.front();
|
||||
return (link && link->permanent && !link->revoked)
|
||||
? LinkData{ link->link, link->usage }
|
||||
: LinkData();
|
||||
if (link && link->permanent && !link->revoked) {
|
||||
*currentLinkFields = *link;
|
||||
return LinkData{ link->link, link->usage };
|
||||
}
|
||||
return LinkData();
|
||||
});
|
||||
} else {
|
||||
rpl::duplicate(
|
||||
fromList
|
||||
) | rpl::start_with_next([=](const Api::InviteLink &link) {
|
||||
*currentLinkFields = link;
|
||||
}, container->lifetime());
|
||||
|
||||
*value = std::move(
|
||||
fromList
|
||||
) | rpl::map([](const Api::InviteLink &link) {
|
||||
|
@ -1055,6 +1066,9 @@ void AddPermanentLinkBlock(
|
|||
state->content.value(),
|
||||
st::inviteLinkJoinedRowPadding
|
||||
)->setClickedCallback([=] {
|
||||
if (!currentLinkFields->link.isEmpty()) {
|
||||
ShowInviteLinkBox(peer, *currentLinkFields);
|
||||
}
|
||||
});
|
||||
|
||||
container->add(object_ptr<Ui::SlideWrap<Ui::FixedHeightWidget>>(
|
||||
|
|
|
@ -118,6 +118,9 @@ not_null<AbstractButton*> AddJoinedCountButton(
|
|||
result->setAttribute(
|
||||
Qt::WA_TransparentForMouseEvents,
|
||||
!state->content.count);
|
||||
if (!state->content.count) {
|
||||
result->clearState();
|
||||
}
|
||||
const auto &st = st::inviteLinkUserpics;
|
||||
const auto imageWidth = !state->content.userpics.isNull()
|
||||
? state->content.userpics.width() / style::DevicePixelRatio()
|
||||
|
|
Loading…
Add table
Reference in a new issue