diff --git a/submodules/ItemListPeerActionItem/Sources/ItemListPeerActionItem.swift b/submodules/ItemListPeerActionItem/Sources/ItemListPeerActionItem.swift index b3ce620fd0..c3856edc08 100644 --- a/submodules/ItemListPeerActionItem/Sources/ItemListPeerActionItem.swift +++ b/submodules/ItemListPeerActionItem/Sources/ItemListPeerActionItem.swift @@ -255,15 +255,14 @@ class ItemListPeerActionItemNode: ListViewItemNode { case .sameSection(false): bottomStripeInset = leftInset + editingOffset bottomStripeOffset = -separatorHeight + strongSelf.bottomStripeNode.isHidden = !item.hasSeparator default: bottomStripeInset = 0.0 bottomStripeOffset = 0.0 hasBottomCorners = true - strongSelf.bottomStripeNode.isHidden = hasCorners + strongSelf.bottomStripeNode.isHidden = hasCorners || !item.hasSeparator } - - strongSelf.bottomStripeNode.isHidden = strongSelf.bottomStripeNode.isHidden || !item.hasSeparator - + strongSelf.maskNode.image = hasCorners ? PresentationResourcesItemList.cornersImage(item.presentationData.theme, top: hasTopCorners, bottom: hasBottomCorners) : nil strongSelf.backgroundNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: params.width, height: contentSize.height + min(insets.top, separatorHeight) + min(insets.bottom, separatorHeight))) diff --git a/submodules/PeerInfoUI/Sources/ChannelAdminsController.swift b/submodules/PeerInfoUI/Sources/ChannelAdminsController.swift index c700fe1955..8fa6c3f0b1 100644 --- a/submodules/PeerInfoUI/Sources/ChannelAdminsController.swift +++ b/submodules/PeerInfoUI/Sources/ChannelAdminsController.swift @@ -178,7 +178,7 @@ private enum ChannelAdminsEntry: ItemListNodeEntry { let arguments = arguments as! ChannelAdminsControllerArguments switch self { case let .recentActions(_, text): - return ItemListDisclosureItem(presentationData: presentationData, title: text, label: "", sectionId: self.section, style: .blocks, action: { + return ItemListDisclosureItem(presentationData: presentationData, icon: UIImage(bundleImageName: "Chat/Info/RecentActionsIcon"), title: text, label: "", sectionId: self.section, style: .blocks, action: { arguments.openRecentActions() }) case let .adminsHeader(_, title): diff --git a/submodules/PeerInfoUI/Sources/ChannelMembersController.swift b/submodules/PeerInfoUI/Sources/ChannelMembersController.swift index 0984ab1e88..4ad1acfcd9 100644 --- a/submodules/PeerInfoUI/Sources/ChannelMembersController.swift +++ b/submodules/PeerInfoUI/Sources/ChannelMembersController.swift @@ -12,6 +12,7 @@ import AccountContext import AlertUI import PresentationDataUtils import ItemListPeerItem +import ItemListPeerActionItem import InviteLinksUI private final class ChannelMembersControllerArguments { @@ -21,8 +22,9 @@ private final class ChannelMembersControllerArguments { let setPeerIdWithRevealedOptions: (PeerId?, PeerId?) -> Void let removePeer: (PeerId) -> Void let openPeer: (Peer) -> Void - let inviteViaLink: ()->Void - init(context: AccountContext, addMember: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, removePeer: @escaping (PeerId) -> Void, openPeer: @escaping (Peer) -> Void, inviteViaLink: @escaping()->Void) { + let inviteViaLink: () -> Void + + init(context: AccountContext, addMember: @escaping () -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, removePeer: @escaping (PeerId) -> Void, openPeer: @escaping (Peer) -> Void, inviteViaLink: @escaping () -> Void) { self.context = context self.addMember = addMember self.setPeerIdWithRevealedOptions = setPeerIdWithRevealedOptions @@ -155,12 +157,12 @@ private enum ChannelMembersEntry: ItemListNodeEntry { func item(presentationData: ItemListPresentationData, arguments: Any) -> ListViewItem { let arguments = arguments as! ChannelMembersControllerArguments switch self { - case let .addMember(_, text): - return ItemListActionItem(presentationData: presentationData, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { + case let .addMember(theme, text): + return ItemListPeerActionItem(presentationData: presentationData, icon: PresentationResourcesItemList.addPersonIcon(theme), title: text, alwaysPlain: false, sectionId: self.section, height: .generic, editing: false, action: { arguments.addMember() }) - case let .inviteLink(_, text): - return ItemListActionItem(presentationData: presentationData, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { + case let .inviteLink(theme, text): + return ItemListPeerActionItem(presentationData: presentationData, icon: PresentationResourcesItemList.linkIcon(theme), title: text, alwaysPlain: false, sectionId: self.section, height: .generic, editing: false, action: { arguments.inviteViaLink() }) case let .addMemberInfo(_, text): diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Contents.json new file mode 100644 index 0000000000..9b4d786a5e --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Icon-38.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Icon-38.pdf b/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Icon-38.pdf new file mode 100644 index 0000000000..df0a75d54e --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Chat/Info/RecentActionsIcon.imageset/Icon-38.pdf @@ -0,0 +1,113 @@ +%PDF-1.7 + +1 0 obj + << >> +endobj + +2 0 obj + << /Length 3 0 R >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm +1.000000 0.584314 0.000000 scn +0.000000 18.799999 m +0.000000 22.720367 0.000000 24.680552 0.762954 26.177933 c +1.434068 27.495068 2.504932 28.565931 3.822066 29.237045 c +5.319448 30.000000 7.279633 30.000000 11.200000 30.000000 c +18.799999 30.000000 l +22.720367 30.000000 24.680552 30.000000 26.177933 29.237045 c +27.495068 28.565931 28.565931 27.495068 29.237045 26.177933 c +30.000000 24.680552 30.000000 22.720367 30.000000 18.799999 c +30.000000 11.200001 l +30.000000 7.279633 30.000000 5.319448 29.237045 3.822067 c +28.565931 2.504932 27.495068 1.434069 26.177933 0.762955 c +24.680552 0.000000 22.720367 0.000000 18.799999 0.000000 c +11.200000 0.000000 l +7.279633 0.000000 5.319448 0.000000 3.822066 0.762955 c +2.504932 1.434069 1.434068 2.504932 0.762954 3.822067 c +0.000000 5.319448 0.000000 7.279633 0.000000 11.200001 c +0.000000 18.799999 l +h +f +n +Q +q +1.000000 0.000000 -0.000000 1.000000 4.267334 8.000000 cm +1.000000 1.000000 1.000000 scn +10.732674 14.000000 m +5.052428 14.000000 1.569850 9.951639 0.290127 8.129647 c +-0.083405 7.597835 -0.096524 6.911736 0.252348 6.363431 c +1.487609 4.422029 4.937309 0.000000 10.732674 0.000000 c +16.528038 0.000000 19.977737 4.422029 21.212999 6.363431 c +21.561871 6.911736 21.548754 7.597834 21.175220 8.129646 c +19.895500 9.951638 16.412922 14.000000 10.732674 14.000000 c +h +15.732676 7.000000 m +15.732676 4.238577 13.494099 2.000000 10.732676 2.000000 c +7.971252 2.000000 5.732676 4.238577 5.732676 7.000000 c +5.732676 9.761423 7.971252 12.000000 10.732676 12.000000 c +13.494099 12.000000 15.732676 9.761423 15.732676 7.000000 c +h +10.732676 4.000000 m +12.389530 4.000000 13.732676 5.343145 13.732676 7.000000 c +13.732676 8.656855 12.389530 10.000000 10.732676 10.000000 c +10.644694 10.000000 10.557597 9.996212 10.471539 9.988792 c +10.637726 9.697166 10.732672 9.359671 10.732672 9.000002 c +10.732672 7.895432 9.837242 7.000001 8.732672 7.000001 c +8.373003 7.000001 8.035508 7.094942 7.743883 7.261129 c +7.736463 7.175073 7.732676 7.087979 7.732676 7.000000 c +7.732676 5.343145 9.075821 4.000000 10.732676 4.000000 c +h +f* +n +Q + +endstream +endobj + +3 0 obj + 2162 +endobj + +4 0 obj + << /Annots [] + /Type /Page + /MediaBox [ 0.000000 0.000000 30.000000 30.000000 ] + /Resources 1 0 R + /Contents 2 0 R + /Parent 5 0 R + >> +endobj + +5 0 obj + << /Kids [ 4 0 R ] + /Count 1 + /Type /Pages + >> +endobj + +6 0 obj + << /Type /Catalog + /Pages 5 0 R + >> +endobj + +xref +0 7 +0000000000 65535 f +0000000010 00000 n +0000000034 00000 n +0000002252 00000 n +0000002275 00000 n +0000002448 00000 n +0000002522 00000 n +trailer +<< /ID [ (some) (id) ] + /Root 6 0 R + /Size 7 +>> +startxref +2581 +%%EOF \ No newline at end of file