mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
c04e8f3c11
commit
fa46338010
@ -1542,24 +1542,7 @@ private final class ProfileGiftsContextImpl {
|
|||||||
return EmptyDisposable
|
return EmptyDisposable
|
||||||
}
|
}
|
||||||
|
|
||||||
var saveToProfile = false
|
let signal = _internal_updateStarGiftResalePrice(account: self.account, reference: reference, price: price)
|
||||||
if let gift = self.gifts.first(where: { $0.reference == reference }) {
|
|
||||||
if !gift.savedToProfile {
|
|
||||||
saveToProfile = true
|
|
||||||
}
|
|
||||||
} else if let gift = self.filteredGifts.first(where: { $0.reference == reference }) {
|
|
||||||
if !gift.savedToProfile {
|
|
||||||
saveToProfile = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var signal = _internal_updateStarGiftResalePrice(account: self.account, reference: reference, price: price)
|
|
||||||
if saveToProfile {
|
|
||||||
signal = _internal_updateStarGiftAddedToProfile(account: self.account, reference: reference, added: true)
|
|
||||||
|> castError(UpdateStarGiftPriceError.self)
|
|
||||||
|> then(signal)
|
|
||||||
}
|
|
||||||
|
|
||||||
let disposable = MetaDisposable()
|
let disposable = MetaDisposable()
|
||||||
disposable.set(
|
disposable.set(
|
||||||
(signal
|
(signal
|
||||||
@ -1584,7 +1567,7 @@ private final class ProfileGiftsContextImpl {
|
|||||||
}) {
|
}) {
|
||||||
if case let .unique(uniqueGift) = self.gifts[index].gift {
|
if case let .unique(uniqueGift) = self.gifts[index].gift {
|
||||||
let updatedUniqueGift = uniqueGift.withResellStars(price)
|
let updatedUniqueGift = uniqueGift.withResellStars(price)
|
||||||
let updatedGift = self.gifts[index].withGift(.unique(updatedUniqueGift)).withSavedToProfile(true)
|
let updatedGift = self.gifts[index].withGift(.unique(updatedUniqueGift))
|
||||||
self.gifts[index] = updatedGift
|
self.gifts[index] = updatedGift
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1607,7 +1590,7 @@ private final class ProfileGiftsContextImpl {
|
|||||||
}) {
|
}) {
|
||||||
if case let .unique(uniqueGift) = self.filteredGifts[index].gift {
|
if case let .unique(uniqueGift) = self.filteredGifts[index].gift {
|
||||||
let updatedUniqueGift = uniqueGift.withResellStars(price)
|
let updatedUniqueGift = uniqueGift.withResellStars(price)
|
||||||
let updatedGift = self.filteredGifts[index].withGift(.unique(updatedUniqueGift)).withSavedToProfile(true)
|
let updatedGift = self.filteredGifts[index].withGift(.unique(updatedUniqueGift))
|
||||||
self.filteredGifts[index] = updatedGift
|
self.filteredGifts[index] = updatedGift
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -306,40 +306,46 @@ private final class GiftViewSheetContent: CombinedComponent {
|
|||||||
|
|
||||||
controller.dismissAllTooltips()
|
controller.dismissAllTooltips()
|
||||||
|
|
||||||
if gifts {
|
let context = self.context
|
||||||
if let profileController = self.context.sharedContext.makePeerInfoController(
|
let action = {
|
||||||
context: self.context,
|
if gifts {
|
||||||
updatedPresentationData: nil,
|
if let profileController = context.sharedContext.makePeerInfoController(
|
||||||
peer: peer._asPeer(),
|
context: context,
|
||||||
mode: peer.id == self.context.account.peerId ? .myProfileGifts : .gifts,
|
updatedPresentationData: nil,
|
||||||
avatarInitiallyExpanded: false,
|
peer: peer._asPeer(),
|
||||||
fromChat: false,
|
mode: peer.id == context.account.peerId ? .myProfileGifts : .gifts,
|
||||||
requestsContext: nil
|
avatarInitiallyExpanded: false,
|
||||||
) {
|
fromChat: false,
|
||||||
controller.push(profileController)
|
requestsContext: nil
|
||||||
|
) {
|
||||||
|
navigationController.pushViewController(profileController)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
context.sharedContext.navigateToChatController(NavigateToChatControllerParams(
|
||||||
|
navigationController: navigationController,
|
||||||
|
chatController: nil,
|
||||||
|
context: context,
|
||||||
|
chatLocation: .peer(peer),
|
||||||
|
subject: nil,
|
||||||
|
botStart: nil,
|
||||||
|
updateTextInputState: nil,
|
||||||
|
keepStack: .always,
|
||||||
|
useExisting: true,
|
||||||
|
purposefulAction: nil,
|
||||||
|
scrollToEndIfExists: false,
|
||||||
|
activateMessageSearch: nil,
|
||||||
|
animated: true
|
||||||
|
))
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
self.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(
|
|
||||||
navigationController: navigationController,
|
|
||||||
chatController: nil,
|
|
||||||
context: self.context,
|
|
||||||
chatLocation: .peer(peer),
|
|
||||||
subject: nil,
|
|
||||||
botStart: nil,
|
|
||||||
updateTextInputState: nil,
|
|
||||||
keepStack: .always,
|
|
||||||
useExisting: true,
|
|
||||||
purposefulAction: nil,
|
|
||||||
scrollToEndIfExists: false,
|
|
||||||
activateMessageSearch: nil,
|
|
||||||
animated: true
|
|
||||||
))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if dismiss {
|
if dismiss {
|
||||||
Queue.mainQueue().after(0.6, {
|
self.dismiss(animated: true)
|
||||||
self.dismiss(animated: false)
|
Queue.mainQueue().after(0.4, {
|
||||||
|
action()
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
action()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user