diff --git a/Images.xcassets/Chat List/Tabs/NY/Contents.json b/Images.xcassets/Chat List/Tabs/NY/Contents.json new file mode 100644 index 0000000000..38f0c81fc2 --- /dev/null +++ b/Images.xcassets/Chat List/Tabs/NY/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "provides-namespace" : true + } +} \ No newline at end of file diff --git a/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@2x.png b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@2x.png new file mode 100644 index 0000000000..3d12d7e27b Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@2x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@3x.png b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@3x.png new file mode 100644 index 0000000000..06f12c914e Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Calls@3x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Contents.json b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Contents.json new file mode 100644 index 0000000000..4019ae2782 --- /dev/null +++ b/Images.xcassets/Chat List/Tabs/NY/IconCalls.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Calls@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Calls@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Contents.json b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Contents.json new file mode 100644 index 0000000000..a78708ecb9 --- /dev/null +++ b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Messages@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Messages@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@2x.png b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@2x.png new file mode 100644 index 0000000000..ffa49c3ae1 Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@2x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@3x.png b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@3x.png new file mode 100644 index 0000000000..324a417e72 Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconChats.imageset/Messages@3x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@2x.png b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@2x.png new file mode 100644 index 0000000000..115d8526c5 Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@2x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@3x.png b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@3x.png new file mode 100644 index 0000000000..aaddd096eb Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contacts@3x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contents.json b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contents.json new file mode 100644 index 0000000000..2554b4ce50 --- /dev/null +++ b/Images.xcassets/Chat List/Tabs/NY/IconContacts.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Contacts@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Contacts@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Contents.json b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Contents.json new file mode 100644 index 0000000000..9a15c71190 --- /dev/null +++ b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "Settings@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "Settings@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@2x.png b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@2x.png new file mode 100644 index 0000000000..c00ec0876d Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@2x.png differ diff --git a/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@3x.png b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@3x.png new file mode 100644 index 0000000000..27cad3a239 Binary files /dev/null and b/Images.xcassets/Chat List/Tabs/NY/IconSettings.imageset/Settings@3x.png differ diff --git a/TelegramUI/CallListController.swift b/TelegramUI/CallListController.swift index 2d13a26c34..2432c26eac 100644 --- a/TelegramUI/CallListController.swift +++ b/TelegramUI/CallListController.swift @@ -49,7 +49,13 @@ public final class CallListController: ViewController { if case .tab = self.mode { self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationCallIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.callPressed)) - let icon = UIImage(bundleImageName: "Chat List/Tabs/IconCalls") + let icon: UIImage? + if (useSpecialTabBarIcons()) { + icon = UIImage(bundleImageName: "Chat List/Tabs/NY/IconCalls") + } else { + icon = UIImage(bundleImageName: "Chat List/Tabs/IconCalls") + } + self.tabBarItem.title = self.presentationData.strings.Calls_TabTitle self.tabBarItem.image = icon self.tabBarItem.selectedImage = icon diff --git a/TelegramUI/ChatListController.swift b/TelegramUI/ChatListController.swift index 1b931b4cdc..f67334ef81 100644 --- a/TelegramUI/ChatListController.swift +++ b/TelegramUI/ChatListController.swift @@ -4,6 +4,10 @@ import SwiftSignalKit import Display import TelegramCore +public func useSpecialTabBarIcons() -> Bool { + return (Date(timeIntervalSince1970: 1545642000)...Date(timeIntervalSince1970: 1546387200)).contains(Date()) +} + public class ChatListController: TelegramController, KeyShortcutResponder, UIViewControllerPreviewingDelegate { private var validLayout: ContainerViewLayout? @@ -64,7 +68,13 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie self.navigationItem.titleView = self.titleView self.tabBarItem.title = self.presentationData.strings.DialogList_Title - let icon = UIImage(bundleImageName: "Chat List/Tabs/IconChats") + let icon: UIImage? + if (useSpecialTabBarIcons()) { + icon = UIImage(bundleImageName: "Chat List/Tabs/NY/IconChats") + } else { + icon = UIImage(bundleImageName: "Chat List/Tabs/IconChats") + } + self.tabBarItem.image = icon self.tabBarItem.selectedImage = icon diff --git a/TelegramUI/CheckDeviceAccess.swift b/TelegramUI/CheckDeviceAccess.swift index 11981ad8ef..80153619e7 100644 --- a/TelegramUI/CheckDeviceAccess.swift +++ b/TelegramUI/CheckDeviceAccess.swift @@ -83,7 +83,7 @@ public final class DeviceAccess { public static func authorizationStatus(account: Account, subject: DeviceAccessSubject) -> Signal { switch subject { case .notifications: - let status = Signal { subscriber in + let status = (Signal { subscriber in if #available(iOSApplicationExtension 10.0, *) { UNUserNotificationCenter.current().getNotificationSettings(completionHandler: { settings in switch settings.authorizationStatus { @@ -107,7 +107,14 @@ public final class DeviceAccess { subscriber.putCompletion() } return EmptyDisposable - } + } |> afterNext { status in + switch status { + case .allowed, .unreachable: + DeviceAccess.notificationsPromise.set(.single(nil)) + default: + break + } + } ) |> then(self.notifications |> mapToSignal { authorized -> Signal in if let authorized = authorized { diff --git a/TelegramUI/ContactListNode.swift b/TelegramUI/ContactListNode.swift index 108bd2859a..c2d2001689 100644 --- a/TelegramUI/ContactListNode.swift +++ b/TelegramUI/ContactListNode.swift @@ -1042,6 +1042,10 @@ final class ContactListNode: ASDisplayNode { itemHeaderNode.updateTheme(theme: presentationData.theme) } }) + + if let validLayout = strongSelf.validLayout { + strongSelf.containerLayoutUpdated(validLayout, transition: .immediate) + } } } }) @@ -1136,10 +1140,8 @@ final class ContactListNode: ASDisplayNode { indexNode.update(size: indexNodeFrame.size, color: self.presentationData.theme.list.itemAccentColor, sections: indexSections, transition: transition) } - //if let authorizationNode = self.authorizationNode { - authorizationNode.updateLayout(size: layout.size, insets: insets, transition: transition) - transition.updateFrame(node: authorizationNode, frame: self.bounds) - //} + self.authorizationNode.updateLayout(size: layout.size, insets: insets, transition: transition) + transition.updateFrame(node: self.authorizationNode, frame: self.bounds) if !hadValidLayout { self.dequeueTransitions() diff --git a/TelegramUI/ContactsController.swift b/TelegramUI/ContactsController.swift index ae0202d993..ebc69e82ae 100644 --- a/TelegramUI/ContactsController.swift +++ b/TelegramUI/ContactsController.swift @@ -35,7 +35,13 @@ public class ContactsController: ViewController { self.title = self.presentationData.strings.Contacts_Title self.tabBarItem.title = self.presentationData.strings.Contacts_Title - let icon = UIImage(bundleImageName: "Chat List/Tabs/IconContacts") + let icon: UIImage? + if (useSpecialTabBarIcons()) { + icon = UIImage(bundleImageName: "Chat List/Tabs/NY/IconContacts") + } else { + icon = UIImage(bundleImageName: "Chat List/Tabs/IconContacts") + } + self.tabBarItem.image = icon self.tabBarItem.selectedImage = icon diff --git a/TelegramUI/GalleryNavigationCheckNode.swift b/TelegramUI/GalleryNavigationCheckNode.swift index da2ea17989..754e005262 100644 --- a/TelegramUI/GalleryNavigationCheckNode.swift +++ b/TelegramUI/GalleryNavigationCheckNode.swift @@ -2,7 +2,7 @@ import Foundation import AsyncDisplayKit import Display -final class GalleryNavigationCheckNode: ASDisplayNode { +final class GalleryNavigationCheckNode: ASDisplayNode, NavigationButtonCustomDisplayNode { private var checkNode: CheckNode init(theme: PresentationTheme) { @@ -13,6 +13,10 @@ final class GalleryNavigationCheckNode: ASDisplayNode { self.addSubnode(self.checkNode) } + var isHighlightable: Bool { + return false + } + var isChecked: Bool { return self.checkNode.isChecked } diff --git a/TelegramUI/GalleryNavigationRecipientNode.swift b/TelegramUI/GalleryNavigationRecipientNode.swift index 22460a54a4..6b7a304061 100644 --- a/TelegramUI/GalleryNavigationRecipientNode.swift +++ b/TelegramUI/GalleryNavigationRecipientNode.swift @@ -3,26 +3,37 @@ import AsyncDisplayKit import Display import LegacyComponents -final class GalleryNavigationRecipientNode: ASDisplayNode { +final class GalleryNavigationRecipientNode: ASDisplayNode, NavigationButtonCustomDisplayNode { private var iconNode: ASImageNode - private var textNode: ASTextNode + private var textNode: ImmediateTextNode init(color: UIColor, title: String) { self.iconNode = ASImageNode() self.iconNode.alpha = 0.45 self.iconNode.image = TGComponentsImageNamed("PhotoPickerArrow") - self.textNode = ASTextNode() + self.textNode = ImmediateTextNode() self.textNode.attributedText = NSAttributedString(string: title, font: Font.bold(13.0), textColor: UIColor(rgb: 0xffffff, alpha: 0.45)) + self.textNode.maximumNumberOfLines = 1 super.init() self.addSubnode(self.iconNode) self.addSubnode(self.textNode) + + if title.isEmpty { + self.iconNode.isHidden = true + self.textNode.isHidden = true + } + } + + var isHighlightable: Bool { + return false } override func calculateSizeThatFits(_ constrainedSize: CGSize) -> CGSize { - return CGSize(width: 30.0, height: 30.0) + let textSize = self.textNode.updateLayout(CGSize(width: constrainedSize.width - 50.0, height: constrainedSize.height)) + return CGSize(width: textSize.width + 12.0, height: 30.0) } override func layout() { @@ -32,6 +43,6 @@ final class GalleryNavigationRecipientNode: ASDisplayNode { self.iconNode.frame = CGRect(origin: CGPoint(x: -2.0, y: 9.0), size: image.size) } - self.textNode.frame = CGRect(x: self.iconNode.frame.maxX + 6.0, y: 7.0, width: 150.0, height: 20.0) + self.textNode.frame = CGRect(x: self.iconNode.frame.maxX + 6.0, y: 7.0, width: self.frame.size.width - 12.0, height: 15.0) } } diff --git a/TelegramUI/LegacyWebSearchEditor.swift b/TelegramUI/LegacyWebSearchEditor.swift index 491372d10f..a313c46b00 100644 --- a/TelegramUI/LegacyWebSearchEditor.swift +++ b/TelegramUI/LegacyWebSearchEditor.swift @@ -31,7 +31,7 @@ func presentLegacyWebSearchEditor(account: Account, theme: PresentationTheme, re let legacyController = LegacyController(presentation: .custom, theme: theme, initialLayout: initialLayout) legacyController.statusBar.statusBarStyle = theme.rootController.statusBar.style.style - let controller = TGPhotoEditorController(context: legacyController.context, item: item, intent: TGPhotoEditorControllerAvatarIntent, adjustments: nil, caption: nil, screenImage: screenImage, availableTabs: TGPhotoEditorController.defaultTabsForAvatarIntent(), selectedTab: .cropTab)! + let controller = TGPhotoEditorController(context: legacyController.context, item: item, intent: TGPhotoEditorControllerAvatarIntent, adjustments: nil, caption: nil, screenImage: screenImage ?? UIImage(), availableTabs: TGPhotoEditorController.defaultTabsForAvatarIntent(), selectedTab: .cropTab)! legacyController.bind(controller: controller) controller.editingContext = TGMediaEditingContext() diff --git a/TelegramUI/LiveLocationSummaryManager.swift b/TelegramUI/LiveLocationSummaryManager.swift index 88111a935a..7b4c33a703 100644 --- a/TelegramUI/LiveLocationSummaryManager.swift +++ b/TelegramUI/LiveLocationSummaryManager.swift @@ -169,9 +169,6 @@ private final class LiveLocationPeerSummaryContext { } } } - if let accountPeer = accountPeer, strongSelf.isActive { - //peers.append(accountPeer) - } if peersAndMessages.isEmpty { strongSelf.peersAndMessages = nil } else { diff --git a/TelegramUI/OngoingCallContext.swift b/TelegramUI/OngoingCallContext.swift index 35ae9e6c4b..7e0877ec38 100644 --- a/TelegramUI/OngoingCallContext.swift +++ b/TelegramUI/OngoingCallContext.swift @@ -234,7 +234,7 @@ final class OngoingCallContext { } func start(key: Data, isOutgoing: Bool, connections: CallSessionConnectionSet, maxLayer: Int32, allowP2P: Bool, audioSessionActive: Signal, logName: String) { - var logPath = logName.isEmpty ? "" : callLogsPath(account: self.account) + "/" + logName + ".log" + let logPath = logName.isEmpty ? "" : callLogsPath(account: self.account) + "/" + logName + ".log" self.audioSessionDisposable.set((audioSessionActive |> filter { $0 } |> take(1)).start(next: { [weak self] _ in diff --git a/TelegramUI/PermissionContentNode.swift b/TelegramUI/PermissionContentNode.swift index 5197cf5eba..df95aec695 100644 --- a/TelegramUI/PermissionContentNode.swift +++ b/TelegramUI/PermissionContentNode.swift @@ -79,7 +79,7 @@ final class PermissionContentNode: ASDisplayNode { func updateLayout(size: CGSize, insets: UIEdgeInsets, transition: ContainedViewLayoutTransition) { let sidePadding: CGFloat let fontSize: CGFloat - if size.width > 330.0 { + if min(size.width, size.height) > 330.0 { fontSize = 24.0 sidePadding = 38.0 } else { @@ -91,28 +91,32 @@ final class PermissionContentNode: ASDisplayNode { let titleSize = self.titleNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) let textSize = self.textNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) - let buttonHeight = self.actionButton.updateLayout(width: size.width, transition: transition) + let buttonWidth = min(size.width, size.height) + let buttonHeight = self.actionButton.updateLayout(width: buttonWidth, transition: transition) let privacyButtonSize = self.privacyPolicyButton.measure(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) - let titleSubtitleSpacing: CGFloat = 26.0 - let buttonSpacing: CGFloat = 36.0 - let privacySpacing: CGFloat = 45.0 + let availableHeight = floor(size.height - insets.top - insets.bottom - titleSize.height - textSize.height - buttonHeight) + + let titleSubtitleSpacing: CGFloat = max(15.0, floor(availableHeight * 0.055)) + let buttonSpacing: CGFloat = max(19.0, floor(availableHeight * 0.075)) var contentHeight = titleSize.height + titleSubtitleSpacing + textSize.height + buttonHeight + buttonSpacing var imageSize = CGSize() var imageSpacing: CGFloat = 0.0 - if let icon = self.iconNode.image { - imageSpacing = 60.0 + if let icon = self.iconNode.image, size.width < size.height { + imageSpacing = floor(availableHeight * 0.12) imageSize = icon.size contentHeight += imageSize.height + imageSpacing } + + let privacySpacing: CGFloat = max(30.0 + privacyButtonSize.height, (availableHeight - titleSubtitleSpacing - buttonSpacing - imageSize.height - imageSpacing) / 2.0) let contentOrigin = insets.top + floor((size.height - insets.top - insets.bottom - contentHeight) / 2.0) let iconFrame = CGRect(origin: CGPoint(x: floor((size.width - imageSize.width) / 2.0), y: contentOrigin), size: imageSize) let titleFrame = CGRect(origin: CGPoint(x: floor((size.width - titleSize.width) / 2.0), y: iconFrame.maxY + imageSpacing), size: titleSize) let textFrame = CGRect(origin: CGPoint(x: floor((size.width - textSize.width) / 2.0), y: titleFrame.maxY + titleSubtitleSpacing), size: textSize) - let buttonFrame = CGRect(origin: CGPoint(x: 0.0, y: textFrame.maxY + buttonSpacing), size: CGSize(width: size.width, height: buttonHeight)) - let privacyButtonFrame = CGRect(origin: CGPoint(x: floor((size.width - privacyButtonSize.width) / 2.0), y: buttonFrame.maxY + privacySpacing), size: privacyButtonSize) + let buttonFrame = CGRect(origin: CGPoint(x: floor((size.width - buttonWidth) / 2.0), y: textFrame.maxY + buttonSpacing), size: CGSize(width: buttonWidth, height: buttonHeight)) + let privacyButtonFrame = CGRect(origin: CGPoint(x: floor((size.width - privacyButtonSize.width) / 2.0), y: buttonFrame.maxY + floor((privacySpacing - privacyButtonSize.height) / 2.0)), size: privacyButtonSize) transition.updateFrame(node: self.iconNode, frame: iconFrame) diff --git a/TelegramUI/SettingsController.swift b/TelegramUI/SettingsController.swift index 43668b288a..d72344e44b 100644 --- a/TelegramUI/SettingsController.swift +++ b/TelegramUI/SettingsController.swift @@ -777,7 +777,12 @@ public func settingsController(account: Account, accountManager: AccountManager) actionsDisposable.dispose() } - let icon = UIImage(bundleImageName: "Chat List/Tabs/IconSettings") + let icon: UIImage? + if (useSpecialTabBarIcons()) { + icon = UIImage(bundleImageName: "Chat List/Tabs/NY/IconSettings") + } else { + icon = UIImage(bundleImageName: "Chat List/Tabs/IconSettings") + } let controller = ItemListController(account: account, state: signal, tabBarItem: combineLatest((account.applicationContext as! TelegramApplicationContext).presentationData, notificationsAuthorizationStatus.get(), notificationsWarningSuppressed.get()) |> map { presentationData, notificationsAuthorizationStatus, notificationsWarningSuppressed in let notificationsWarning = shouldDisplayNotificationsPermissionWarning(status: notificationsAuthorizationStatus, suppressed: notificationsWarningSuppressed) diff --git a/TelegramUI/TelegramController.swift b/TelegramUI/TelegramController.swift index e50adafe58..d8ffb90e7e 100644 --- a/TelegramUI/TelegramController.swift +++ b/TelegramUI/TelegramController.swift @@ -154,9 +154,17 @@ public class TelegramController: ViewController { switch locationBroadcastPanelSource { case let .peer(peerId): self.locationBroadcastMode = .peer - signal = liveLocationManager.summaryManager.peersBroadcastingTo(peerId: peerId) - |> map { peersAndMessages in - let peers = peersAndMessages?.map { $0.0 } + signal = combineLatest(liveLocationManager.summaryManager.peersBroadcastingTo(peerId: peerId), liveLocationManager.summaryManager.broadcastingToMessages()) + |> map { peersAndMessages, outgoingMessages in + var peers = peersAndMessages?.map { $0.0 } + for message in outgoingMessages.values { + if message.id.peerId == peerId, let author = message.author { + if peers == nil { + peers = [] + } + peers?.append(author) + } + } return (peers, nil) } default: diff --git a/TelegramUI/WebSearchGalleryController.swift b/TelegramUI/WebSearchGalleryController.swift index 3bf9fb8cbd..072abe3ee7 100644 --- a/TelegramUI/WebSearchGalleryController.swift +++ b/TelegramUI/WebSearchGalleryController.swift @@ -55,6 +55,8 @@ final class WebSearchGalleryControllerPresentationArguments { } class WebSearchGalleryController: ViewController { + private static let navigationTheme = NavigationBarTheme(buttonColor: .white, disabledButtonColor: UIColor(rgb: 0x525252), primaryTextColor: .white, backgroundColor: .clear, separatorColor: .clear, badgeBackgroundColor: .clear, badgeStrokeColor: .clear, badgeTextColor: .clear) + private var galleryNode: GalleryControllerNode { return self.displayNode as! GalleryControllerNode } @@ -98,7 +100,7 @@ class WebSearchGalleryController: ViewController { self.presentationData = account.telegramApplicationContext.currentPresentationData.with { $0 } - super.init(navigationBarPresentationData: NavigationBarPresentationData(theme: GalleryController.darkNavigationTheme, strings: NavigationBarStrings(presentationStrings: self.presentationData.strings))) + super.init(navigationBarPresentationData: NavigationBarPresentationData(theme: WebSearchGalleryController.navigationTheme, strings: NavigationBarStrings(presentationStrings: self.presentationData.strings))) self.controllerInteraction = WebSearchGalleryControllerInteraction(dismiss: { [weak self] animated in self?.dismiss(forceAway: false)