Delight edit layout experiment (#6384)

* Delight: Edit layout experiment #6079
* Feature flag new App Layout #6406
* Update All chats screen with latest design #6407
This commit is contained in:
Gil Eluard
2022-08-02 17:27:33 +02:00
committed by GitHub
parent 10a9d1d37f
commit 0aa5b4f4a1
58 changed files with 2084 additions and 165 deletions
@@ -16,11 +16,17 @@
import Foundation
@objc
protocol RecentCellContextMenuProviderDelegate: AnyObject {
func recentCellContextMenuProviderDidStartShowingPreview(_ menuProvider: RecentCellContextMenuProvider)
}
/// Helper class `RecentCellContextMenuProvider` that provides an instace of `UIContextMenuConfiguration` from an instance of `MXKRecentCellDataStoring`
@objcMembers
class RecentCellContextMenuProvider: NSObject {
weak var serviceDelegate: RoomContextActionServiceDelegate?
weak var menuProviderDelegate: RecentCellContextMenuProviderDelegate?
private var currentService: RoomContextActionServiceProtocol?
@available(iOS 13.0, *)
@@ -39,7 +45,11 @@ class RecentCellContextMenuProvider: NSObject {
let service = RoomContextActionService(room: room, delegate: serviceDelegate)
self.currentService = service
let actionProvider = RoomActionProvider(service: service)
return UIContextMenuConfiguration(identifier: cellData.roomIdentifier as NSString) {
return UIContextMenuConfiguration(identifier: cellData.roomIdentifier as NSString) { [weak self] in
if let self = self {
self.menuProviderDelegate?.recentCellContextMenuProviderDidStartShowingPreview(self)
}
if room.summary?.isJoined == true {
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
guard let roomViewController = storyboard.instantiateViewController(withIdentifier: "RoomViewControllerStoryboardId") as? RoomViewController else {