mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various improvements
This commit is contained in:
parent
24533df255
commit
2af174f570
@ -927,10 +927,15 @@ private final class ProfileGiftsContextImpl {
|
|||||||
|
|
||||||
private var sorting: ProfileGiftsContext.Sorting = .date
|
private var sorting: ProfileGiftsContext.Sorting = .date
|
||||||
private var filter: ProfileGiftsContext.Filters = ProfileGiftsContext.Filters.All
|
private var filter: ProfileGiftsContext.Filters = ProfileGiftsContext.Filters.All
|
||||||
|
|
||||||
private var gifts: [ProfileGiftsContext.State.StarGift] = []
|
private var gifts: [ProfileGiftsContext.State.StarGift] = []
|
||||||
private var filteredGifts: [ProfileGiftsContext.State.StarGift] = []
|
|
||||||
private var count: Int32?
|
private var count: Int32?
|
||||||
private var dataState: ProfileGiftsContext.State.DataState = .ready(canLoadMore: true, nextOffset: nil)
|
private var dataState: ProfileGiftsContext.State.DataState = .ready(canLoadMore: true, nextOffset: nil)
|
||||||
|
|
||||||
|
private var filteredGifts: [ProfileGiftsContext.State.StarGift] = []
|
||||||
|
private var filteredCount: Int32?
|
||||||
|
private var filteredDataState: ProfileGiftsContext.State.DataState = .ready(canLoadMore: true, nextOffset: nil)
|
||||||
|
|
||||||
private var notificationsEnabled: Bool?
|
private var notificationsEnabled: Bool?
|
||||||
|
|
||||||
var _state: ProfileGiftsContext.State?
|
var _state: ProfileGiftsContext.State?
|
||||||
@ -958,9 +963,15 @@ private final class ProfileGiftsContextImpl {
|
|||||||
let accountPeerId = self.account.peerId
|
let accountPeerId = self.account.peerId
|
||||||
let network = self.account.network
|
let network = self.account.network
|
||||||
let postbox = self.account.postbox
|
let postbox = self.account.postbox
|
||||||
|
let filter = self.filter
|
||||||
|
let sorting = self.sorting
|
||||||
|
|
||||||
if case let .ready(true, initialNextOffset) = self.dataState {
|
let isFiltered = self.filter != .All || self.sorting != .date
|
||||||
if self.gifts.isEmpty, initialNextOffset == nil {
|
|
||||||
|
let dataState = isFiltered ? self.filteredDataState : self.dataState
|
||||||
|
|
||||||
|
if case let .ready(true, initialNextOffset) = dataState {
|
||||||
|
if !isFiltered, self.gifts.isEmpty, initialNextOffset == nil {
|
||||||
self.cacheDisposable.set((self.account.postbox.transaction { transaction -> CachedProfileGifts? in
|
self.cacheDisposable.set((self.account.postbox.transaction { transaction -> CachedProfileGifts? in
|
||||||
let cachedGifts = transaction.retrieveItemCacheEntry(id: entryId(peerId: peerId))?.get(CachedProfileGifts.self)
|
let cachedGifts = transaction.retrieveItemCacheEntry(id: entryId(peerId: peerId))?.get(CachedProfileGifts.self)
|
||||||
cachedGifts?.render(transaction: transaction)
|
cachedGifts?.render(transaction: transaction)
|
||||||
@ -978,7 +989,11 @@ private final class ProfileGiftsContextImpl {
|
|||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
self.dataState = .loading
|
if isFiltered {
|
||||||
|
self.filteredDataState = .loading
|
||||||
|
} else {
|
||||||
|
self.dataState = .loading
|
||||||
|
}
|
||||||
self.pushState()
|
self.pushState()
|
||||||
|
|
||||||
let signal: Signal<([ProfileGiftsContext.State.StarGift], Int32, String?, Bool?), NoError> = self.account.postbox.transaction { transaction -> Api.InputPeer? in
|
let signal: Signal<([ProfileGiftsContext.State.StarGift], Int32, String?, Bool?), NoError> = self.account.postbox.transaction { transaction -> Api.InputPeer? in
|
||||||
@ -988,7 +1003,25 @@ private final class ProfileGiftsContextImpl {
|
|||||||
guard let inputPeer else {
|
guard let inputPeer else {
|
||||||
return .single(([], 0, nil, nil))
|
return .single(([], 0, nil, nil))
|
||||||
}
|
}
|
||||||
let flags: Int32 = 0
|
var flags: Int32 = 0
|
||||||
|
if case .value = sorting {
|
||||||
|
flags |= (1 << 5)
|
||||||
|
}
|
||||||
|
if !filter.contains(.hidden) {
|
||||||
|
flags |= (1 << 0)
|
||||||
|
}
|
||||||
|
if !filter.contains(.displayed) {
|
||||||
|
flags |= (1 << 1)
|
||||||
|
}
|
||||||
|
if !filter.contains(.unlimited) {
|
||||||
|
flags |= (1 << 2)
|
||||||
|
}
|
||||||
|
if !filter.contains(.limited) {
|
||||||
|
flags |= (1 << 3)
|
||||||
|
}
|
||||||
|
if !filter.contains(.unique) {
|
||||||
|
flags |= (1 << 4)
|
||||||
|
}
|
||||||
return network.request(Api.functions.payments.getSavedStarGifts(flags: flags, peer: inputPeer, offset: initialNextOffset ?? "", limit: 32))
|
return network.request(Api.functions.payments.getSavedStarGifts(flags: flags, peer: inputPeer, offset: initialNextOffset ?? "", limit: 32))
|
||||||
|> map(Optional.init)
|
|> map(Optional.init)
|
||||||
|> `catch` { _ -> Signal<Api.payments.SavedStarGifts?, NoError> in
|
|> `catch` { _ -> Signal<Api.payments.SavedStarGifts?, NoError> in
|
||||||
@ -1022,28 +1055,42 @@ private final class ProfileGiftsContextImpl {
|
|||||||
|
|
||||||
self.disposable.set((signal
|
self.disposable.set((signal
|
||||||
|> deliverOn(self.queue)).start(next: { [weak self] (gifts, count, nextOffset, notificationsEnabled) in
|
|> deliverOn(self.queue)).start(next: { [weak self] (gifts, count, nextOffset, notificationsEnabled) in
|
||||||
guard let strongSelf = self else {
|
guard let self else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if initialNextOffset == nil {
|
if isFiltered {
|
||||||
strongSelf.gifts = gifts
|
if initialNextOffset == nil {
|
||||||
|
self.filteredGifts = gifts
|
||||||
strongSelf.cacheDisposable.set(strongSelf.account.postbox.transaction { transaction in
|
} else {
|
||||||
if let entry = CodableEntry(CachedProfileGifts(gifts: gifts, count: count, notificationsEnabled: notificationsEnabled)) {
|
for gift in gifts {
|
||||||
transaction.putItemCacheEntry(id: entryId(peerId: peerId), entry: entry)
|
self.filteredGifts.append(gift)
|
||||||
}
|
}
|
||||||
}.start())
|
|
||||||
} else {
|
|
||||||
for gift in gifts {
|
|
||||||
strongSelf.gifts.append(gift)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let updatedCount = max(Int32(self.filteredGifts.count), count)
|
||||||
|
self.filteredCount = updatedCount
|
||||||
|
self.filteredDataState = .ready(canLoadMore: count != 0 && updatedCount > self.filteredGifts.count && nextOffset != nil, nextOffset: nextOffset)
|
||||||
|
} else {
|
||||||
|
if initialNextOffset == nil {
|
||||||
|
self.gifts = gifts
|
||||||
|
self.cacheDisposable.set(self.account.postbox.transaction { transaction in
|
||||||
|
if let entry = CodableEntry(CachedProfileGifts(gifts: gifts, count: count, notificationsEnabled: notificationsEnabled)) {
|
||||||
|
transaction.putItemCacheEntry(id: entryId(peerId: peerId), entry: entry)
|
||||||
|
}
|
||||||
|
}.start())
|
||||||
|
} else {
|
||||||
|
for gift in gifts {
|
||||||
|
self.gifts.append(gift)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let updatedCount = max(Int32(self.gifts.count), count)
|
||||||
|
self.count = updatedCount
|
||||||
|
self.dataState = .ready(canLoadMore: count != 0 && updatedCount > self.gifts.count && nextOffset != nil, nextOffset: nextOffset)
|
||||||
}
|
}
|
||||||
|
|
||||||
let updatedCount = max(Int32(strongSelf.gifts.count), count)
|
self.notificationsEnabled = notificationsEnabled
|
||||||
strongSelf.count = updatedCount
|
self.pushState()
|
||||||
strongSelf.dataState = .ready(canLoadMore: count != 0 && updatedCount > strongSelf.gifts.count && nextOffset != nil, nextOffset: nextOffset)
|
|
||||||
strongSelf.notificationsEnabled = notificationsEnabled
|
|
||||||
strongSelf.pushState()
|
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1116,16 +1163,36 @@ private final class ProfileGiftsContextImpl {
|
|||||||
|
|
||||||
func updateFilter(_ filter: ProfileGiftsContext.Filters) {
|
func updateFilter(_ filter: ProfileGiftsContext.Filters) {
|
||||||
self.filter = filter
|
self.filter = filter
|
||||||
|
self.filteredDataState = .ready(canLoadMore: true, nextOffset: nil)
|
||||||
self.pushState()
|
self.pushState()
|
||||||
|
|
||||||
|
self.loadMore()
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateSorting(_ sorting: ProfileGiftsContext.Sorting) {
|
func updateSorting(_ sorting: ProfileGiftsContext.Sorting) {
|
||||||
self.sorting = sorting
|
self.sorting = sorting
|
||||||
|
self.filteredDataState = .ready(canLoadMore: true, nextOffset: nil)
|
||||||
self.pushState()
|
self.pushState()
|
||||||
|
|
||||||
|
self.loadMore()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func pushState() {
|
private func pushState() {
|
||||||
let state = ProfileGiftsContext.State(filter: self.filter, sorting: self.sorting, gifts: self.gifts, count: self.count, dataState: self.dataState, notificationsEnabled: self.notificationsEnabled)
|
let useMainData = (self.filter == .All && self.sorting == .date) || self.filteredCount == nil
|
||||||
|
|
||||||
|
let effectiveGifts = useMainData ? self.gifts : self.filteredGifts
|
||||||
|
let effectiveCount = useMainData ? self.count : self.filteredCount
|
||||||
|
let effectiveDataState = useMainData ? self.dataState : self.filteredDataState
|
||||||
|
|
||||||
|
let state = ProfileGiftsContext.State(
|
||||||
|
filter: self.filter,
|
||||||
|
sorting: self.sorting,
|
||||||
|
gifts: self.gifts,
|
||||||
|
filteredGifts: effectiveGifts,
|
||||||
|
count: effectiveCount,
|
||||||
|
dataState: effectiveDataState,
|
||||||
|
notificationsEnabled: self.notificationsEnabled
|
||||||
|
)
|
||||||
self._state = state
|
self._state = state
|
||||||
self.stateValue.set(.single(state))
|
self.stateValue.set(.single(state))
|
||||||
}
|
}
|
||||||
@ -1314,6 +1381,7 @@ public final class ProfileGiftsContext {
|
|||||||
public var filter: Filters
|
public var filter: Filters
|
||||||
public var sorting: Sorting
|
public var sorting: Sorting
|
||||||
public var gifts: [ProfileGiftsContext.State.StarGift]
|
public var gifts: [ProfileGiftsContext.State.StarGift]
|
||||||
|
public var filteredGifts: [ProfileGiftsContext.State.StarGift]
|
||||||
public var count: Int32?
|
public var count: Int32?
|
||||||
public var dataState: ProfileGiftsContext.State.DataState
|
public var dataState: ProfileGiftsContext.State.DataState
|
||||||
public var notificationsEnabled: Bool?
|
public var notificationsEnabled: Bool?
|
||||||
|
@ -10946,28 +10946,32 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
|||||||
} else {
|
} else {
|
||||||
updatedFilter.insert(value)
|
updatedFilter.insert(value)
|
||||||
}
|
}
|
||||||
|
if !updatedFilter.contains(.unlimited) && !updatedFilter.contains(.limited) && !updatedFilter.contains(.unique) {
|
||||||
|
updatedFilter.insert(.unlimited)
|
||||||
|
}
|
||||||
|
if !updatedFilter.contains(.displayed) && !updatedFilter.contains(.hidden) {
|
||||||
|
if value == .displayed {
|
||||||
|
updatedFilter.insert(.hidden)
|
||||||
|
} else {
|
||||||
|
updatedFilter.insert(.displayed)
|
||||||
|
}
|
||||||
|
}
|
||||||
giftsContext?.updateFilter(updatedFilter)
|
giftsContext?.updateFilter(updatedFilter)
|
||||||
}
|
}
|
||||||
|
|
||||||
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unlimited, icon: { theme in
|
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unlimited, icon: { theme in
|
||||||
return filter.contains(.unlimited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
return filter.contains(.unlimited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||||
}, action: { _, f in
|
}, action: { _, f in
|
||||||
f(.default)
|
|
||||||
|
|
||||||
toggleFilter(.unlimited)
|
toggleFilter(.unlimited)
|
||||||
})))
|
})))
|
||||||
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Limited, icon: { theme in
|
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Limited, icon: { theme in
|
||||||
return filter.contains(.limited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
return filter.contains(.limited) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||||
}, action: { _, f in
|
}, action: { _, f in
|
||||||
f(.default)
|
|
||||||
|
|
||||||
toggleFilter(.limited)
|
toggleFilter(.limited)
|
||||||
})))
|
})))
|
||||||
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unique, icon: { theme in
|
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Unique, icon: { theme in
|
||||||
return filter.contains(.unique) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
return filter.contains(.unique) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||||
}, action: { _, f in
|
}, action: { _, f in
|
||||||
f(.default)
|
|
||||||
|
|
||||||
toggleFilter(.unique)
|
toggleFilter(.unique)
|
||||||
})))
|
})))
|
||||||
|
|
||||||
@ -10976,15 +10980,11 @@ final class PeerInfoScreenNode: ViewControllerTracingNode, PeerInfoScreenNodePro
|
|||||||
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Displayed, icon: { theme in
|
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Displayed, icon: { theme in
|
||||||
return filter.contains(.displayed) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
return filter.contains(.displayed) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||||
}, action: { _, f in
|
}, action: { _, f in
|
||||||
f(.default)
|
|
||||||
|
|
||||||
toggleFilter(.displayed)
|
toggleFilter(.displayed)
|
||||||
})))
|
})))
|
||||||
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Hidden, icon: { theme in
|
items.append(.action(ContextMenuActionItem(text: strings.PeerInfo_Gifts_Hidden, icon: { theme in
|
||||||
return filter.contains(.hidden) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
return filter.contains(.hidden) ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||||
}, action: { _, f in
|
}, action: { _, f in
|
||||||
f(.default)
|
|
||||||
|
|
||||||
toggleFilter(.hidden)
|
toggleFilter(.hidden)
|
||||||
})))
|
})))
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
private var panelButton: SolidRoundedButtonNode?
|
private var panelButton: SolidRoundedButtonNode?
|
||||||
private var panelCheck: ComponentView<Empty>?
|
private var panelCheck: ComponentView<Empty>?
|
||||||
|
|
||||||
private var currentParams: (size: CGSize, sideInset: CGFloat, bottomInset: CGFloat, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, presentationData: PresentationData)?
|
private var currentParams: (size: CGSize, sideInset: CGFloat, bottomInset: CGFloat, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, expandProgress: CGFloat, presentationData: PresentationData)?
|
||||||
|
|
||||||
private var theme: PresentationTheme?
|
private var theme: PresentationTheme?
|
||||||
private let presentationDataPromise = Promise<PresentationData>()
|
private let presentationDataPromise = Promise<PresentationData>()
|
||||||
@ -96,7 +96,7 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
let isFirstTime = starsProducts == nil
|
let isFirstTime = starsProducts == nil
|
||||||
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
|
let presentationData = self.context.sharedContext.currentPresentationData.with { $0 }
|
||||||
self.statusPromise.set(.single(PeerInfoStatusData(text: presentationData.strings.SharedMedia_GiftCount(state.count ?? 0), isActivity: true, key: .gifts)))
|
self.statusPromise.set(.single(PeerInfoStatusData(text: presentationData.strings.SharedMedia_GiftCount(state.count ?? 0), isActivity: true, key: .gifts)))
|
||||||
self.starsProducts = state.gifts
|
self.starsProducts = state.filteredGifts
|
||||||
|
|
||||||
if !self.didSetReady {
|
if !self.didSetReady {
|
||||||
self.didSetReady = true
|
self.didSetReady = true
|
||||||
@ -313,7 +313,6 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
var bottomScrollInset: CGFloat = 0.0
|
var bottomScrollInset: CGFloat = 0.0
|
||||||
var contentHeight = ceil(CGFloat(starsProducts.count) / 3.0) * (starsOptionSize.height + optionSpacing) - optionSpacing + topInset + 16.0
|
var contentHeight = ceil(CGFloat(starsProducts.count) / 3.0) * (starsOptionSize.height + optionSpacing) - optionSpacing + topInset + 16.0
|
||||||
|
|
||||||
|
|
||||||
let transition = ComponentTransition.immediate
|
let transition = ComponentTransition.immediate
|
||||||
|
|
||||||
let size = params.size
|
let size = params.size
|
||||||
@ -328,6 +327,8 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
let panelSeparator: ASDisplayNode
|
let panelSeparator: ASDisplayNode
|
||||||
let panelButton: SolidRoundedButtonNode
|
let panelButton: SolidRoundedButtonNode
|
||||||
|
|
||||||
|
let panelAlpha = params.expandProgress
|
||||||
|
|
||||||
if let current = self.panelBackground {
|
if let current = self.panelBackground {
|
||||||
panelBackground = current
|
panelBackground = current
|
||||||
} else {
|
} else {
|
||||||
@ -382,6 +383,7 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
}
|
}
|
||||||
|
|
||||||
transition.setFrame(view: panelButton.view, frame: CGRect(origin: CGPoint(x: buttonSideInset, y: size.height - bottomInset - buttonSize.height - scrollOffset), size: buttonSize))
|
transition.setFrame(view: panelButton.view, frame: CGRect(origin: CGPoint(x: buttonSideInset, y: size.height - bottomInset - buttonSize.height - scrollOffset), size: buttonSize))
|
||||||
|
transition.setAlpha(view: panelButton.view, alpha: panelAlpha)
|
||||||
let _ = panelButton.updateLayout(width: buttonSize.width, transition: .immediate)
|
let _ = panelButton.updateLayout(width: buttonSize.width, transition: .immediate)
|
||||||
|
|
||||||
if self.canManage {
|
if self.canManage {
|
||||||
@ -452,13 +454,16 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
self.view.addSubview(panelCheckView)
|
self.view.addSubview(panelCheckView)
|
||||||
}
|
}
|
||||||
panelCheckView.frame = CGRect(origin: CGPoint(x: floor((size.width - panelCheckSize.width) / 2.0), y: size.height - bottomInset - panelCheckSize.height - 11.0 - scrollOffset), size: panelCheckSize)
|
panelCheckView.frame = CGRect(origin: CGPoint(x: floor((size.width - panelCheckSize.width) / 2.0), y: size.height - bottomInset - panelCheckSize.height - 11.0 - scrollOffset), size: panelCheckSize)
|
||||||
|
transition.setAlpha(view: panelCheckView, alpha: panelAlpha)
|
||||||
}
|
}
|
||||||
panelButton.isHidden = true
|
panelButton.isHidden = true
|
||||||
}
|
}
|
||||||
|
|
||||||
transition.setFrame(view: panelBackground.view, frame: CGRect(x: 0.0, y: size.height - bottomPanelHeight - scrollOffset, width: size.width, height: bottomPanelHeight))
|
transition.setFrame(view: panelBackground.view, frame: CGRect(x: 0.0, y: size.height - bottomPanelHeight - scrollOffset, width: size.width, height: bottomPanelHeight))
|
||||||
|
transition.setAlpha(view: panelBackground.view, alpha: panelAlpha)
|
||||||
panelBackground.update(size: CGSize(width: size.width, height: bottomPanelHeight), transition: transition.containedViewLayoutTransition)
|
panelBackground.update(size: CGSize(width: size.width, height: bottomPanelHeight), transition: transition.containedViewLayoutTransition)
|
||||||
transition.setFrame(view: panelSeparator.view, frame: CGRect(x: 0.0, y: size.height - bottomPanelHeight - scrollOffset, width: size.width, height: UIScreenPixel))
|
transition.setFrame(view: panelSeparator.view, frame: CGRect(x: 0.0, y: size.height - bottomPanelHeight - scrollOffset, width: size.width, height: UIScreenPixel))
|
||||||
|
transition.setAlpha(view: panelSeparator.view, alpha: panelAlpha)
|
||||||
|
|
||||||
if self.peerId == self.context.account.peerId {
|
if self.peerId == self.context.account.peerId {
|
||||||
let footerText: ComponentView<Empty>
|
let footerText: ComponentView<Empty>
|
||||||
@ -529,7 +534,7 @@ public final class PeerInfoGiftsPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScr
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func update(size: CGSize, topInset: CGFloat, sideInset: CGFloat, bottomInset: CGFloat, deviceMetrics: DeviceMetrics, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, expandProgress: CGFloat, navigationHeight: CGFloat, presentationData: PresentationData, synchronous: Bool, transition: ContainedViewLayoutTransition) {
|
public func update(size: CGSize, topInset: CGFloat, sideInset: CGFloat, bottomInset: CGFloat, deviceMetrics: DeviceMetrics, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, expandProgress: CGFloat, navigationHeight: CGFloat, presentationData: PresentationData, synchronous: Bool, transition: ContainedViewLayoutTransition) {
|
||||||
self.currentParams = (size, sideInset, bottomInset, visibleHeight, isScrollingLockedAtTop, presentationData)
|
self.currentParams = (size, sideInset, bottomInset, visibleHeight, isScrollingLockedAtTop, expandProgress, presentationData)
|
||||||
self.presentationDataPromise.set(.single(presentationData))
|
self.presentationDataPromise.set(.single(presentationData))
|
||||||
|
|
||||||
self.backgroundNode.backgroundColor = presentationData.theme.list.blocksBackgroundColor
|
self.backgroundNode.backgroundColor = presentationData.theme.list.blocksBackgroundColor
|
||||||
|
Loading…
x
Reference in New Issue
Block a user