Voice Chat UI improvements

This commit is contained in:
Ilya Laktyushin
2020-12-09 20:51:11 +04:00
parent 0a8d06f51f
commit f7c6962e78
12 changed files with 110 additions and 59 deletions

View File

@@ -28,7 +28,7 @@ final class ChatSearchInputPanelNode: ChatInputPanelNode {
private var needsSearchResultsTooltip = true
private var validLayout: (CGFloat, CGFloat, CGFloat, CGFloat, LayoutMetrics, Bool)?
private var validLayout: (CGFloat, CGFloat, CGFloat, UIEdgeInsets, CGFloat, LayoutMetrics, Bool)?
override var interfaceInteraction: ChatPanelInterfaceInteraction? {
didSet {
@@ -39,7 +39,7 @@ final class ChatSearchInputPanelNode: ChatInputPanelNode {
strongSelf.displayActivity = value
strongSelf.activityIndicator.isHidden = !value
if let interfaceState = strongSelf.presentationInterfaceState, let validLayout = strongSelf.validLayout {
strongSelf.updateLayout(width: validLayout.0, leftInset: validLayout.1, rightInset: validLayout.2, additionalSideInsets: UIEdgeInsets(), maxHeight: validLayout.3, isSecondary: validLayout.5, transition: .immediate, interfaceState: interfaceState, metrics: validLayout.4)
strongSelf.updateLayout(width: validLayout.0, leftInset: validLayout.1, rightInset: validLayout.2, additionalSideInsets: validLayout.3, maxHeight: validLayout.4, isSecondary: validLayout.6, transition: .immediate, interfaceState: interfaceState, metrics: validLayout.5)
}
}
}))
@@ -128,7 +128,7 @@ final class ChatSearchInputPanelNode: ChatInputPanelNode {
}
override func updateLayout(width: CGFloat, leftInset: CGFloat, rightInset: CGFloat, additionalSideInsets: UIEdgeInsets, maxHeight: CGFloat, isSecondary: Bool, transition: ContainedViewLayoutTransition, interfaceState: ChatPresentationInterfaceState, metrics: LayoutMetrics) -> CGFloat {
self.validLayout = (width, leftInset, rightInset, maxHeight, metrics, isSecondary)
self.validLayout = (width, leftInset, rightInset, additionalSideInsets, maxHeight, metrics, isSecondary)
if self.presentationInterfaceState != interfaceState {
let themeUpdated = self.presentationInterfaceState?.theme !== interfaceState.theme
@@ -153,6 +153,11 @@ final class ChatSearchInputPanelNode: ChatInputPanelNode {
panelHeight = 45.0
}
var width = width
if additionalSideInsets.right > 0.0 {
width -= additionalSideInsets.right
}
self.downButton.frame = CGRect(origin: CGPoint(x: width - rightInset - 48.0, y: 0.0), size: CGSize(width: 40.0, height: panelHeight))
self.upButton.frame = CGRect(origin: CGPoint(x: width - rightInset - 48.0 - 43.0, y: 0.0), size: CGSize(width: 40.0, height: panelHeight))
self.calendarButton.frame = CGRect(origin: CGPoint(x: leftInset, y: 0.0), size: CGSize(width: 60.0, height: panelHeight))