@@ -23,7 +23,7 @@ class RepositoryDetailViewController: UIViewController, StoreSubscriber {
23
23
24
24
store. subscribe ( self ) { state in
25
25
(
26
- state. navigationState. getRouteSpecificState ( state. navigationState. route) as Any ? ,
26
+ state. navigationState. getRouteSpecificState ( state. navigationState. route) ,
27
27
state. bookmarks
28
28
)
29
29
}
@@ -33,14 +33,18 @@ class RepositoryDetailViewController: UIViewController, StoreSubscriber {
33
33
super. viewWillDisappear ( animated)
34
34
35
35
store. unsubscribe ( self )
36
- }
37
36
38
- func newState( state: ( selectedRepository: Any ? , bookmarks: [ Bookmark ] ) ) {
39
- guard let selectedRepository = state. selectedRepository as? Repository ? else { return }
37
+ // Required to update the route, when this VC was dismissed through back button from
38
+ // NavigationController, since we can't intercept the back button
39
+ if store. state. navigationState. route == [ mainViewRoute, repositoryDetailRoute] {
40
+ store. dispatch ( SetRouteAction ( [ mainViewRoute] ) )
41
+ }
42
+ }
40
43
41
- self . repository = selectedRepository
42
- self . mainLabel. text = selectedRepository? . name ?? " "
43
- self . title = selectedRepository? . name ?? " "
44
+ func newState( state: ( selectedRepository: Repository ? , bookmarks: [ Bookmark ] ) ) {
45
+ self . repository = state. selectedRepository
46
+ self . mainLabel. text = state. selectedRepository? . name ?? " "
47
+ self . title = state. selectedRepository? . name ?? " "
44
48
45
49
let bookmarkActive = !state. bookmarks. contains { route, data in
46
50
guard let repository = data as? Repository else { return false }
0 commit comments