Various Fixes

This commit is contained in:
Ilya Laktyushin 2021-10-28 16:04:30 +04:00
parent e29d0a3ae9
commit 83e17029fc
71 changed files with 105 additions and 85 deletions

View File

@ -6872,6 +6872,7 @@ Sorry for the inconvenience.";
"InviteLink.Create.RequestApprovalOnInfoGroup" = "New users will be able to join the group only after having been approved by the admins.";
"InviteLink.Create.RequestApprovalOnInfoChannel" = "New users will be able to join the channel only after having been approved by the admins.";
"InviteLink.Create.LinkNameTitle" = "Link Name";
"InviteLink.Create.LinkName" = "Link Name (Optional)";
"InviteLink.Create.LinkNameInfo" = "Only you and other admins will see this name.";

View File

@ -357,7 +357,7 @@ class CallListCallItemNode: ItemListRevealOptionsItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
var dateRightInset: CGFloat = 46.0 + params.rightInset

View File

@ -309,7 +309,7 @@ class CallListGroupCallItemNode: ItemListRevealOptionsItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
var dateRightInset: CGFloat = 46.0 + params.rightInset

View File

@ -140,7 +140,7 @@ class ChatListFilterSettingsHeaderItemNode: ListViewItemNode {
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: attributedText, backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: params.width - params.rightInset - leftInset * 2.0, height: CGFloat.greatestFiniteMagnitude), alignment: .center, cutout: nil, insets: UIEdgeInsets()))
let contentSize = CGSize(width: params.width, height: topInset + titleLayout.size.height)
var insets = itemListNeighborsGroupedInsets(neighbors)
var insets = itemListNeighborsGroupedInsets(neighbors, params)
if isHidden {
insets = UIEdgeInsets()

View File

@ -201,7 +201,7 @@ class ChatListFilterPresetCategoryItemNode: ItemListRevealOptionsItemNode, ItemL
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: titleAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 12.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let minHeight: CGFloat = titleLayout.size.height + verticalInset * 2.0
let rawHeight: CGFloat = verticalInset * 2.0 + titleLayout.size.height

View File

@ -226,7 +226,7 @@ private final class ChatListFilterPresetListItemNode: ItemListRevealOptionsItemN
let labelConstrain: CGFloat = params.width - params.rightInset - leftInset - 40.0 - titleLayout.size.width - 10.0
let (labelLayout, labelApply) = makeLabelLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.label, font: titleFont, textColor: item.presentationData.theme.list.itemSecondaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: labelConstrain, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: titleLayout.size.height + 11.0 * 2.0)
let separatorHeight = UIScreenPixel

View File

@ -226,7 +226,7 @@ public class ChatListFilterPresetListSuggestedItemNode: ListViewItemNode, ItemLi
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -140,7 +140,7 @@ class CreatePollOptionActionItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 44.0)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -261,7 +261,7 @@ class CreatePollOptionItemNode: ItemListRevealOptionsItemNode, ItemListItemNode,
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let leftInset: CGFloat = params.leftInset + (item.isSelected != nil ? 60.0 : 16.0)
let rightInset: CGFloat = 44.0 + params.rightInset

View File

@ -336,7 +336,7 @@ public class CreatePollTextInputItemNode: ListViewItemNode, ASEditableTextNodeDe
}
let contentSize = CGSize(width: params.width, height: contentHeight)
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -70,6 +70,7 @@ func isValidNumberOfUsers(_ number: String) -> Bool {
}
private enum InviteLinksEditEntry: ItemListNodeEntry {
case titleHeader(PresentationTheme, String)
case title(PresentationTheme, String, String)
case titleInfo(PresentationTheme, String)
@ -91,7 +92,7 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
var section: ItemListSectionId {
switch self {
case .title, .titleInfo:
case .titleHeader, .title, .titleInfo:
return InviteLinksEditSection.title.rawValue
case .requestApproval, .requestApprovalInfo:
return InviteLinksEditSection.requestApproval.rawValue
@ -106,39 +107,47 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
var stableId: Int32 {
switch self {
case .title:
case .titleHeader:
return 0
case .titleInfo:
case .title:
return 1
case .requestApproval:
case .titleInfo:
return 2
case .requestApprovalInfo:
case .requestApproval:
return 3
case .timeHeader:
case .requestApprovalInfo:
return 4
case .timePicker:
case .timeHeader:
return 5
case .timeExpiryDate:
case .timePicker:
return 6
case .timeCustomPicker:
case .timeExpiryDate:
return 7
case .timeInfo:
case .timeCustomPicker:
return 8
case .usageHeader:
case .timeInfo:
return 9
case .usagePicker:
case .usageHeader:
return 10
case .usageCustomPicker:
case .usagePicker:
return 11
case .usageInfo:
case .usageCustomPicker:
return 12
case .revoke:
case .usageInfo:
return 13
case .revoke:
return 14
}
}
static func ==(lhs: InviteLinksEditEntry, rhs: InviteLinksEditEntry) -> Bool {
switch lhs {
case let .titleHeader(lhsTheme, lhsText):
if case let .titleHeader(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText {
return true
} else {
return false
}
case let .title(lhsTheme, lhsPlaceholder, lhsValue):
if case let .title(rhsTheme, rhsPlaceholder, rhsValue) = rhs, lhsTheme === rhsTheme, lhsPlaceholder == rhsPlaceholder, lhsValue == rhsValue {
return true
@ -233,6 +242,8 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
func item(presentationData: ItemListPresentationData, arguments: Any) -> ListViewItem {
let arguments = arguments as! InviteLinkEditControllerArguments
switch self {
case let .titleHeader(_, text):
return ItemListSectionHeaderItem(presentationData: presentationData, text: text, sectionId: self.section)
case let .title(_, placeholder, value):
return ItemListSingleLineInputItem(presentationData: presentationData, title: NSAttributedString(), text: value, placeholder: placeholder, maxLength: 32, sectionId: self.section, textUpdated: { value in
arguments.updateState { state in
@ -356,6 +367,7 @@ private enum InviteLinksEditEntry: ItemListNodeEntry {
private func inviteLinkEditControllerEntries(invite: ExportedInvitation?, state: InviteLinkEditControllerState, isGroup: Bool, isPublic: Bool, presentationData: PresentationData) -> [InviteLinksEditEntry] {
var entries: [InviteLinksEditEntry] = []
entries.append(.titleHeader(presentationData.theme, presentationData.strings.InviteLink_Create_LinkNameTitle.uppercased()))
entries.append(.title(presentationData.theme, presentationData.strings.InviteLink_Create_LinkName, state.title))
entries.append(.titleInfo(presentationData.theme, presentationData.strings.InviteLink_Create_LinkNameInfo))

View File

@ -112,7 +112,7 @@ class InviteLinkHeaderItemNode: ListViewItemNode {
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: attributedText, backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: params.width - params.rightInset - leftInset * 2.0, height: CGFloat.greatestFiniteMagnitude), alignment: .center, cutout: nil, insets: UIEdgeInsets()))
let contentSize = CGSize(width: params.width, height: topInset + titleLayout.size.height)
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -138,7 +138,7 @@ public class ItemListDatePickerItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
return (ListViewItemNodeLayout(contentSize: contentSize, insets: insets), { [weak self] in

View File

@ -275,7 +275,7 @@ private final class ItemListInviteLinkTimeLimitItemNode: ListViewItemNode {
let (customTextLayout, customTextApply) = makeCustomTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: customTextString, font: Font.regular(13.0), textColor: item.theme.list.itemSecondaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width, height: CGFloat.greatestFiniteMagnitude), alignment: .center, lineSpacing: 0.0, cutout: nil, insets: UIEdgeInsets()))
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -456,7 +456,7 @@ public class ItemListInviteLinkItemNode: ListViewItemNode, ItemListItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let contentSize = CGSize(width: params.width, height: max(minHeight, rawHeight))

View File

@ -285,7 +285,7 @@ private final class ItemListInviteLinkUsageLimitItemNode: ListViewItemNode {
let (customTextLayout, customTextApply) = makeCustomTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: customTextString, font: Font.regular(13.0), textColor: item.theme.list.itemSecondaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width, height: CGFloat.greatestFiniteMagnitude), alignment: .center, lineSpacing: 0.0, cutout: nil, insets: UIEdgeInsets()))
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -559,7 +559,7 @@ public class ItemListInviteRequestItemNode: ListViewItemNode, ItemListItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let contentSize = CGSize(width: params.width, height: max(minHeight, rawHeight))

View File

@ -338,7 +338,7 @@ public class ItemListPermanentInviteLinkItemNode: ListViewItemNode, ItemListItem
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
if !item.displayImporters {

View File

@ -178,7 +178,7 @@ public class ItemListAddressItemNode: ListViewItemNode {
case .blocks:
itemBackgroundColor = item.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
if !item.displayDecorations {

View File

@ -501,7 +501,7 @@ public class ItemListAvatarAndNameInfoItemNode: ListViewItemNode, ItemListItemNo
let baseHeight = nameNodeLayout.size.height + nameSpacing + statusNodeLayout.size.height + 30.0
contentSize = CGSize(width: params.width, height: max(baseHeight, verticalInset * 2.0 + 66.0))
if withTopInset || hasCorners {
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
} else {
let topInset: CGFloat
switch neighbors.top {

View File

@ -191,7 +191,7 @@ class ItemListPeerActionItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: titleLayout.size.height + verticalInset * 2.0)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -838,7 +838,7 @@ public class ItemListPeerItemNode: ItemListRevealOptionsItemNode, ItemListItemNo
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: titleAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 12.0 - editingOffset - rightInset - labelLayout.size.width - labelInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let (statusLayout, statusApply) = makeStatusLayout(TextNodeLayoutArguments(attributedString: statusAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset - labelLayout.size.width - labelInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
var insets = itemListNeighborsGroupedInsets(neighbors)
var insets = itemListNeighborsGroupedInsets(neighbors, params)
if !item.hasTopGroupInset {
switch neighbors.top {
case .none:

View File

@ -388,7 +388,7 @@ class ItemListStickerPackItemNode: ItemListRevealOptionsItemNode {
let verticalInset: CGFloat = 11.0
let titleSpacing: CGFloat = 2.0
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let separatorHeight = UIScreenPixel
var editableControlSizeAndApply: (CGFloat, (CGFloat) -> ItemListEditableControlNode)?

View File

@ -120,11 +120,15 @@ public func itemListNeighborsPlainInsets(_ neighbors: ItemListNeighbors) -> UIEd
return insets
}
public func itemListNeighborsGroupedInsets(_ neighbors: ItemListNeighbors) -> UIEdgeInsets {
public func itemListNeighborsGroupedInsets(_ neighbors: ItemListNeighbors, _ params: ListViewItemLayoutParams) -> UIEdgeInsets {
let topInset: CGFloat
switch neighbors.top {
case .none:
topInset = UIScreenPixel + 35.0
if itemListHasRoundedBlockLayout(params) {
topInset = UIScreenPixel + 24.0
} else {
topInset = UIScreenPixel + 35.0
}
case .sameSection:
topInset = 0.0
case let .otherSection(otherInset):

View File

@ -174,7 +174,7 @@ public class ItemListActionItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: titleLayout.size.height + 22.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -151,7 +151,7 @@ public class ItemListCheckboxItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: titleLayout.size.height + 22.0)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -330,7 +330,7 @@ public class ItemListDisclosureItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -226,7 +226,7 @@ public class InfoItemNode: ListViewItemNode {
let insets: UIEdgeInsets
if let neighbors = neighbors {
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
} else {
insets = UIEdgeInsets()
}

View File

@ -243,7 +243,7 @@ public class ItemListMultilineInputItemNode: ListViewItemNode, ASEditableTextNod
}
let contentSize = CGSize(width: params.width, height: contentHeight)
let insets = item.noInsets ? UIEdgeInsets() : itemListNeighborsGroupedInsets(neighbors)
let insets = item.noInsets ? UIEdgeInsets() : itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -211,7 +211,7 @@ public class ItemListMultilineTextItemNode: ListViewItemNode {
insets = itemListNeighborsPlainInsets(neighbors)
case .blocks:
contentSize = CGSize(width: params.width, height: titleLayout.size.height + 22.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -130,7 +130,7 @@ public class ItemListPlaceholderItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
return (ListViewItemNodeLayout(contentSize: contentSize, insets: insets), { [weak self] in

View File

@ -251,7 +251,7 @@ public class ItemListSingleLineInputItemNode: ListViewItemNode, UITextFieldDeleg
let separatorHeight = UIScreenPixel
let contentSize = CGSize(width: params.width, height: max(titleLayout.size.height, measureTitleLayout.size.height) + 22.0)
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -221,7 +221,7 @@ public class ItemListSwitchItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: 44.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
if item.disableLeadingInset {

View File

@ -134,7 +134,7 @@ public class ItemListTextItemNode: ListViewItemNode, ItemListItemNode {
let contentSize: CGSize
var insets = itemListNeighborsGroupedInsets(neighbors)
var insets = itemListNeighborsGroupedInsets(neighbors, params)
if case .large = item.text {
insets.top = 14.0
bottomInset = -6.0

View File

@ -253,7 +253,7 @@ public class ItemListVenueItemNode: ListViewItemNode, ItemListItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let contentSize = CGSize(width: params.width, height: max(minHeight, rawHeight))

View File

@ -95,7 +95,10 @@ final class JoinLinkPreviewPeerContentNode: ASDisplayNode, ShareContentContainer
let itemTheme = SelectablePeerNodeTheme(textColor: theme.actionSheet.primaryTextColor, secretTextColor: .green, selectedTextColor: theme.actionSheet.controlAccentColor, checkBackgroundColor: theme.actionSheet.opaqueItemBackgroundColor, checkFillColor: theme.actionSheet.controlAccentColor, checkColor: theme.actionSheet.opaqueItemBackgroundColor, avatarPlaceholderColor: theme.list.mediaPlaceholderColor)
if case let .invite(isGroup, _, _, memberCount, members) = content {
self.peerNodes = members.map { peer in
self.peerNodes = members.compactMap { peer in
guard peer.id != context.account.peerId else {
return nil
}
let node = SelectablePeerNode()
node.setup(context: context, theme: theme, strings: strings, peer: EngineRenderedPeer(peer: peer), synchronousLoad: false)
node.theme = itemTheme

View File

@ -198,7 +198,7 @@ class ChatSlowmodeItemNode: ListViewItemNode {
}
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -208,7 +208,7 @@ class GroupStickerPackCurrentItemNode: ItemListRevealOptionsItemNode {
let leftInset: CGFloat = 65.0 + params.leftInset
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 59.0)
let separatorHeight = UIScreenPixel

View File

@ -225,7 +225,7 @@ public class ItemListCallListItemNode: ListViewItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
if !item.displayDecorations {

View File

@ -187,7 +187,7 @@ class ItemListSecretChatKeyItemNode: ListViewItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: 22.0 + titleLayout.size.height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -192,7 +192,7 @@ class PeerRemoveTimeoutItemNode: ListViewItemNode, ItemListItemNode {
}
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -93,7 +93,7 @@ class PeersNearbyHeaderItemNode: ListViewItemNode {
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: attributedText, backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: params.width - params.rightInset - leftInset * 2.0, height: CGFloat.greatestFiniteMagnitude), alignment: .center, cutout: nil, insets: UIEdgeInsets()))
let contentSize = CGSize(width: params.width, height: topInset + titleLayout.size.height)
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -226,7 +226,7 @@ private final class AutodownloadDataUsagePickerItemNode: ListViewItemNode {
let (customTextLayout, customTextApply) = makeCustomTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.strings.AutoDownloadSettings_DataUsageCustom, font: Font.regular(13.0), textColor: item.theme.list.itemSecondaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width, height: CGFloat.greatestFiniteMagnitude), alignment: .center, lineSpacing: 0.0, cutout: nil, insets: UIEdgeInsets()))
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -200,7 +200,7 @@ private final class AutodownloadSizeLimitItemNode: ListViewItemNode {
let (maxTextLayout, maxTextApply) = makeMaxTextLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: dataSizeString(1536 * 1024 * 1024, formatting: formatting), font: Font.regular(13.0), textColor: item.theme.list.itemSecondaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width, height: CGFloat.greatestFiniteMagnitude), alignment: .center, lineSpacing: 0.0, cutout: nil, insets: UIEdgeInsets()))
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -125,7 +125,7 @@ private final class CalculatingCacheSizeItemNode: ListViewItemNode {
itemBackgroundColor = item.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: titleLayout.size.height + 22.0 + 24.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -186,7 +186,7 @@ private final class KeepMediaDurationPickerItemNode: ListViewItemNode {
}
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -201,7 +201,7 @@ private final class MaximumCacheSizePickerItemNode: ListViewItemNode {
}
contentSize = CGSize(width: params.width, height: 88.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -141,7 +141,7 @@ private final class ProxySettingsActionItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 22.0 + titleLayout.size.height)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -265,7 +265,7 @@ private final class ProxySettingsServerItemNode: ItemListRevealOptionsItemNode {
let (titleLayout, titleApply) = makeTitleLayout(TextNodeLayoutArguments(attributedString: titleAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .middle, constrainedSize: CGSize(width: params.width - leftInset - 12.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let (statusLayout, statusApply) = makeStatusLayout(TextNodeLayoutArguments(attributedString: statusAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 64.0)
let separatorHeight = UIScreenPixel

View File

@ -203,7 +203,7 @@ private final class StorageUsageItemNode: ListViewItemNode {
}
contentSize = CGSize(width: params.width, height: textOrigin.y + 34.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -161,7 +161,7 @@ private final class WebBrowserItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 22.0 + titleLayout.size.height)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -199,7 +199,7 @@ class LocalizationListItemNode: ItemListRevealOptionsItemNode {
let (subtitleLayout, subtitleApply) = makeSubtitleLayout(TextNodeLayoutArguments(attributedString: NSAttributedString(string: item.subtitle, font: subtitleFont, textColor: item.presentationData.theme.list.itemPrimaryTextColor), backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 50.0, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: titleLayout.size.height + 1.0 + subtitleLayout.size.height + 8.0 * 2.0)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -235,7 +235,7 @@ public class NotificationsCategoryItemListItemNode: ListViewItemNode, ItemListIt
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -174,7 +174,7 @@ class ForwardPrivacyChatPreviewItemNode: ListViewItemNode {
if let node = node {
contentSize.height += node.frame.size.height
}
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -330,7 +330,7 @@ class ItemListRecentSessionItemNode: ItemListRevealOptionsItemNode {
let (appLayout, appApply) = makeAppLayout(TextNodeLayoutArguments(attributedString: appAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let (locationLayout, locationApply) = makeLocationLayout(TextNodeLayoutArguments(attributedString: locationAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: verticalInset * 2.0 + titleLayout.size.height + titleSpacing + appLayout.size.height + textSpacing + locationLayout.size.height)
let separatorHeight = UIScreenPixel

View File

@ -260,7 +260,7 @@ class ItemListWebsiteItemNode: ItemListRevealOptionsItemNode {
let (appLayout, appApply) = makeAppLayout(TextNodeLayoutArguments(attributedString: appAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let (locationLayout, locationApply) = makeLocationLayout(TextNodeLayoutArguments(attributedString: locationAttributedString, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - 8.0 - editingOffset - rightInset, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
let contentSize = CGSize(width: params.width, height: 75.0)
let separatorHeight = UIScreenPixel

View File

@ -134,7 +134,7 @@ class SettingsSearchResultItemNode: ListViewItemNode {
var leftInset: CGFloat = params.leftInset
let contentInset: CGFloat = 58.0
let insets = itemListNeighborsGroupedInsets(neighbors)
let insets = itemListNeighborsGroupedInsets(neighbors, params)
leftInset += contentInset

View File

@ -172,7 +172,7 @@ class BubbleSettingsRadiusItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 60.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
if item.disableLeadingInset {
insets.top = 0.0

View File

@ -687,7 +687,7 @@ class ThemeCarouselThemeItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 133.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -432,7 +432,7 @@ class ThemeGridThemeItemNode: ListViewItemNode, ItemListItemNode {
let rows = ceil(CGFloat(item.themes.count) / CGFloat(imageCount))
contentSize = CGSize(width: params.width, height: minSpacing + rows * (itemSize.height + itemSpacing))
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -786,7 +786,7 @@ class ThemeSettingsAccentColorItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 60.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -212,7 +212,7 @@ class ThemeSettingsAppIconItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 116.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -141,7 +141,7 @@ class ThemeSettingsBrightnessItemNode: ListViewItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 60.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -199,7 +199,7 @@ class ThemeSettingsChatPreviewItemNode: ListViewItemNode {
for node in nodes {
contentSize.height += node.frame.size.height
}
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -187,7 +187,7 @@ class ThemeSettingsFontSizeItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 60.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
if item.disableLeadingInset {
insets.top = 0.0

View File

@ -541,7 +541,7 @@ class ThemeSettingsThemeItemNode: ListViewItemNode, ItemListItemNode {
let separatorHeight = UIScreenPixel
contentSize = CGSize(width: params.width, height: 116.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)
let layoutSize = layout.size

View File

@ -147,7 +147,7 @@ class MessageStatsOverviewItemNode: ListViewItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let valueFont = Font.semibold(item.presentationData.fontSize.itemListBaseFontSize)

View File

@ -159,7 +159,7 @@ class StatsGraphItemNode: ListViewItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: 361.0)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
var visibilityHeight = currentVisibilityHeight

View File

@ -311,7 +311,7 @@ public class StatsMessageItemNode: ListViewItemNode, ItemListItemNode {
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
contentSize = CGSize(width: params.width, height: height)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)

View File

@ -187,7 +187,7 @@ class StatsOverviewItemNode: ListViewItemNode {
case .blocks:
itemBackgroundColor = item.presentationData.theme.list.itemBlocksBackgroundColor
itemSeparatorColor = item.presentationData.theme.list.itemBlocksSeparatorColor
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let valueFont = Font.semibold(item.presentationData.fontSize.itemListBaseFontSize)

View File

@ -225,7 +225,7 @@ class UpdateInfoItemNode: ListViewItemNode {
insets = itemListNeighborsPlainInsets(neighbors)
case .blocks:
contentSize = CGSize(width: params.width, height: 88.0 + textLayout.size.height + inset)
insets = itemListNeighborsGroupedInsets(neighbors)
insets = itemListNeighborsGroupedInsets(neighbors, params)
}
let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets)