2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-02 07:25:46 +00:00

Add "My Profile" instead of "My Stories".

This commit is contained in:
John Preston
2024-12-12 12:11:39 +04:00
parent 8ddb13d6e2
commit f94fd3118b
11 changed files with 273 additions and 109 deletions

View File

@@ -722,6 +722,23 @@ void MainMenu::setupMenu() {
std::move(descriptor));
};
if (!_controller->session().supportMode()) {
_menu->add(
CreateButtonWithIcon(
_menu,
tr::lng_menu_my_profile(),
st::mainMenuButton,
{ &st::menuIconProfile })
)->setClickedCallback([=] {
controller->showSection(
Info::Stories::Make(controller->session().user()));
});
SetupMenuBots(_menu, controller);
_menu->add(
object_ptr<Ui::PlainShadow>(_menu),
{ 0, st::mainMenuSkip, 0, st::mainMenuSkip });
AddMyChannelsBox(addAction(
tr::lng_create_group_title(),
{ &st::menuIconGroups }
@@ -740,40 +757,9 @@ void MainMenu::setupMenu() {
}
});
const auto wrap = _menu->add(
object_ptr<Ui::SlideWrap<Ui::SettingsButton>>(
_menu,
CreateButtonWithIcon(
_menu,
tr::lng_menu_my_stories(),
st::mainMenuButton,
IconDescriptor{ &st::menuIconStoriesSavedSection })));
const auto selfId = controller->session().userPeerId();
const auto stories = &controller->session().data().stories();
if (stories->archiveCount(selfId) > 0) {
wrap->toggle(true, anim::type::instant);
} else {
wrap->toggle(false, anim::type::instant);
if (!stories->archiveCountKnown(selfId)) {
stories->archiveLoadMore(selfId);
wrap->toggleOn(stories->archiveChanged(
) | rpl::filter(
rpl::mappers::_1 == selfId
) | rpl::map([=] {
return stories->archiveCount(selfId) > 0;
}) | rpl::filter(rpl::mappers::_1) | rpl::take(1));
}
}
wrap->entity()->setClickedCallback([=] {
controller->showSection(
Info::Stories::Make(controller->session().user()));
});
SetupMenuBots(_menu, controller);
addAction(
tr::lng_menu_contacts(),
{ &st::menuIconProfile }
{ &st::menuIconUserShow }
)->setClickedCallback([=] {
controller->show(PrepareContactsBox(controller));
});