Add NotificationRepository, ViewModel and ViewController

This commit is contained in:
langleyd
2021-06-25 22:38:31 +01:00
parent d27a0627d7
commit f74adb5909
11 changed files with 956 additions and 1 deletions
@@ -137,6 +137,12 @@ final class RoomInfoCoordinator: NSObject, RoomInfoCoordinatorType {
return coordinator
}
private func createRoomNotificationSettingsCoordinator() -> RoomNotificationSettingsCoordinator {
let coordinator = RoomNotificationSettingsCoordinator(room: room)
coordinator.delegate = self
return coordinator
}
private func showRoomDetails(with target: RoomInfoListTarget, animated: Bool) {
switch target {
case .integrations:
@@ -153,7 +159,10 @@ final class RoomInfoCoordinator: NSObject, RoomInfoCoordinatorType {
}
})
case .notifications:
break
let coordinator = createRoomNotificationSettingsCoordinator()
coordinator.start()
self.add(childCoordinator: coordinator)
self.navigationRouter.push(coordinator, animated: true, popCompletion: nil)
default:
guard let tabIndex = target.tabIndex else {
fatalError("No settings tab index for this target.")
@@ -189,3 +198,14 @@ extension RoomInfoCoordinator: RoomParticipantsViewControllerDelegate {
}
}
extension RoomInfoCoordinator: RoomNotificationSettingsCoordinatorDelegate {
func roomNotificationSettingsCoordinatorDidComplete(_ coordinator: RoomNotificationSettingsCoordinatorType) {
self.navigationRouter.popModule(animated: true)
}
func roomNotificationSettingsCoordinatorDidCancel(_ coordinator: RoomNotificationSettingsCoordinatorType) {
}
}