Various fixes

This commit is contained in:
Ilya Laktyushin 2025-05-03 17:07:17 +04:00
parent c04e8f3c11
commit fa46338010
2 changed files with 38 additions and 49 deletions

View File

@ -1542,24 +1542,7 @@ private final class ProfileGiftsContextImpl {
return EmptyDisposable
}
var saveToProfile = false
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 signal = _internal_updateStarGiftResalePrice(account: self.account, reference: reference, price: price)
let disposable = MetaDisposable()
disposable.set(
(signal
@ -1584,7 +1567,7 @@ private final class ProfileGiftsContextImpl {
}) {
if case let .unique(uniqueGift) = self.gifts[index].gift {
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
}
}
@ -1607,7 +1590,7 @@ private final class ProfileGiftsContextImpl {
}) {
if case let .unique(uniqueGift) = self.filteredGifts[index].gift {
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
}
}

View File

@ -306,23 +306,25 @@ private final class GiftViewSheetContent: CombinedComponent {
controller.dismissAllTooltips()
let context = self.context
let action = {
if gifts {
if let profileController = self.context.sharedContext.makePeerInfoController(
context: self.context,
if let profileController = context.sharedContext.makePeerInfoController(
context: context,
updatedPresentationData: nil,
peer: peer._asPeer(),
mode: peer.id == self.context.account.peerId ? .myProfileGifts : .gifts,
mode: peer.id == context.account.peerId ? .myProfileGifts : .gifts,
avatarInitiallyExpanded: false,
fromChat: false,
requestsContext: nil
) {
controller.push(profileController)
navigationController.pushViewController(profileController)
}
} else {
self.context.sharedContext.navigateToChatController(NavigateToChatControllerParams(
context.sharedContext.navigateToChatController(NavigateToChatControllerParams(
navigationController: navigationController,
chatController: nil,
context: self.context,
context: context,
chatLocation: .peer(peer),
subject: nil,
botStart: nil,
@ -335,11 +337,15 @@ private final class GiftViewSheetContent: CombinedComponent {
animated: true
))
}
}
if dismiss {
Queue.mainQueue().after(0.6, {
self.dismiss(animated: false)
self.dismiss(animated: true)
Queue.mainQueue().after(0.4, {
action()
})
} else {
action()
}
}