mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Various improvements
This commit is contained in:
parent
d93a33cabb
commit
7d65064f9b
6 changed files with 38 additions and 7 deletions
|
|
@ -15910,7 +15910,7 @@ Error: %8$@";
|
|||
"RankInfo.Owner.Title" = "Owner Tag";
|
||||
"RankInfo.Owner.Text" = "This purple tag %1$@ is **%2$@'s** owner tag. **%3$@** is the owner of **%4$@**.";
|
||||
"RankInfo.ChangeInfo" = "Only admins can assign member tags in this group.";
|
||||
"RankInfo.MemberTag" = "Admin Tag";
|
||||
"RankInfo.MemberTag" = "Member Tag";
|
||||
"RankInfo.AdminTag" = "Admin Tag";
|
||||
"RankInfo.OwnerTag" = "Owner Tag";
|
||||
"RankInfo.SetMyTag" = "Set My Tag";
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ public class ItemListAvatarAndNameInfoItem: ListViewItem, ItemListItem, ListItem
|
|||
if case .settings = mode {
|
||||
self.selectable = true
|
||||
} else {
|
||||
self.selectable = false
|
||||
self.selectable = action != nil
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,9 @@ private final class ChannelAdminControllerArguments {
|
|||
let dismissInput: () -> Void
|
||||
let animateError: () -> Void
|
||||
let toggleIsOptionExpanded: (RightsItem.Sub) -> Void
|
||||
let openPeer: () -> Void
|
||||
|
||||
init(context: AccountContext, updateAdminRights: @escaping (Bool) -> Void, toggleRight: @escaping (RightsItem, TelegramChatAdminRightsFlags, Bool) -> Void, toggleRightWhileDisabled: @escaping (TelegramChatAdminRightsFlags, TelegramChatAdminRightsFlags) -> Void, transferOwnership: @escaping () -> Void, updateRank: @escaping (String, String) -> Void, updateFocusedOnRank: @escaping (Bool) -> Void, dismissAdmin: @escaping () -> Void, dismissInput: @escaping () -> Void, animateError: @escaping () -> Void, toggleIsOptionExpanded: @escaping (RightsItem.Sub) -> Void) {
|
||||
init(context: AccountContext, updateAdminRights: @escaping (Bool) -> Void, toggleRight: @escaping (RightsItem, TelegramChatAdminRightsFlags, Bool) -> Void, toggleRightWhileDisabled: @escaping (TelegramChatAdminRightsFlags, TelegramChatAdminRightsFlags) -> Void, transferOwnership: @escaping () -> Void, updateRank: @escaping (String, String) -> Void, updateFocusedOnRank: @escaping (Bool) -> Void, dismissAdmin: @escaping () -> Void, dismissInput: @escaping () -> Void, animateError: @escaping () -> Void, toggleIsOptionExpanded: @escaping (RightsItem.Sub) -> Void, openPeer: @escaping () -> Void) {
|
||||
self.context = context
|
||||
self.updateAdminRights = updateAdminRights
|
||||
self.toggleRight = toggleRight
|
||||
|
|
@ -44,6 +45,7 @@ private final class ChannelAdminControllerArguments {
|
|||
self.dismissInput = dismissInput
|
||||
self.animateError = animateError
|
||||
self.toggleIsOptionExpanded = toggleIsOptionExpanded
|
||||
self.openPeer = openPeer
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -367,6 +369,8 @@ private enum ChannelAdminEntry: ItemListNodeEntry {
|
|||
case let .info(_, _, dateTimeFormat, peer, presence):
|
||||
return ItemListAvatarAndNameInfoItem(itemContext: .accountContext(arguments.context), presentationData: presentationData, systemStyle: .glass, dateTimeFormat: dateTimeFormat, mode: .generic, peer: peer, presence: presence, memberCount: nil, state: ItemListAvatarAndNameInfoItemState(), sectionId: self.section, style: .blocks(withTopInset: true, withExtendedBottomInset: false), editingNameUpdated: { _ in
|
||||
}, avatarTapped: {
|
||||
}, action: {
|
||||
arguments.openPeer()
|
||||
})
|
||||
case let .rankTitle(_, text, count, limit):
|
||||
var accessoryText: ItemListSectionHeaderAccessoryText?
|
||||
|
|
@ -1219,6 +1223,16 @@ public func channelAdminController(context: AccountContext, updatedPresentationD
|
|||
|
||||
return state
|
||||
}
|
||||
}, openPeer: {
|
||||
let _ = (context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: adminId))
|
||||
|> deliverOnMainQueue).start(next: { peer in
|
||||
guard let peer else {
|
||||
return
|
||||
}
|
||||
if let controller = context.sharedContext.makePeerInfoController(context: context, updatedPresentationData: updatedPresentationData, peer: peer._asPeer(), mode: .generic, avatarInitiallyExpanded: false, fromChat: false, requestsContext: nil) {
|
||||
pushControllerImpl?(controller)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
let presentationData = updatedPresentationData?.signal ?? context.sharedContext.presentationData
|
||||
|
|
|
|||
|
|
@ -22,14 +22,16 @@ private final class ChannelBannedMemberControllerArguments {
|
|||
let toggleIsOptionExpanded: (TelegramChatBannedRightsFlags) -> Void
|
||||
let openTimeout: () -> Void
|
||||
let delete: () -> Void
|
||||
let openPeer: () -> Void
|
||||
|
||||
init(context: AccountContext, toggleRight: @escaping (TelegramChatBannedRightsFlags, Bool) -> Void, toggleRightWhileDisabled: @escaping (TelegramChatBannedRightsFlags) -> Void, toggleIsOptionExpanded: @escaping (TelegramChatBannedRightsFlags) -> Void, openTimeout: @escaping () -> Void, delete: @escaping () -> Void) {
|
||||
init(context: AccountContext, toggleRight: @escaping (TelegramChatBannedRightsFlags, Bool) -> Void, toggleRightWhileDisabled: @escaping (TelegramChatBannedRightsFlags) -> Void, toggleIsOptionExpanded: @escaping (TelegramChatBannedRightsFlags) -> Void, openTimeout: @escaping () -> Void, delete: @escaping () -> Void, openPeer: @escaping () -> Void) {
|
||||
self.context = context
|
||||
self.toggleRight = toggleRight
|
||||
self.toggleRightWhileDisabled = toggleRightWhileDisabled
|
||||
self.toggleIsOptionExpanded = toggleIsOptionExpanded
|
||||
self.openTimeout = openTimeout
|
||||
self.delete = delete
|
||||
self.openPeer = openPeer
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -218,6 +220,8 @@ private enum ChannelBannedMemberEntry: ItemListNodeEntry {
|
|||
case let .info(_, _, dateTimeFormat, peer, presence):
|
||||
return ItemListAvatarAndNameInfoItem(itemContext: .accountContext(arguments.context), presentationData: presentationData, systemStyle: .glass, dateTimeFormat: dateTimeFormat, mode: .generic, peer: peer, presence: presence, memberCount: nil, state: ItemListAvatarAndNameInfoItemState(), sectionId: self.section, style: .blocks(withTopInset: true, withExtendedBottomInset: false), editingNameUpdated: { _ in
|
||||
}, avatarTapped: {
|
||||
}, action: {
|
||||
arguments.openPeer()
|
||||
})
|
||||
case let .rightsHeader(_, text):
|
||||
return ItemListSectionHeaderItem(presentationData: presentationData, text: text, sectionId: self.section)
|
||||
|
|
@ -609,6 +613,16 @@ public func channelBannedMemberController(context: AccountContext, updatedPresen
|
|||
})
|
||||
])])
|
||||
presentControllerImpl?(actionSheet, nil)
|
||||
}, openPeer: {
|
||||
let _ = (context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: memberId))
|
||||
|> deliverOnMainQueue).start(next: { peer in
|
||||
guard let peer else {
|
||||
return
|
||||
}
|
||||
if let controller = context.sharedContext.makePeerInfoController(context: context, updatedPresentationData: updatedPresentationData, peer: peer._asPeer(), mode: .generic, avatarInitiallyExpanded: false, fromChat: false, requestsContext: nil) {
|
||||
pushControllerImpl?(controller)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
var peerDataItems: [TelegramEngine.EngineData.Item.Peer.Peer] = []
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,7 @@ public final class ChatMessageAvatarHeaderNodeImpl: ListViewItemHeaderNode, Chat
|
|||
}
|
||||
|
||||
public func updatePeer(peer: Peer) {
|
||||
if let previousPeer = self.peer, previousPeer.nameColor != peer.nameColor || previousPeer.smallProfileImage != peer.smallProfileImage {
|
||||
if let previousPeer = self.peer, previousPeer.nameColor != peer.nameColor || previousPeer.smallProfileImage != peer.smallProfileImage || previousPeer.displayLetters != peer.displayLetters {
|
||||
self.peer = peer
|
||||
if peer.smallProfileImage != nil {
|
||||
self.avatarNode.setPeerV2(context: self.context, theme: self.presentationData.theme.theme, peer: EnginePeer(peer), authorOfMessage: self.messageReference, overrideImage: nil, emptyColor: .black, synchronousLoad: false, displayDimensions: CGSize(width: avatarHeaderSize(), height: avatarHeaderSize()))
|
||||
|
|
|
|||
|
|
@ -232,11 +232,14 @@ final class RankChatPreviewItemNode: ListViewItemNode {
|
|||
|
||||
var items: [ListViewItem] = []
|
||||
for messageItem in item.messageItems.reversed() {
|
||||
let authorPeerId = PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(0))
|
||||
var userPeer = messageItem.peer._asPeer()
|
||||
|
||||
let updatedId = PeerId.Id._internalFromInt64Value(userPeer.id.id._internalGetInt64Value() - 7)
|
||||
let authorPeerId = PeerId(namespace: Namespaces.Peer.CloudUser, id: updatedId)
|
||||
let groupPeerId = PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(0))
|
||||
let groupPeer = TelegramChannel(id: PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(0)), accessHash: nil, title: "", username: nil, photo: [], creationDate: 0, version: 0, participationStatus: .member, info: .group(.init(flags: [])), flags: [], restrictionInfo: nil, adminRights: nil, bannedRights: nil, defaultBannedRights: nil, usernames: [], storiesHidden: nil, nameColor: nil, backgroundEmojiId: nil, profileColor: nil, profileBackgroundEmojiId: nil, emojiStatus: nil, approximateBoostLevel: nil, subscriptionUntilDate: nil, verificationIconFileId: nil, sendPaidMessageStars: nil, linkedMonoforumId: nil)
|
||||
|
||||
var userPeer = messageItem.peer._asPeer()
|
||||
|
||||
if let user = userPeer as? TelegramUser {
|
||||
userPeer = TelegramUser(id: authorPeerId, accessHash: user.accessHash, firstName: user.firstName, lastName: user.lastName, username: "", phone: user.phone, photo: user.photo, botInfo: user.botInfo, restrictionInfo: user.restrictionInfo, flags: user.flags, emojiStatus: user.emojiStatus, usernames: user.usernames, storiesHidden: user.storiesHidden, nameColor: user.nameColor, backgroundEmojiId: user.backgroundEmojiId, profileColor: user.profileColor, profileBackgroundEmojiId: user.profileBackgroundEmojiId, subscriberCount: user.subscriberCount, verificationIconFileId: user.verificationIconFileId)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue