mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 09:20:08 +00:00
Added "owner" label in group info member list
This commit is contained in:
parent
8622b4ee0a
commit
b3bc8b4ef6
@ -4452,3 +4452,5 @@ Any member of this group will be able to see messages in the channel.";
|
|||||||
"Group.PublicLink.Info" = "People can share this link with others and find your group using Telegram search.\n\nYou can use **a-z**, **0-9** and underscores. Minimum length is **5** characters.";
|
"Group.PublicLink.Info" = "People can share this link with others and find your group using Telegram search.\n\nYou can use **a-z**, **0-9** and underscores. Minimum length is **5** characters.";
|
||||||
|
|
||||||
"CreateGroup.ErrorLocatedGroupsTooMuch" = "Sorry, you have too many location-based groups already. Please delete one of your existing ones first.";
|
"CreateGroup.ErrorLocatedGroupsTooMuch" = "Sorry, you have too many location-based groups already. Please delete one of your existing ones first.";
|
||||||
|
|
||||||
|
"GroupInfo.LabelOwner" = "owner";
|
||||||
|
|||||||
@ -85,10 +85,17 @@ public func updateChannelOwnership(account: Account, accountStateManager: Accoun
|
|||||||
}
|
}
|
||||||
|> mapToSignal { currentCreator, currentParticipant -> Signal<[(ChannelParticipant?, RenderedChannelParticipant)], ChannelOwnershipTransferError> in
|
|> mapToSignal { currentCreator, currentParticipant -> Signal<[(ChannelParticipant?, RenderedChannelParticipant)], ChannelOwnershipTransferError> in
|
||||||
return account.postbox.transaction { transaction -> Signal<[(ChannelParticipant?, RenderedChannelParticipant)], ChannelOwnershipTransferError> in
|
return account.postbox.transaction { transaction -> Signal<[(ChannelParticipant?, RenderedChannelParticipant)], ChannelOwnershipTransferError> in
|
||||||
if let channel = transaction.getPeer(channelId), let inputChannel = apiInputChannel(channel), let accountUser = transaction.getPeer(account.peerId), let user = transaction.getPeer(memberId), let inputUser = apiInputUser(user) {
|
if let channel = transaction.getPeer(channelId) as? TelegramChannel, let inputChannel = apiInputChannel(channel), let accountUser = transaction.getPeer(account.peerId), let user = transaction.getPeer(memberId), let inputUser = apiInputUser(user) {
|
||||||
|
|
||||||
|
var flags: TelegramChatAdminRightsFlags
|
||||||
|
if case .broadcast = channel.info {
|
||||||
|
flags = TelegramChatAdminRightsFlags.broadcastSpecific
|
||||||
|
} else {
|
||||||
|
flags = TelegramChatAdminRightsFlags.groupSpecific
|
||||||
|
}
|
||||||
|
|
||||||
let updatedParticipant = ChannelParticipant.creator(id: user.id)
|
let updatedParticipant = ChannelParticipant.creator(id: user.id)
|
||||||
let updatedPreviousCreator = ChannelParticipant.member(id: accountUser.id, invitedAt: Int32(Date().timeIntervalSince1970), adminInfo: ChannelParticipantAdminInfo(rights: TelegramChatAdminRights(flags:[]), promotedBy: accountUser.id, canBeEditedByAccountPeer: false), banInfo: nil)
|
let updatedPreviousCreator = ChannelParticipant.member(id: accountUser.id, invitedAt: Int32(Date().timeIntervalSince1970), adminInfo: ChannelParticipantAdminInfo(rights: TelegramChatAdminRights(flags: flags), promotedBy: accountUser.id, canBeEditedByAccountPeer: false), banInfo: nil)
|
||||||
|
|
||||||
let checkPassword = twoStepAuthData(account.network)
|
let checkPassword = twoStepAuthData(account.network)
|
||||||
|> mapError { error -> ChannelOwnershipTransferError in
|
|> mapError { error -> ChannelOwnershipTransferError in
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -94,6 +94,7 @@ private enum GroupInfoEntryTag {
|
|||||||
private enum GroupInfoMemberStatus {
|
private enum GroupInfoMemberStatus {
|
||||||
case member
|
case member
|
||||||
case admin
|
case admin
|
||||||
|
case owner
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum GroupEntryStableId: Hashable, Equatable {
|
private enum GroupEntryStableId: Hashable, Equatable {
|
||||||
@ -529,6 +530,8 @@ private enum GroupInfoEntry: ItemListNodeEntry {
|
|||||||
case let .member(theme, strings, dateTimeFormat, nameDisplayOrder, _, _, peer, participant, presence, memberStatus, editing, actions, enabled, selectable):
|
case let .member(theme, strings, dateTimeFormat, nameDisplayOrder, _, _, peer, participant, presence, memberStatus, editing, actions, enabled, selectable):
|
||||||
let label: String?
|
let label: String?
|
||||||
switch memberStatus {
|
switch memberStatus {
|
||||||
|
case .owner:
|
||||||
|
label = strings.GroupInfo_LabelOwner
|
||||||
case .admin:
|
case .admin:
|
||||||
label = strings.GroupInfo_LabelAdmin
|
label = strings.GroupInfo_LabelAdmin
|
||||||
case .member:
|
case .member:
|
||||||
@ -1130,7 +1133,7 @@ private func groupInfoEntries(account: Account, presentationData: PresentationDa
|
|||||||
let memberStatus: GroupInfoMemberStatus
|
let memberStatus: GroupInfoMemberStatus
|
||||||
switch participant.participant {
|
switch participant.participant {
|
||||||
case .creator:
|
case .creator:
|
||||||
memberStatus = .admin
|
memberStatus = .owner
|
||||||
case let .member(_, _, adminInfo, _):
|
case let .member(_, _, adminInfo, _):
|
||||||
if adminInfo != nil {
|
if adminInfo != nil {
|
||||||
memberStatus = .admin
|
memberStatus = .admin
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user