Web app improvements

This commit is contained in:
Ilya Laktyushin
2024-06-28 23:41:21 +04:00
parent 9d3cc5996b
commit ffbc7921cf
35 changed files with 916 additions and 718 deletions

View File

@@ -842,7 +842,11 @@ open class NavigationController: UINavigationController, ContainableController,
if case .flat = navigationLayout.root, let minimizedContainer = self.minimizedContainer {
if minimizedContainer.supernode !== self.displayNode {
if let rootContainer = self.rootContainer, case let .flat(flatContainer) = rootContainer {
self.displayNode.insertSubnode(minimizedContainer, aboveSubnode: flatContainer)
if let rootModalFrame = self.rootModalFrame {
self.displayNode.insertSubnode(minimizedContainer, aboveSubnode: rootModalFrame)
} else {
self.displayNode.insertSubnode(minimizedContainer, aboveSubnode: flatContainer)
}
} else {
self.displayNode.insertSubnode(minimizedContainer, at: 0)
}
@@ -1572,7 +1576,7 @@ open class NavigationController: UINavigationController, ContainableController,
self._viewControllersPromise.set(self.viewControllers)
}
public func minimizeViewController(_ viewController: ViewController, damping: CGFloat?, velocity: CGFloat? = nil, setupContainer: (MinimizedContainer?) -> MinimizedContainer?, animated: Bool) {
public func minimizeViewController(_ viewController: ViewController, damping: CGFloat?, velocity: CGFloat? = nil, beforeMaximize: @escaping (NavigationController, @escaping () -> Void) -> Void, setupContainer: (MinimizedContainer?) -> MinimizedContainer?, animated: Bool) {
let transition: ContainedViewLayoutTransition = animated ? .animated(duration: 0.4, curve: .customSpring(damping: damping ?? 124.0, initialVelocity: velocity ?? 0.0)) : .immediate
let minimizedContainer = setupContainer(self.minimizedContainer)
@@ -1592,7 +1596,7 @@ open class NavigationController: UINavigationController, ContainableController,
}
viewController.isMinimized = true
self.filterController(viewController, animated: true)
minimizedContainer?.addController(viewController, transition: transition)
minimizedContainer?.addController(viewController, beforeMaximize: beforeMaximize, transition: transition)
}
private var isMaximizing = false