|
@@ -1,10 +1,19 @@
|
|
|
package com.fastest.pass.login.presentation.viewmodels
|
|
|
|
|
|
+import android.util.Log
|
|
|
import androidx.lifecycle.ViewModel
|
|
|
+import androidx.lifecycle.viewModelScope
|
|
|
+import com.fastest.pass.login.domain.usecase.LoginUseCase
|
|
|
import com.fastest.pass.login.utils.LoginRoute
|
|
|
+import dagger.hilt.android.lifecycle.HiltViewModel
|
|
|
import kotlinx.coroutines.flow.MutableStateFlow
|
|
|
+import kotlinx.coroutines.launch
|
|
|
+import javax.inject.Inject
|
|
|
|
|
|
-class LoginViewModel : ViewModel() {
|
|
|
+@HiltViewModel
|
|
|
+class LoginViewModel @Inject constructor(
|
|
|
+ private val loginUseCase: LoginUseCase
|
|
|
+) : ViewModel() {
|
|
|
|
|
|
private val _router = MutableStateFlow<LoginRoute>(LoginRoute.OpenNoneScreen)
|
|
|
val router: MutableStateFlow<LoginRoute> = _router
|
|
@@ -12,4 +21,11 @@ class LoginViewModel : ViewModel() {
|
|
|
fun navigateTo(loginRoute: LoginRoute) {
|
|
|
_router.value = loginRoute
|
|
|
}
|
|
|
+
|
|
|
+ fun onLoginClicked(email: String, password: String) {
|
|
|
+ viewModelScope.launch {
|
|
|
+ val loginResult = loginUseCase(email, password)
|
|
|
+ Log.d("loginResult", "loginResult = $loginResult")
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|