diff --git a/features/home/src/main/kotlin/app/dapk/st/home/HomeViewModel.kt b/features/home/src/main/kotlin/app/dapk/st/home/HomeViewModel.kt index 56617f7..728c6c0 100644 --- a/features/home/src/main/kotlin/app/dapk/st/home/HomeViewModel.kt +++ b/features/home/src/main/kotlin/app/dapk/st/home/HomeViewModel.kt @@ -100,19 +100,27 @@ class HomeViewModel( Loading -> current is SignedIn -> { when (page) { - Page.Directory -> { - // do nothing + current.page -> current + else -> current.copy(page = page).also { + pageChangeSideEffects(page) } - - Page.Profile -> profileViewModel.reset() } - current.copy(page = page) } SignedOut -> current } } + private fun pageChangeSideEffects(page: Page) { + when (page) { + Page.Directory -> { + // do nothing + } + + Page.Profile -> profileViewModel.reset() + } + } + fun stop() { viewModelScope.cancel() }