Added api support for max count of passkeys for accounts.

This commit is contained in:
23rd
2025-12-03 06:09:34 +03:00
committed by John Preston
parent e7c1073e13
commit 1053b30a6d
5 changed files with 30 additions and 10 deletions

View File

@@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "ui/widgets/menu/menu_add_action_callback.h"
#include "ui/widgets/menu/menu_add_action_callback_factory.h"
#include "ui/wrap/vertical_layout.h"
#include "ui/wrap/slide_wrap.h"
#include "lang/lang_keys.h"
#include "lottie/lottie_icon.h"
#include "base/unixtime.h"
@@ -170,7 +171,7 @@ void PasskeysNoneBox(
}
Ui::AddSkip(content);
Ui::AddSkip(content);
{
if (session->passkeys().canRegister()) {
const auto &st = st::premiumPreviewDoubledLimitsBox;
box->setStyle(st);
auto button = object_ptr<Ui::RoundButton>(
@@ -352,19 +353,25 @@ void Passkeys::setupContent(
container->resizeToWidth(content->width());
};
const auto buttonWrap = content->add(
object_ptr<Ui::SlideWrap<Ui::SettingsButton>>(
content,
CreateButtonWithIcon(
content,
tr::lng_settings_passkeys_button(),
st::settingsButtonActive,
{ &st::settingsIconPasskeys })));
buttonWrap->entity()->setClickedCallback([=] {
controller->show(Box(PasskeysNoneBox, session));
});
buttonWrap->toggleOn(session->passkeys().requestList(
) | rpl::map([=] { return session->passkeys().canRegister(); }));
buttonWrap->finishAnimating();
session->passkeys().requestList(
) | rpl::start_with_next(rebuild, content->lifetime());
rebuild();
AddButtonWithIcon(
content,
tr::lng_settings_passkeys_button(),
st::settingsButtonActive,
{ &st::settingsIconPasskeys }
)->setClickedCallback([=] {
controller->show(Box(PasskeysNoneBox, session));
});
Ui::AddSkip(content);
const auto label = Ui::AddDividerText(
content,