From bbad57434f9252a08a745b5d3062f6d7ddb54ef8 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Mon, 2 Feb 2026 15:54:43 +0400 Subject: [PATCH] Various fixes --- Telegram/Telegram-iOS/Resources/CraftFail.tgs | Bin 0 -> 3344 bytes .../Telegram-iOS/en.lproj/Localizable.strings | 4 +- ...ationSequenceCodeEntryControllerNode.swift | 2 +- ...tionSequenceEmailEntryControllerNode.swift | 2 +- ...tionSequencePhoneEntryControllerNode.swift | 4 +- ...rizationSequenceSignUpControllerNode.swift | 2 +- .../AvatarNode/Sources/AvatarNode.swift | 2 +- .../Sources/ChatListController.swift | 29 +++++++++++-- ...stControllerLeaveChannelConfirmation.swift | 2 +- .../Sources/Node/ChatListNode.swift | 6 +-- .../Sources/SheetComponent.swift | 14 ++++++- .../DrawingUI/Sources/ColorPickerScreen.swift | 2 + .../Sources/AddPaymentMethodSheetScreen.swift | 2 + .../PremiumUI/Sources/PremiumDemoScreen.swift | 2 + .../Sources/PremiumGiftCodeScreen.swift | 2 + .../Sources/PremiumLimitScreen.swift | 2 + .../Sources/PremiumPrivacyScreen.swift | 2 + .../QrCodeUI/Sources/QrCodeScreen.swift | 2 + .../RecentSessionScreen.swift | 2 + .../Sources/MonetizationIntroScreen.swift | 2 + .../Sources/TransactionInfoScreen.swift | 2 + .../ScheduleVideoChatSheetScreen.swift | 2 + .../Sources/AdsReportScreen.swift | 2 + .../Sources/AuthConfirmationScreen.swift | 2 + .../Sources/AvatarComponent.swift | 1 + .../Sources/ChatMessageBubbleItemNode.swift | 8 ++-- .../Sources/ChatScheduleTimeScreen.swift | 2 + .../Sources/CocoonInfoScreen.swift | 2 + .../Sources/ContentReportScreen.swift | 2 + .../Sources/AgeVerificationScreen.swift | 2 + .../Sources/CraftTableComponent.swift | 39 +++++------------- .../Sources/GiftDemoScreen.swift | 2 + .../Sources/GiftUnpinScreen.swift | 2 + .../Sources/GiftAuctionInfoScreen.swift | 2 + .../Sources/GiftAuctionViewScreen.swift | 2 + .../GiftAuctionWearPreviewScreen.swift | 2 + .../Sources/GiftValueScreen.swift | 2 + .../Sources/GiftViewScreen.swift | 12 ++++++ .../Sources/CreateLinkScreen.swift | 2 + .../Sources/JoinAffiliateProgramScreen.swift | 2 +- .../Sources/ProxyServerPreviewScreen.swift | 2 + .../Sources/AccountFreezeInfoScreen.swift | 2 + .../Sources/ArchiveInfoScreen.swift | 2 + .../Sources/BirthdayPickerScreen.swift | 4 +- .../Sources/CollectibleItemInfoScreen.swift | 4 +- .../NewSessionInfoContentComponent.swift | 2 +- .../Sources/NewSessionInfoScreen.swift | 21 +++++----- .../Sources/BalanceNeededScreen.swift | 2 + .../Sources/StarsIntroScreen.swift | 2 + .../Sources/StarsTransactionScreen.swift | 2 + .../Sources/StarsTransferScreen.swift | 2 + .../Sources/StarsWithdrawalScreen.swift | 2 + .../StoryQualityUpgradeSheetScreen.swift | 2 + .../Sources/StoryStealthModeSheetScreen.swift | 2 + .../Sources/WebAppMessagePreviewScreen.swift | 2 + .../WebAppSecureStorageTransferScreen.swift | 2 + .../Sources/WebAppSetEmojiStatusScreen.swift | 2 + 57 files changed, 171 insertions(+), 63 deletions(-) create mode 100644 Telegram/Telegram-iOS/Resources/CraftFail.tgs diff --git a/Telegram/Telegram-iOS/Resources/CraftFail.tgs b/Telegram/Telegram-iOS/Resources/CraftFail.tgs new file mode 100644 index 0000000000000000000000000000000000000000..fc8ea73f32d03f0426f2fb28e265e6460bae09d5 GIT binary patch literal 3344 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 deliverOnMainQueue).start(next: { [weak self] nextCreator in + guard let self else { + return + } + if let nextCreator, let peer = peer.peer { + self.presentLeaveChannelConfirmation(peer: peer, nextCreator: nextCreator, completion: { commit in + if commit { + proceed() + } + }) + } else { + proceed() + } + }) + } else { + proceed() + } })) let deleteForAllText: String diff --git a/submodules/ChatListUI/Sources/ChatListControllerLeaveChannelConfirmation.swift b/submodules/ChatListUI/Sources/ChatListControllerLeaveChannelConfirmation.swift index 239b73584f..6023992b39 100644 --- a/submodules/ChatListUI/Sources/ChatListControllerLeaveChannelConfirmation.swift +++ b/submodules/ChatListUI/Sources/ChatListControllerLeaveChannelConfirmation.swift @@ -109,7 +109,7 @@ extension ChatListControllerImpl { context: self.context, peerId: chatPeer.id, mode: .ownershipTransfer, - filters: [], + filters: [.exclude([self.context.account.peerId])], openPeer: { [weak self] peer, participant in guard let self else { return diff --git a/submodules/ChatListUI/Sources/Node/ChatListNode.swift b/submodules/ChatListUI/Sources/Node/ChatListNode.swift index 2c1eb12986..f2e663e938 100644 --- a/submodules/ChatListUI/Sources/Node/ChatListNode.swift +++ b/submodules/ChatListUI/Sources/Node/ChatListNode.swift @@ -1742,10 +1742,10 @@ public final class ChatListNode: ListView { } else { self.push?(NewSessionInfoScreen(context: self.context, newSessionReview: newSessionReview)) - //#if DEBUG - //#else + #if DEBUG + #else let _ = self.context.engine.privacy.terminateAnotherSession(id: newSessionReview.id).startStandalone() - //#endif + #endif } }, openChatFolderUpdates: { [weak self] in guard let self else { diff --git a/submodules/Components/SheetComponent/Sources/SheetComponent.swift b/submodules/Components/SheetComponent/Sources/SheetComponent.swift index 0122ac4a17..fc9c4aaadf 100644 --- a/submodules/Components/SheetComponent/Sources/SheetComponent.swift +++ b/submodules/Components/SheetComponent/Sources/SheetComponent.swift @@ -7,13 +7,17 @@ import SwiftSignalKit import DynamicCornerRadiusView public final class SheetComponentEnvironment: Equatable { + public let metrics: LayoutMetrics + public let deviceMetrics: DeviceMetrics public let isDisplaying: Bool public let isCentered: Bool public let hasInputHeight: Bool public let regularMetricsSize: CGSize? public let dismiss: (Bool) -> Void - public init(isDisplaying: Bool, isCentered: Bool, hasInputHeight: Bool, regularMetricsSize: CGSize?, dismiss: @escaping (Bool) -> Void) { + public init(metrics: LayoutMetrics, deviceMetrics: DeviceMetrics, isDisplaying: Bool, isCentered: Bool, hasInputHeight: Bool, regularMetricsSize: CGSize?, dismiss: @escaping (Bool) -> Void) { + self.metrics = metrics + self.deviceMetrics = deviceMetrics self.isDisplaying = isDisplaying self.isCentered = isCentered self.hasInputHeight = hasInputHeight @@ -22,6 +26,12 @@ public final class SheetComponentEnvironment: Equatable { } public static func ==(lhs: SheetComponentEnvironment, rhs: SheetComponentEnvironment) -> Bool { + if lhs.metrics != rhs.metrics { + return false + } + if lhs.deviceMetrics != rhs.deviceMetrics { + return false + } if lhs.isDisplaying != rhs.isDisplaying { return false } @@ -390,10 +400,10 @@ public final class SheetComponent: C switch component.style { case .glass: topCornerRadius = 38.0 - bottomCornerRadius = 56.0 if availableSize.width < availableSize.height { glassInset = 6.0 } + bottomCornerRadius = sheetEnvironment.deviceMetrics.screenCornerRadius - glassInset case .legacy: topCornerRadius = 12.0 bottomCornerRadius = 12.0 diff --git a/submodules/DrawingUI/Sources/ColorPickerScreen.swift b/submodules/DrawingUI/Sources/ColorPickerScreen.swift index 8b0d1fc502..dfcdf6bef8 100644 --- a/submodules/DrawingUI/Sources/ColorPickerScreen.swift +++ b/submodules/DrawingUI/Sources/ColorPickerScreen.swift @@ -2385,6 +2385,8 @@ private final class ColorPickerSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/PaymentMethodUI/Sources/AddPaymentMethodSheetScreen.swift b/submodules/PaymentMethodUI/Sources/AddPaymentMethodSheetScreen.swift index 60e40d690f..f3cd2ef685 100644 --- a/submodules/PaymentMethodUI/Sources/AddPaymentMethodSheetScreen.swift +++ b/submodules/PaymentMethodUI/Sources/AddPaymentMethodSheetScreen.swift @@ -202,6 +202,8 @@ private final class AddPaymentMethodSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: false, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/PremiumUI/Sources/PremiumDemoScreen.swift b/submodules/PremiumUI/Sources/PremiumDemoScreen.swift index 2decd5b60c..0d07cc43d6 100644 --- a/submodules/PremiumUI/Sources/PremiumDemoScreen.swift +++ b/submodules/PremiumUI/Sources/PremiumDemoScreen.swift @@ -1413,6 +1413,8 @@ private final class DemoSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/PremiumUI/Sources/PremiumGiftCodeScreen.swift b/submodules/PremiumUI/Sources/PremiumGiftCodeScreen.swift index 29bacd3d7d..f0c2c929b9 100644 --- a/submodules/PremiumUI/Sources/PremiumGiftCodeScreen.swift +++ b/submodules/PremiumUI/Sources/PremiumGiftCodeScreen.swift @@ -625,6 +625,8 @@ private final class PremiumGiftCodeSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/PremiumUI/Sources/PremiumLimitScreen.swift b/submodules/PremiumUI/Sources/PremiumLimitScreen.swift index e9de0a0ac6..b64edab58f 100644 --- a/submodules/PremiumUI/Sources/PremiumLimitScreen.swift +++ b/submodules/PremiumUI/Sources/PremiumLimitScreen.swift @@ -1763,6 +1763,8 @@ private final class LimitSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/PremiumUI/Sources/PremiumPrivacyScreen.swift b/submodules/PremiumUI/Sources/PremiumPrivacyScreen.swift index 79f2737703..7fc6496107 100644 --- a/submodules/PremiumUI/Sources/PremiumPrivacyScreen.swift +++ b/submodules/PremiumUI/Sources/PremiumPrivacyScreen.swift @@ -457,6 +457,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/QrCodeUI/Sources/QrCodeScreen.swift b/submodules/QrCodeUI/Sources/QrCodeScreen.swift index 2f522a62dc..0323caf18b 100644 --- a/submodules/QrCodeUI/Sources/QrCodeScreen.swift +++ b/submodules/QrCodeUI/Sources/QrCodeScreen.swift @@ -331,6 +331,8 @@ private final class QrCodeSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/SettingsUI/Sources/Privacy and Security/RecentSessionScreen.swift b/submodules/SettingsUI/Sources/Privacy and Security/RecentSessionScreen.swift index d79684a91d..8ba28212a7 100644 --- a/submodules/SettingsUI/Sources/Privacy and Security/RecentSessionScreen.swift +++ b/submodules/SettingsUI/Sources/Privacy and Security/RecentSessionScreen.swift @@ -611,6 +611,8 @@ private final class RecentSessionSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/StatisticsUI/Sources/MonetizationIntroScreen.swift b/submodules/StatisticsUI/Sources/MonetizationIntroScreen.swift index b82e565893..cadc091c16 100644 --- a/submodules/StatisticsUI/Sources/MonetizationIntroScreen.swift +++ b/submodules/StatisticsUI/Sources/MonetizationIntroScreen.swift @@ -417,6 +417,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/StatisticsUI/Sources/TransactionInfoScreen.swift b/submodules/StatisticsUI/Sources/TransactionInfoScreen.swift index 34f5a466ce..cb3eb7b798 100644 --- a/submodules/StatisticsUI/Sources/TransactionInfoScreen.swift +++ b/submodules/StatisticsUI/Sources/TransactionInfoScreen.swift @@ -355,6 +355,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramCallsUI/Sources/ScheduleVideoChatSheetScreen.swift b/submodules/TelegramCallsUI/Sources/ScheduleVideoChatSheetScreen.swift index 6ceaf18ebf..7d76bec4d1 100644 --- a/submodules/TelegramCallsUI/Sources/ScheduleVideoChatSheetScreen.swift +++ b/submodules/TelegramCallsUI/Sources/ScheduleVideoChatSheetScreen.swift @@ -357,6 +357,8 @@ private final class ScheduleVideoChatSheetScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Ads/AdsReportScreen/Sources/AdsReportScreen.swift b/submodules/TelegramUI/Components/Ads/AdsReportScreen/Sources/AdsReportScreen.swift index add64dbcdf..86441c6117 100644 --- a/submodules/TelegramUI/Components/Ads/AdsReportScreen/Sources/AdsReportScreen.swift +++ b/submodules/TelegramUI/Components/Ads/AdsReportScreen/Sources/AdsReportScreen.swift @@ -503,6 +503,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/AuthConfirmationScreen/Sources/AuthConfirmationScreen.swift b/submodules/TelegramUI/Components/AuthConfirmationScreen/Sources/AuthConfirmationScreen.swift index 3126fdc37a..9cb02a5035 100644 --- a/submodules/TelegramUI/Components/AuthConfirmationScreen/Sources/AuthConfirmationScreen.swift +++ b/submodules/TelegramUI/Components/AuthConfirmationScreen/Sources/AuthConfirmationScreen.swift @@ -593,6 +593,8 @@ private final class AuthConfirmationSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/AvatarComponent/Sources/AvatarComponent.swift b/submodules/TelegramUI/Components/AvatarComponent/Sources/AvatarComponent.swift index 18cce36a2f..d0654d0d37 100644 --- a/submodules/TelegramUI/Components/AvatarComponent/Sources/AvatarComponent.swift +++ b/submodules/TelegramUI/Components/AvatarComponent/Sources/AvatarComponent.swift @@ -116,6 +116,7 @@ public final class AvatarComponent: Component { peer: component.peer, clipStyle: clipStyle, synchronousLoad: true, + displayDimensions: availableSize, cutoutRect: cutoutRect ) diff --git a/submodules/TelegramUI/Components/Chat/ChatMessageBubbleItemNode/Sources/ChatMessageBubbleItemNode.swift b/submodules/TelegramUI/Components/Chat/ChatMessageBubbleItemNode/Sources/ChatMessageBubbleItemNode.swift index ba2140b727..0a6ef35dea 100644 --- a/submodules/TelegramUI/Components/Chat/ChatMessageBubbleItemNode/Sources/ChatMessageBubbleItemNode.swift +++ b/submodules/TelegramUI/Components/Chat/ChatMessageBubbleItemNode/Sources/ChatMessageBubbleItemNode.swift @@ -2887,8 +2887,8 @@ public class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePreviewI ReplyMarkupMessageAttribute( rows: [ ReplyMarkupRow(buttons: [ - ReplyMarkupButton(title: item.presentationData.strings.Chat_GiftPurchaseOffer_Reject, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonDecline), style: ReplyMarkupButton.Style(color: .danger, iconFileId: nil)), - ReplyMarkupButton(title: item.presentationData.strings.Chat_GiftPurchaseOffer_Accept, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonApprove), style: ReplyMarkupButton.Style(color: .success, iconFileId: nil)) + ReplyMarkupButton(title: item.presentationData.strings.Chat_GiftPurchaseOffer_Reject, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonDecline), style: nil), + ReplyMarkupButton(title: item.presentationData.strings.Chat_GiftPurchaseOffer_Accept, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonApprove), style: nil) ]) ], flags: [], @@ -2936,8 +2936,8 @@ public class ChatMessageBubbleItemNode: ChatMessageItemView, ChatMessagePreviewI ReplyMarkupMessageAttribute( rows: [ ReplyMarkupRow(buttons: [ - ReplyMarkupButton(title: item.presentationData.strings.Chat_PostApproval_Message_ActionReject, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonDecline), style: ReplyMarkupButton.Style(color: .danger, iconFileId: nil)), - ReplyMarkupButton(title: item.presentationData.strings.Chat_PostApproval_Message_ActionApprove, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonApprove), style: ReplyMarkupButton.Style(color: .success, iconFileId: nil)) + ReplyMarkupButton(title: item.presentationData.strings.Chat_PostApproval_Message_ActionReject, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonDecline), style: nil), + ReplyMarkupButton(title: item.presentationData.strings.Chat_PostApproval_Message_ActionApprove, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonApprove), style: nil) ]), ReplyMarkupRow(buttons: [ ReplyMarkupButton(title: item.presentationData.strings.Chat_PostApproval_Message_ActionSuggestChanges, titleWhenForwarded: nil, action: .callback(requiresPassword: false, data: buttonSuggestChanges), style: nil) diff --git a/submodules/TelegramUI/Components/ChatScheduleTimeController/Sources/ChatScheduleTimeScreen.swift b/submodules/TelegramUI/Components/ChatScheduleTimeController/Sources/ChatScheduleTimeScreen.swift index 57358626bd..bda469da07 100644 --- a/submodules/TelegramUI/Components/ChatScheduleTimeController/Sources/ChatScheduleTimeScreen.swift +++ b/submodules/TelegramUI/Components/ChatScheduleTimeController/Sources/ChatScheduleTimeScreen.swift @@ -750,6 +750,8 @@ private final class ChatScheduleTimeScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/CocoonInfoScreen/Sources/CocoonInfoScreen.swift b/submodules/TelegramUI/Components/CocoonInfoScreen/Sources/CocoonInfoScreen.swift index f2e9a23a6c..ff119d1368 100644 --- a/submodules/TelegramUI/Components/CocoonInfoScreen/Sources/CocoonInfoScreen.swift +++ b/submodules/TelegramUI/Components/CocoonInfoScreen/Sources/CocoonInfoScreen.swift @@ -470,6 +470,8 @@ final class CocoonInfoSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/ContentReportScreen/Sources/ContentReportScreen.swift b/submodules/TelegramUI/Components/ContentReportScreen/Sources/ContentReportScreen.swift index 36f8a71930..5c61fb034f 100644 --- a/submodules/TelegramUI/Components/ContentReportScreen/Sources/ContentReportScreen.swift +++ b/submodules/TelegramUI/Components/ContentReportScreen/Sources/ContentReportScreen.swift @@ -651,6 +651,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/FaceScanScreen/Sources/AgeVerificationScreen.swift b/submodules/TelegramUI/Components/FaceScanScreen/Sources/AgeVerificationScreen.swift index 93b7c74637..6fcc432dcc 100644 --- a/submodules/TelegramUI/Components/FaceScanScreen/Sources/AgeVerificationScreen.swift +++ b/submodules/TelegramUI/Components/FaceScanScreen/Sources/AgeVerificationScreen.swift @@ -265,6 +265,8 @@ private final class AgeVerificationSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/CraftTableComponent.swift b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/CraftTableComponent.swift index 9ad2e05c0f..9e23f8df8a 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/CraftTableComponent.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftCraftScreen/Sources/CraftTableComponent.swift @@ -79,10 +79,6 @@ final class CraftTableComponent: Component { private let anvilPlayOnce = ActionSlot() private let animationView = CubeAnimationView() - - private let failOverlay = ComponentView() - private let craftFailOverlayPlayOnce = ActionSlot() - private let craftFailPlayOnce = ActionSlot() private var didSetupFinishAnimation = false @@ -142,6 +138,8 @@ final class CraftTableComponent: Component { Queue.mainQueue().after(0.3, { self.failWillFinish = true self.component?.willFinish(false) + + self.craftFailPlayOnce.invoke(Void()) }) Queue.mainQueue().after(0.5, { @@ -274,7 +272,14 @@ final class CraftTableComponent: Component { faceItems.append( AnyComponentWithIdentity(id: "faildial", component: AnyComponent( DialIndicatorComponent( - content: AnyComponentWithIdentity(id: "gift", component: AnyComponent(BundleIconComponent(name: "Premium/GiftCrash", tintColor: .white))), + content: AnyComponentWithIdentity(id: "gift", component: AnyComponent( + LottieComponent( + content: LottieComponent.AppBundleContent(name: "CraftFail"), + color: .white, + size: CGSize(width: 52.0, height: 52.0), + playOnce: self.craftFailPlayOnce + ) + )), backgroundColor: .white.withAlphaComponent(0.1), foregroundColor: .white, diameter: 84.0, @@ -420,30 +425,6 @@ final class CraftTableComponent: Component { }) } - -// if self.isFailed { -// let failOverlaySize = self.failOverlay.update( -// transition: .immediate, -// component: AnyComponent( -// LottieComponent( -// content: LottieComponent.AppBundleContent(name: "CraftFailOverlay"), -// size: CGSize(width: availableSize.width, height: availableSize.width), -// playOnce: self.craftFailOverlayPlayOnce -// ) -// ), -// environment: {}, -// containerSize: CGSize(width: availableSize.width, height: availableSize.width) -// ) -// let failOverlayFrame = CGRect(origin: CGPoint(x: floor((availableSize.width - failOverlaySize.width) / 2.0), y: floor((availableSize.height - failOverlaySize.height) / 2.0)), size: failOverlaySize) -// if let failOverlayView = self.failOverlay.view { -// if failOverlayView.superview == nil { -// failOverlayView.isHidden = true -// self.insertSubview(failOverlayView, belowSubview: self.animationView) -// } -// failOverlayView.frame = failOverlayFrame -// } -// } - return availableSize } } diff --git a/submodules/TelegramUI/Components/Gifts/GiftDemoScreen/Sources/GiftDemoScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftDemoScreen/Sources/GiftDemoScreen.swift index 812a424d9a..0935ae9f48 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftDemoScreen/Sources/GiftDemoScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftDemoScreen/Sources/GiftDemoScreen.swift @@ -402,6 +402,8 @@ private final class DemoSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftUnpinScreen/Sources/GiftUnpinScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftUnpinScreen/Sources/GiftUnpinScreen.swift index 8d1b1578b2..fbf9a63be3 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftUnpinScreen/Sources/GiftUnpinScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftUnpinScreen/Sources/GiftUnpinScreen.swift @@ -349,6 +349,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionInfoScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionInfoScreen.swift index cd05f30e7b..639cfdbca7 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionInfoScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionInfoScreen.swift @@ -393,6 +393,8 @@ final class GiftAuctionInfoSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift index e4b70c9faf..f0924cdd9b 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionViewScreen.swift @@ -1340,6 +1340,8 @@ final class GiftAuctionViewSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift index 6383c04808..167c6b3cbe 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftAuctionWearPreviewScreen.swift @@ -687,6 +687,8 @@ final class GiftAuctionWearPreviewSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftValueScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftValueScreen.swift index 8a149baec1..053e762281 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftValueScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftValueScreen.swift @@ -731,6 +731,8 @@ final class GiftValueSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift index 4c1e3a36d9..ba562296a8 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift @@ -1536,6 +1536,16 @@ private final class GiftViewSheetContent: CombinedComponent { controller?.present(UndoOverlayController(presentationData: presentationData, content: .linkCopied(title: nil, text: presentationData.strings.Conversation_LinkCopied), elevatedLayout: false, animateInAsReplacement: false, action: { _ in return false }), in: .current) }))) + if let _ = arguments.canCraftDate { + items.append(.action(ContextMenuActionItem(text: presentationData.strings.Gift_View_Context_Craft, icon: { theme in + return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Link"), color: theme.contextMenu.primaryColor) + }, action: { [weak self] c, _ in + c?.dismiss(completion: nil) + + self?.craftGift() + }))) + } + items.append(.action(ContextMenuActionItem(text: presentationData.strings.Gift_View_Context_Share, icon: { theme in return generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Forward"), color: theme.contextMenu.primaryColor) }, action: { [weak self] c, _ in @@ -5443,6 +5453,8 @@ final class GiftViewSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkScreen.swift b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkScreen.swift index 0a99c74e5c..32b6146976 100644 --- a/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkScreen.swift +++ b/submodules/TelegramUI/Components/MediaEditorScreen/Sources/CreateLinkScreen.swift @@ -561,6 +561,8 @@ private final class CreateLinkSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift index d0620b4ee1..67084d3172 100644 --- a/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift +++ b/submodules/TelegramUI/Components/PeerInfo/AffiliateProgramSetupScreen/Sources/JoinAffiliateProgramScreen.swift @@ -2153,7 +2153,7 @@ final class PeerBadgeAvatarComponent: Component { peer: component.peer, synchronousLoad: synchronousLoad, displayDimensions: size, - cutoutRect: component.hasBadge ? badgeFrame.insetBy(dx: -(1.0 + UIScreenPixel), dy: -(1.0 + UIScreenPixel)) : nil + cutoutRect: component.hasBadge ? CGRect(origin: CGPoint(x: badgeFrame.minX, y: size.height - badgeFrame.maxY), size: badgeFrame.size).insetBy(dx: -1.0 + UIScreenPixel, dy: -1.0 + UIScreenPixel) : nil ) if self.badgeBackground.image == nil { diff --git a/submodules/TelegramUI/Components/ProxyServerPreviewScreen/Sources/ProxyServerPreviewScreen.swift b/submodules/TelegramUI/Components/ProxyServerPreviewScreen/Sources/ProxyServerPreviewScreen.swift index 15b38f83d7..4d43050f2d 100644 --- a/submodules/TelegramUI/Components/ProxyServerPreviewScreen/Sources/ProxyServerPreviewScreen.swift +++ b/submodules/TelegramUI/Components/ProxyServerPreviewScreen/Sources/ProxyServerPreviewScreen.swift @@ -469,6 +469,8 @@ private final class ProxyServerPreviewSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Settings/AccountFreezeInfoScreen/Sources/AccountFreezeInfoScreen.swift b/submodules/TelegramUI/Components/Settings/AccountFreezeInfoScreen/Sources/AccountFreezeInfoScreen.swift index 8c974a43ef..34fdb7f495 100644 --- a/submodules/TelegramUI/Components/Settings/AccountFreezeInfoScreen/Sources/AccountFreezeInfoScreen.swift +++ b/submodules/TelegramUI/Components/Settings/AccountFreezeInfoScreen/Sources/AccountFreezeInfoScreen.swift @@ -316,6 +316,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Settings/ArchiveInfoScreen/Sources/ArchiveInfoScreen.swift b/submodules/TelegramUI/Components/Settings/ArchiveInfoScreen/Sources/ArchiveInfoScreen.swift index fdefc69947..4c79c49686 100644 --- a/submodules/TelegramUI/Components/Settings/ArchiveInfoScreen/Sources/ArchiveInfoScreen.swift +++ b/submodules/TelegramUI/Components/Settings/ArchiveInfoScreen/Sources/ArchiveInfoScreen.swift @@ -195,6 +195,8 @@ private final class ArchiveInfoScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Settings/BirthdayPickerScreen/Sources/BirthdayPickerScreen.swift b/submodules/TelegramUI/Components/Settings/BirthdayPickerScreen/Sources/BirthdayPickerScreen.swift index 1c60ff19c9..835af3d694 100644 --- a/submodules/TelegramUI/Components/Settings/BirthdayPickerScreen/Sources/BirthdayPickerScreen.swift +++ b/submodules/TelegramUI/Components/Settings/BirthdayPickerScreen/Sources/BirthdayPickerScreen.swift @@ -270,6 +270,8 @@ private final class BirthdayPickerScreenComponent: Component { } let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: self.didAppear || environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, @@ -332,7 +334,7 @@ private final class BirthdayPickerScreenComponent: Component { } )), style: .glass, - backgroundColor: .color(environment.theme.list.plainBackgroundColor), + backgroundColor: .color(environment.theme.list.modalPlainBackgroundColor), followContentSizeChanges: true, isScrollEnabled: false, animateOut: self.sheetAnimateOut diff --git a/submodules/TelegramUI/Components/Settings/CollectibleItemInfoScreen/Sources/CollectibleItemInfoScreen.swift b/submodules/TelegramUI/Components/Settings/CollectibleItemInfoScreen/Sources/CollectibleItemInfoScreen.swift index 4e3dd73d58..57ecb9d90a 100644 --- a/submodules/TelegramUI/Components/Settings/CollectibleItemInfoScreen/Sources/CollectibleItemInfoScreen.swift +++ b/submodules/TelegramUI/Components/Settings/CollectibleItemInfoScreen/Sources/CollectibleItemInfoScreen.swift @@ -581,6 +581,8 @@ private final class CollectibleItemInfoScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, @@ -620,7 +622,7 @@ private final class CollectibleItemInfoScreenComponent: Component { } )), style: .glass, - backgroundColor: .color(environment.theme.list.plainBackgroundColor), + backgroundColor: .color(environment.theme.list.modalPlainBackgroundColor), animateOut: self.sheetAnimateOut )), environment: { diff --git a/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoContentComponent.swift b/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoContentComponent.swift index 01c73a85a4..7371e7bbaf 100644 --- a/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoContentComponent.swift +++ b/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoContentComponent.swift @@ -56,7 +56,7 @@ public final class NewSessionInfoContentComponent: Component { self.scrollView = UIScrollView() self.noticeBackground = SimpleLayer() - self.noticeBackground.cornerRadius = 10.0 + self.noticeBackground.cornerRadius = 22.0 self.iconBackground = UIImageView() diff --git a/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoScreen.swift b/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoScreen.swift index 82b71044a4..67bbcec026 100644 --- a/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoScreen.swift +++ b/submodules/TelegramUI/Components/Settings/NewSessionInfoScreen/Sources/NewSessionInfoScreen.swift @@ -111,10 +111,13 @@ private final class NewSessionInfoSheetContentComponent: Component { if transition.animation.isImmediate && previousComponent != nil { buttonTransition = buttonTransition.withAnimation(.curve(duration: 0.2, curve: .easeInOut)) } + + let buttonInsets = ContainerViewLayout.concentricInsets(bottomInset: environment.safeInsets.bottom, innerDiameter: 52.0, sideInset: 30.0) let buttonSize = self.button.update( transition: buttonTransition, component: AnyComponent(ButtonComponent( background: ButtonComponent.Background( + style: .glass, color: environment.theme.list.itemCheckColors.fillColor, foreground: environment.theme.list.itemCheckColors.foregroundColor, pressedColor: environment.theme.list.itemCheckColors.fillColor.withMultipliedAlpha(0.8) @@ -133,9 +136,9 @@ private final class NewSessionInfoSheetContentComponent: Component { } )), environment: {}, - containerSize: CGSize(width: availableSize.width - sideInset * 2.0, height: 50.0) + containerSize: CGSize(width: availableSize.width - buttonInsets.left - buttonInsets.right, height: 52.0) ) - let buttonFrame = CGRect(origin: CGPoint(x: sideInset, y: contentHeight), size: buttonSize) + let buttonFrame = CGRect(origin: CGPoint(x: buttonInsets.left, y: contentHeight), size: buttonSize) if let buttonView = self.button.view { if buttonView.superview == nil { self.addSubview(buttonView) @@ -143,13 +146,8 @@ private final class NewSessionInfoSheetContentComponent: Component { transition.setFrame(view: buttonView, frame: buttonFrame) } contentHeight += buttonSize.height - - if environment.safeInsets.bottom.isZero { - contentHeight += 16.0 - } else { - contentHeight += environment.safeInsets.bottom + 14.0 - } - + contentHeight += buttonInsets.bottom + return CGSize(width: availableSize.width, height: contentHeight) } } @@ -209,6 +207,8 @@ private final class NewSessionInfoScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, @@ -246,7 +246,8 @@ private final class NewSessionInfoScreenComponent: Component { }) } )), - backgroundColor: .color(environment.theme.list.plainBackgroundColor), + style: .glass, + backgroundColor: .color(environment.theme.list.modalPlainBackgroundColor), animateOut: self.sheetAnimateOut )), environment: { diff --git a/submodules/TelegramUI/Components/Stars/BalanceNeededScreen/Sources/BalanceNeededScreen.swift b/submodules/TelegramUI/Components/Stars/BalanceNeededScreen/Sources/BalanceNeededScreen.swift index 10ffdbb804..f1eba6f68e 100644 --- a/submodules/TelegramUI/Components/Stars/BalanceNeededScreen/Sources/BalanceNeededScreen.swift +++ b/submodules/TelegramUI/Components/Stars/BalanceNeededScreen/Sources/BalanceNeededScreen.swift @@ -258,6 +258,8 @@ private final class BalanceNeededScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stars/StarsIntroScreen/Sources/StarsIntroScreen.swift b/submodules/TelegramUI/Components/Stars/StarsIntroScreen/Sources/StarsIntroScreen.swift index 0c34a23f78..1dcc8fa4bc 100644 --- a/submodules/TelegramUI/Components/Stars/StarsIntroScreen/Sources/StarsIntroScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsIntroScreen/Sources/StarsIntroScreen.swift @@ -286,6 +286,8 @@ private final class ContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stars/StarsTransactionScreen/Sources/StarsTransactionScreen.swift b/submodules/TelegramUI/Components/Stars/StarsTransactionScreen/Sources/StarsTransactionScreen.swift index 7279b03dca..6ab290ce7e 100644 --- a/submodules/TelegramUI/Components/Stars/StarsTransactionScreen/Sources/StarsTransactionScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsTransactionScreen/Sources/StarsTransactionScreen.swift @@ -1814,6 +1814,8 @@ private final class StarsTransactionSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stars/StarsTransferScreen/Sources/StarsTransferScreen.swift b/submodules/TelegramUI/Components/Stars/StarsTransferScreen/Sources/StarsTransferScreen.swift index c8a11b6ce4..183e0b66d1 100644 --- a/submodules/TelegramUI/Components/Stars/StarsTransferScreen/Sources/StarsTransferScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsTransferScreen/Sources/StarsTransferScreen.swift @@ -801,6 +801,8 @@ private final class StarsTransferSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift index d748f5eecc..fde3374473 100644 --- a/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift +++ b/submodules/TelegramUI/Components/Stars/StarsWithdrawalScreen/Sources/StarsWithdrawalScreen.swift @@ -1300,6 +1300,8 @@ private final class StarsWithdrawSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stories/StoryQualityUpgradeSheetScreen/Sources/StoryQualityUpgradeSheetScreen.swift b/submodules/TelegramUI/Components/Stories/StoryQualityUpgradeSheetScreen/Sources/StoryQualityUpgradeSheetScreen.swift index bf0ea4525f..1b81695188 100644 --- a/submodules/TelegramUI/Components/Stories/StoryQualityUpgradeSheetScreen/Sources/StoryQualityUpgradeSheetScreen.swift +++ b/submodules/TelegramUI/Components/Stories/StoryQualityUpgradeSheetScreen/Sources/StoryQualityUpgradeSheetScreen.swift @@ -318,6 +318,8 @@ private final class StoryQualityUpgradeSheetScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/TelegramUI/Components/Stories/StoryStealthModeSheetScreen/Sources/StoryStealthModeSheetScreen.swift b/submodules/TelegramUI/Components/Stories/StoryStealthModeSheetScreen/Sources/StoryStealthModeSheetScreen.swift index 73217796ea..19420973fa 100644 --- a/submodules/TelegramUI/Components/Stories/StoryStealthModeSheetScreen/Sources/StoryStealthModeSheetScreen.swift +++ b/submodules/TelegramUI/Components/Stories/StoryStealthModeSheetScreen/Sources/StoryStealthModeSheetScreen.swift @@ -403,6 +403,8 @@ private final class StoryStealthModeSheetScreenComponent: Component { self.environment = environment let sheetEnvironment = SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/WebUI/Sources/WebAppMessagePreviewScreen.swift b/submodules/WebUI/Sources/WebAppMessagePreviewScreen.swift index 7e2a1c9095..0d59f5bb87 100644 --- a/submodules/WebUI/Sources/WebAppMessagePreviewScreen.swift +++ b/submodules/WebUI/Sources/WebAppMessagePreviewScreen.swift @@ -364,6 +364,8 @@ private final class WebAppMessagePreviewSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/WebUI/Sources/WebAppSecureStorageTransferScreen.swift b/submodules/WebUI/Sources/WebAppSecureStorageTransferScreen.swift index d3245faa72..4b71d9be38 100644 --- a/submodules/WebUI/Sources/WebAppSecureStorageTransferScreen.swift +++ b/submodules/WebUI/Sources/WebAppSecureStorageTransferScreen.swift @@ -333,6 +333,8 @@ private final class SheetContainerComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero, diff --git a/submodules/WebUI/Sources/WebAppSetEmojiStatusScreen.swift b/submodules/WebUI/Sources/WebAppSetEmojiStatusScreen.swift index b8399de7b0..5550078d1c 100644 --- a/submodules/WebUI/Sources/WebAppSetEmojiStatusScreen.swift +++ b/submodules/WebUI/Sources/WebAppSetEmojiStatusScreen.swift @@ -308,6 +308,8 @@ private final class WebAppSetEmojiStatusSheetComponent: CombinedComponent { environment: { environment SheetComponentEnvironment( + metrics: environment.metrics, + deviceMetrics: environment.deviceMetrics, isDisplaying: environment.value.isVisible, isCentered: environment.metrics.widthClass == .regular, hasInputHeight: !environment.inputHeight.isZero,