mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-04 21:41:45 +00:00
Additional links in admin log
This commit is contained in:
parent
4bbb0dd637
commit
85ac817816
@ -8138,3 +8138,7 @@ Sorry for the inconvenience.";
|
||||
|
||||
"ChatListFolderSettings.SubscribeToMoveAll" = "Subscribe to **Telegram Premium** to move the \"All Chats\" folder.";
|
||||
"ChatListFolderSettings.SubscribeToMoveAllAction" = "More";
|
||||
|
||||
"Channel.AdminLog.MessageChangedGroupUsernames" = "%@ changed group links:";
|
||||
"Channel.AdminLog.MessageChangedChannelUsernames" = "%@ changed channel links:";
|
||||
"Channel.AdminLog.MessagePreviousLinks" = "Previous links";
|
||||
|
||||
@ -40,7 +40,7 @@ final class ChatMessageEventLogPreviousLinkContentNode: ChatMessageBubbleContent
|
||||
}
|
||||
}
|
||||
|
||||
let title: String = item.presentationData.strings.Channel_AdminLog_MessagePreviousLink
|
||||
let title: String = item.message.text.contains("\n") ? item.presentationData.strings.Channel_AdminLog_MessagePreviousLinks : item.presentationData.strings.Channel_AdminLog_MessagePreviousLink
|
||||
let text: String = item.message.text
|
||||
let mediaAndFlags: (Media, ChatMessageAttachedContentNodeMediaFlags)? = nil
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ struct ChatRecentActionsEntryId: Hashable, Comparable {
|
||||
|
||||
private func eventNeedsHeader(_ event: AdminLogEvent) -> Bool {
|
||||
switch event.action {
|
||||
case .changeAbout, .changeUsername, .editMessage, .deleteMessage, .pollStopped, .sendMessage:
|
||||
case .changeAbout, .changeUsername, .changeUsernames, .editMessage, .deleteMessage, .pollStopped, .sendMessage:
|
||||
return true
|
||||
case let .updatePinned(message):
|
||||
if message != nil {
|
||||
@ -217,14 +217,14 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
|
||||
var text: String = ""
|
||||
var entities: [MessageTextEntity] = []
|
||||
if let peer = peer as? TelegramChannel, case .broadcast = peer.info {
|
||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedChannelUsername(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedChannelUsernames(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||
if index == 0, let author = author {
|
||||
return [.TextMention(peerId: author.id)]
|
||||
}
|
||||
return []
|
||||
}, to: &text, entities: &entities)
|
||||
} else {
|
||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedGroupUsername(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||
appendAttributedText(text: self.presentationData.strings.Channel_AdminLog_MessageChangedGroupUsernames(author.flatMap(EnginePeer.init)?.displayTitle(strings: self.presentationData.strings, displayOrder: self.presentationData.nameDisplayOrder) ?? ""), generateEntities: { index in
|
||||
if index == 0, let author = author {
|
||||
return [.TextMention(peerId: author.id)]
|
||||
}
|
||||
@ -237,14 +237,33 @@ struct ChatRecentActionsEntry: Comparable, Identifiable {
|
||||
case .content:
|
||||
var previousAttributes: [MessageAttribute] = []
|
||||
var attributes: [MessageAttribute] = []
|
||||
|
||||
let prevText = "https://t.me/\(prev.first ?? "")"
|
||||
previousAttributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< prevText.count, type: .Url)]))
|
||||
|
||||
let text: String
|
||||
|
||||
var prevTextEntities: [MessageTextEntity] = []
|
||||
var textEntities: [MessageTextEntity] = []
|
||||
|
||||
var prevText: String = ""
|
||||
for username in prev {
|
||||
let link = "https://t.me/\(username)"
|
||||
prevTextEntities.append(MessageTextEntity(range: prevText.count ..< prevText.count + link.count, type: .Url))
|
||||
prevText.append(link)
|
||||
prevText.append("\n")
|
||||
}
|
||||
prevText.removeLast()
|
||||
if !prevTextEntities.isEmpty {
|
||||
previousAttributes.append(TextEntitiesMessageAttribute(entities: prevTextEntities))
|
||||
}
|
||||
var text: String = ""
|
||||
if !new.isEmpty {
|
||||
text = "https://t.me/\(new.first ?? "")"
|
||||
attributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< text.count, type: .Url)]))
|
||||
for username in new {
|
||||
let link = "https://t.me/\(username)"
|
||||
textEntities.append(MessageTextEntity(range: text.count ..< text.count + link.count, type: .Url))
|
||||
text.append(link)
|
||||
text.append("\n")
|
||||
}
|
||||
text.removeLast()
|
||||
if !textEntities.isEmpty {
|
||||
attributes.append(TextEntitiesMessageAttribute(entities: prevTextEntities))
|
||||
}
|
||||
} else {
|
||||
text = self.presentationData.strings.Channel_AdminLog_EmptyMessageText
|
||||
attributes.append(TextEntitiesMessageAttribute(entities: [MessageTextEntity(range: 0 ..< text.count, type: .Italic)]))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user