mirror of
https://github.com/metabolist/metatext.git
synced 2024-06-08 08:30:32 +00:00
32 lines
1 KiB
Swift
32 lines
1 KiB
Swift
// Copyright © 2020 Metabolist. All rights reserved.
|
|
|
|
import Foundation
|
|
|
|
public enum NavigationEvent {
|
|
case collectionNavigation(CollectionViewModel)
|
|
case urlNavigation(URL)
|
|
case share(URL)
|
|
}
|
|
|
|
extension NavigationEvent {
|
|
init?(_ event: CollectionItemEvent) {
|
|
switch event {
|
|
case .ignorableOutput:
|
|
return nil
|
|
case let .navigation(item):
|
|
switch item {
|
|
case let .url(url):
|
|
self = .urlNavigation(url)
|
|
case let .statusList(statusListService):
|
|
self = .collectionNavigation(StatusListViewModel(statusListService: statusListService))
|
|
case let .accountStatuses(accountStatusesService):
|
|
self = .collectionNavigation(AccountStatusesViewModel(accountStatusesService: accountStatusesService))
|
|
}
|
|
case let .accountListNavigation(accountListViewModel):
|
|
self = .collectionNavigation(accountListViewModel)
|
|
case let .share(url):
|
|
self = .share(url)
|
|
}
|
|
}
|
|
}
|