Story search

This commit is contained in:
Isaac
2024-06-07 15:22:11 +04:00
parent 9094bb23b8
commit 571e2164b2
28 changed files with 1236 additions and 447 deletions

View File

@@ -6,14 +6,14 @@ import TelegramCore
import TelegramPresentationData
import SegmentedControlNode
final class LocationOptionsNode: ASDisplayNode {
public final class LocationOptionsNode: ASDisplayNode {
private var presentationData: PresentationData
private let backgroundNode: NavigationBackgroundNode
private let separatorNode: ASDisplayNode
private let segmentedControlNode: SegmentedControlNode
init(presentationData: PresentationData, updateMapMode: @escaping (LocationMapMode) -> Void) {
public init(presentationData: PresentationData, hasBackground: Bool = true, updateMapMode: @escaping (LocationMapMode) -> Void) {
self.presentationData = presentationData
self.backgroundNode = NavigationBackgroundNode(color: self.presentationData.theme.rootController.navigationBar.blurredBackgroundColor)
@@ -24,8 +24,11 @@ final class LocationOptionsNode: ASDisplayNode {
super.init()
self.addSubnode(self.backgroundNode)
self.addSubnode(self.separatorNode)
if hasBackground {
self.addSubnode(self.backgroundNode)
self.addSubnode(self.separatorNode)
}
self.addSubnode(self.segmentedControlNode)
self.segmentedControlNode.selectedIndexChanged = { index in
@@ -42,14 +45,14 @@ final class LocationOptionsNode: ASDisplayNode {
}
}
func updatePresentationData(_ presentationData: PresentationData) {
public func updatePresentationData(_ presentationData: PresentationData) {
self.presentationData = presentationData
self.backgroundNode.updateColor(color: self.presentationData.theme.rootController.navigationBar.blurredBackgroundColor, transition: .immediate)
self.separatorNode.backgroundColor = self.presentationData.theme.rootController.navigationBar.separatorColor
self.segmentedControlNode.updateTheme(SegmentedControlTheme(theme: self.presentationData.theme))
}
func updateLayout(size: CGSize, leftInset: CGFloat, rightInset: CGFloat, transition: ContainedViewLayoutTransition) {
public func updateLayout(size: CGSize, leftInset: CGFloat, rightInset: CGFloat, transition: ContainedViewLayoutTransition) {
transition.updateFrame(node: self.backgroundNode, frame: CGRect(origin: CGPoint(), size: size))
self.backgroundNode.update(size: size, transition: transition)