From a3fd4f3fac5e0cb0f2c3862391858342cfa2bd04 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 28 Sep 2023 17:13:42 +0300 Subject: [PATCH] Added label to box for statistic while loading. --- Telegram/Resources/animations/stats.tgs | Bin 0 -> 12078 bytes Telegram/Resources/langs/lang.strings | 3 + .../Resources/qrc/telegram/animations.qrc | 1 + .../SourceFiles/statistics/statistics.style | 4 ++ .../SourceFiles/statistics/statistics_box.cpp | 58 +++++++++++++++++- 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 Telegram/Resources/animations/stats.tgs diff --git a/Telegram/Resources/animations/stats.tgs b/Telegram/Resources/animations/stats.tgs new file mode 100644 index 0000000000000000000000000000000000000000..4966041cefc4591626e00ce5bb219918097bdcf7 GIT binary patch literal 12078 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
  • p6|-RNp|Kzq{ho#sWpa>1CyD;pUY* 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 A../../animations/cloud_password/email.tgs ../../animations/ttl.tgs ../../animations/discussion.tgs + ../../animations/stats.tgs diff --git a/Telegram/SourceFiles/statistics/statistics.style b/Telegram/SourceFiles/statistics/statistics.style index e56f0d337c..5d21c2b27f 100644 --- a/Telegram/SourceFiles/statistics/statistics.style +++ b/Telegram/SourceFiles/statistics/statistics.style @@ -63,3 +63,7 @@ statisticsHeaderButton: RoundButton(defaultLightButton) { textTop: 2px; font: font(11px semibold); } + +statisticsLoadingSubtext: FlatLabel(changePhoneDescription) { + minWidth: 256px; +} diff --git a/Telegram/SourceFiles/statistics/statistics_box.cpp b/Telegram/SourceFiles/statistics/statistics_box.cpp index 144ffb9f44..0efa57f812 100644 --- a/Telegram/SourceFiles/statistics/statistics_box.cpp +++ b/Telegram/SourceFiles/statistics/statistics_box.cpp @@ -10,16 +10,71 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "api/api_statistics.h" #include "data/data_peer.h" #include "lang/lang_keys.h" +#include "lottie/lottie_icon.h" #include "main/main_session.h" +#include "settings/settings_common.h" #include "statistics/chart_widget.h" #include "statistics/statistics_common.h" -#include "ui/toast/toast.h" #include "ui/layers/generic_box.h" +#include "ui/rect.h" +#include "ui/toast/toast.h" +#include "ui/wrap/slide_wrap.h" +#include "styles/style_boxes.h" +#include "styles/style_settings.h" +#include "styles/style_statistics.h" namespace { + +void FillLoading( + not_null box, + rpl::producer toggleOn) { + const auto emptyWrap = box->verticalLayout()->add( + object_ptr>( + box->verticalLayout(), + object_ptr(box->verticalLayout()))); + emptyWrap->toggleOn(std::move(toggleOn), anim::type::instant); + + const auto content = emptyWrap->entity(); + auto icon = Settings::CreateLottieIcon( + content, + { .name = u"stats"_q, .sizeOverride = Size(st::changePhoneIconSize) }, + st::settingsBlockedListIconPadding); + content->add(std::move(icon.widget)); + + box->setShowFinishedCallback([animate = std::move(icon.animate)] { + animate(anim::repeat::loop); + }); + + content->add( + object_ptr>( + content, + object_ptr( + content, + tr::lng_stats_loading(), + st::changePhoneTitle)), + st::changePhoneTitlePadding + st::boxRowPadding); + + content->add( + object_ptr>( + content, + object_ptr( + content, + tr::lng_stats_loading_subtext(), + st::statisticsLoadingSubtext)), + st::changePhoneDescriptionPadding + st::boxRowPadding); + + Settings::AddSkip(content, st::settingsBlockedListIconPadding.top()); +} + } // namespace void StatisticsBox(not_null box, not_null peer) { + + const auto loaded = box->lifetime().make_state>(); + FillLoading( + box, + loaded->events_starting_with(false) | rpl::map(!rpl::mappers::_1)); + const auto chartWidget = box->addRow( object_ptr(box)); const auto chartWidget2 = box->addRow( @@ -98,6 +153,7 @@ void StatisticsBox(not_null box, not_null peer) { if (!stats) { return; } + loaded->fire(true); using Type = Statistic::ChartViewType; processChart( chartWidget,