/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once #include "lang/lang_keys.h" #include "storage/storage_shared_media.h" namespace Ui { class AbstractButton; class MultiSlideTracker; class SettingsButton; class VerticalLayout; template class SlideWrap; } // namespace Ui namespace Window { class SessionNavigation; } // namespace Window namespace Info::Media { using Type = Storage::SharedMediaType; [[nodiscard]] tr::phrase MediaTextPhrase(Type type); [[nodiscard]] Fn MediaText(Type type); [[nodiscard]] not_null*> AddCountedButton( Ui::VerticalLayout *parent, rpl::producer &&count, Fn &&textFromCount, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddButton( Ui::VerticalLayout *parent, not_null navigation, not_null peer, MsgId topicRootId, PeerData *migrated, Type type, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddCommonGroupsButton( Ui::VerticalLayout *parent, not_null navigation, not_null user, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddSimilarPeersButton( Ui::VerticalLayout *parent, not_null navigation, not_null peer, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddStoriesButton( Ui::VerticalLayout *parent, not_null navigation, not_null peer, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddSavedSublistButton( Ui::VerticalLayout *parent, not_null navigation, not_null peer, Ui::MultiSlideTracker &tracker); [[nodiscard]] not_null AddPeerGiftsButton( Ui::VerticalLayout *parent, not_null navigation, not_null peer, Ui::MultiSlideTracker &tracker); } // namespace Info::Media