/* 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 #include struct ChannelLocation; namespace Ui { class RpWidget; template class SlideWrap; } // namespace Ui namespace Storage { enum class SharedMediaType : signed char; } // namespace Storage namespace Info { namespace Profile { inline auto ToSingleLine() { return rpl::map([](const QString &text) { return TextUtilities::SingleLine(text); }); } rpl::producer> MigratedOrMeValue( not_null peer); rpl::producer NameValue(not_null peer); rpl::producer PhoneValue(not_null user); rpl::producer PhoneOrHiddenValue(not_null user); rpl::producer UsernameValue(not_null user); [[nodiscard]] TextWithEntities AboutWithEntities( not_null peer, const QString &value); rpl::producer AboutValue(not_null peer); rpl::producer LinkValue(not_null peer); rpl::producer LocationValue( not_null channel); rpl::producer NotificationsEnabledValue(not_null peer); rpl::producer IsContactValue(not_null user); rpl::producer CanInviteBotToGroupValue(not_null user); rpl::producer CanShareContactValue(not_null user); rpl::producer CanAddContactValue(not_null user); rpl::producer AmInChannelValue(not_null channel); rpl::producer MembersCountValue(not_null peer); rpl::producer PendingRequestsCountValue(not_null peer); rpl::producer AdminsCountValue(not_null peer); rpl::producer RestrictionsCountValue(not_null peer); rpl::producer RestrictedCountValue(not_null channel); rpl::producer KickedCountValue(not_null channel); rpl::producer SharedMediaCountValue( not_null peer, PeerData *migrated, Storage::SharedMediaType type); rpl::producer CommonGroupsCountValue(not_null user); rpl::producer CanAddMemberValue(not_null peer); enum class Badge { None, Verified, Scam, Fake, }; rpl::producer BadgeValue(not_null peer); } // namespace Profile } // namespace Info