Rocket.Chat.ReactNative/ios/RocketChat Watch App/RocketChatAppRouter.swift

30 lines
488 B
Swift

import Foundation
protocol AppRouting {
func route(to route: Route)
}
final class AppRouter: ObservableObject {
@Storage(.currentServer) private var currentURL: URL?
@Published private(set) var route: Route = .serverList
}
extension AppRouter: AppRouting {
func route(to route: Route) {
switch route {
case .roomList(let server):
currentURL = server.url
case .serverList:
break
}
self.route = route
}
}
enum Route {
case serverList
case roomList(Server)
}