Untitled
unknown
kotlin
3 years ago
832 B
3
Indexable
package com.voraapp.vora.splash.ui import com.voraapp.vora.base.ActionHandler import com.voraapp.vora.base.Result import com.voraapp.vora.base.effect import com.voraapp.vora.base.state import com.voraapp.vora.splash.domain.CheckAuthUseCase import javax.inject.Inject class SplashActionHandler @Inject constructor( private val checkAuthUseCase: CheckAuthUseCase ) : ActionHandler<SplashState, SplashAction>() { override suspend fun handle(state: SplashState, action: SplashAction): Result { return when (action) { is SplashAction.CheckUser -> handleAuth() else -> state(SplashState.InitState) } } private suspend fun handleAuth() = if (checkAuthUseCase()) { effect(SplashEffect.NavigateMainScreen) } else { effect(SplashEffect.NavigateAuthScreen) }
Editor is loading...