From 39c434404709c5ecfa01e8459a7805e595bd90e0 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sat, 29 Nov 2025 06:30:10 +0300 Subject: [PATCH] Added divider with description to section of settings for passkeys. --- .../settings/settings_passkeys.cpp | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/settings/settings_passkeys.cpp b/Telegram/SourceFiles/settings/settings_passkeys.cpp index bd51f30dd2..9647eeb465 100644 --- a/Telegram/SourceFiles/settings/settings_passkeys.cpp +++ b/Telegram/SourceFiles/settings/settings_passkeys.cpp @@ -52,6 +52,10 @@ public: return _showFinished.events(); } + const Ui::RoundRect *bottomSkipRounding() const override { + return &_bottomSkipRounding; + } + private: void showFinished() override { _showFinished.fire({}); @@ -59,6 +63,8 @@ private: void setupContent(not_null controller); + Ui::RoundRect _bottomSkipRounding; + rpl::event_stream<> _showFinished; }; @@ -196,7 +202,8 @@ void PasskeysNoneBox( Passkeys::Passkeys( QWidget *parent, not_null controller) -: Section(parent) { +: Section(parent) +, _bottomSkipRounding(st::boxRadius, st::boxDividerBg) { setupContent(controller); } @@ -216,6 +223,8 @@ void Passkeys::setupContent( rpl::single(QString()), tr::lng_settings_passkeys_about()); + Ui::AddSkip(content); + const auto container = content->add( object_ptr(content)); @@ -339,6 +348,24 @@ void Passkeys::setupContent( controller->show(Box(PasskeysNoneBox, session)); }); + Ui::AddSkip(content); + const auto label = Ui::AddDividerText( + content, + tr::lng_settings_passkeys_button_about( + lt_link, + tr::lng_channel_earn_about_link( + lt_emoji, + rpl::single(Ui::Text::IconEmoji(&st::textMoreIconEmoji)), + Ui::Text::RichLangValue + ) | rpl::map([](TextWithEntities text) { + return Ui::Text::Link(std::move(text), u"internal"_q); + }), + Ui::Text::RichLangValue + )); + label->setClickHandlerFilter([=](const auto &...) { + controller->show(Box(PasskeysNoneBox, session)); + return false; + }); Ui::ResizeFitChild(this, content); }