File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
home/src/main/kotlin/com/ninecraft/booket/feature/home
library/src/main/kotlin/com/ninecraft/booket/feature/library Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -6,13 +6,15 @@ import androidx.compose.runtime.mutableStateOf
66import androidx.compose.runtime.rememberCoroutineScope
77import androidx.compose.runtime.setValue
88import com.ninecraft.booket.core.common.analytics.AnalyticsHelper
9+ import com.ninecraft.booket.core.common.utils.handleException
910import com.ninecraft.booket.core.data.api.repository.AuthRepository
1011import com.ninecraft.booket.core.data.api.repository.BookRepository
1112import com.ninecraft.booket.core.model.RecentBookModel
1213import com.ninecraft.booket.core.model.UserState
1314import com.ninecraft.booket.feature.screens.BookDetailScreen
1415import com.ninecraft.booket.feature.screens.BookSearchScreen
1516import com.ninecraft.booket.feature.screens.HomeScreen
17+ import com.ninecraft.booket.feature.screens.LoginScreen
1618import com.ninecraft.booket.feature.screens.RecordScreen
1719import com.ninecraft.booket.feature.screens.SettingsScreen
1820import com.skydoves.compose.effects.RememberedEffect
@@ -56,6 +58,14 @@ class HomePresenter @AssistedInject constructor(
5658 recentBooks = result.recentBooks.toPersistentList()
5759 }.onFailure { exception ->
5860 uiState = UiState .Error (exception)
61+
62+ handleException(
63+ exception = exception,
64+ onError = {},
65+ onLoginRequired = {
66+ navigator.resetRoot(LoginScreen ())
67+ },
68+ )
5969 }
6070 }
6171 }
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import androidx.compose.runtime.rememberCoroutineScope
88import androidx.compose.runtime.setValue
99import com.ninecraft.booket.core.common.analytics.AnalyticsHelper
1010import com.ninecraft.booket.core.common.utils.UiText
11+ import com.ninecraft.booket.core.common.utils.handleException
1112import com.ninecraft.booket.core.data.api.repository.AuthRepository
1213import com.ninecraft.booket.core.data.api.repository.BookRepository
1314import com.ninecraft.booket.core.model.LibraryBookSummaryModel
@@ -16,6 +17,7 @@ import com.ninecraft.booket.core.ui.component.FooterState
1617import com.ninecraft.booket.feature.screens.BookDetailScreen
1718import com.ninecraft.booket.feature.screens.LibraryScreen
1819import com.ninecraft.booket.feature.screens.LibrarySearchScreen
20+ import com.ninecraft.booket.feature.screens.LoginScreen
1921import com.ninecraft.booket.feature.screens.SettingsScreen
2022import com.ninecraft.booket.feature.screens.extensions.redirectToLogin
2123import com.orhanobut.logger.Logger
@@ -105,6 +107,16 @@ class LibraryPresenter @AssistedInject constructor(
105107 } else {
106108 footerState = FooterState .Error (errorMessage)
107109 }
110+
111+ if (userState !is UserState .Guest ) {
112+ handleException(
113+ exception = exception,
114+ onError = {},
115+ onLoginRequired = {
116+ navigator.resetRoot(LoginScreen ())
117+ },
118+ )
119+ }
108120 }
109121 }
110122 }
You can’t perform that action at this time.
0 commit comments