@@ -30,8 +30,8 @@ struct MainTabView: View {
3030 Task { await fetchFriendsTask ( ) }
3131 Task { await fetchFavoritesTask ( ) }
3232 }
33- . onChange ( of: scenePhase) {
34- scenePhaseHandler ( scenePhase )
33+ . onChange ( of: scenePhase) { before , after in
34+ changedScenePhaseHandler ( before , after )
3535 }
3636 . onChange ( of: favoriteVM. favoriteFriends) {
3737 friendVM. favoriteFriends = favoriteVM. favoriteFriends
@@ -51,15 +51,15 @@ extension MainTabViewSegment {
5151 }
5252}
5353
54- @MainActor
5554extension MainTabView {
56- private func scenePhaseHandler( _ scenePhase: ScenePhase ) {
57- switch scenePhase {
58- case . active:
55+ private func changedScenePhaseHandler( _ before: ScenePhase , _ after: ScenePhase ) {
56+ switch ( before, after) {
57+ case ( . background, . inactive) :
58+ print ( " Restoring Data " )
5959 restoreUserData ( )
6060 Task { await fetchFriendsTask ( ) }
6161 Task { await fetchFavoritesTask ( ) }
62- case . background , . inactive:
62+ case ( . active , . inactive) :
6363 guard let user = appVM. user else { return }
6464 userData = user. rawValue
6565 default : break
@@ -70,7 +70,10 @@ extension MainTabView {
7070 guard let user = User ( rawValue: userData) else { return }
7171 appVM. user = user
7272 }
73+ }
7374
75+ @MainActor
76+ extension MainTabView {
7477 private var tabViewLegacy : some View {
7578 TabView ( selection: $selection) {
7679 ForEach ( MainTabViewSegment . allCases) { tabSegment in
0 commit comments