@@ -21,57 +21,57 @@ import javax.inject.Inject
2121
2222@HiltViewModel
2323internal class LoginViewModel
24- @Inject
25- constructor () : ViewModel () {
26- private val _uiState = MutableStateFlow (LoginUiState ())
27- val uiState: StateFlow <LoginUiState > = _uiState
28- private val currentState: LoginUiState
29- get() = uiState.value
24+ @Inject
25+ constructor () : ViewModel () {
26+ private val _uiState = MutableStateFlow (LoginUiState ())
27+ val uiState: StateFlow <LoginUiState > = _uiState
28+ private val currentState: LoginUiState
29+ get() = uiState.value
3030
31- private val _uiEffect = Channel <LoginUiEffect >()
32- val uiEffect: Flow <LoginUiEffect > = _uiEffect .receiveAsFlow()
31+ private val _uiEffect = Channel <LoginUiEffect >()
32+ val uiEffect: Flow <LoginUiEffect > = _uiEffect .receiveAsFlow()
3333
34- fun onIntent (intent : LoginUiIntent ) {
35- when (intent) {
36- is LoginUiIntent .OnClickLogin -> handleClickLogin(provider = intent.provider)
37- is LoginUiIntent .OnLoginResult -> handleLoginResult(result = intent.result)
34+ fun onIntent (intent : LoginUiIntent ) {
35+ when (intent) {
36+ is LoginUiIntent .OnClickLogin -> handleClickLogin(provider = intent.provider)
37+ is LoginUiIntent .OnLoginResult -> handleLoginResult(result = intent.result)
38+ }
3839 }
39- }
4040
41- private fun update (reducer : LoginUiState .() -> LoginUiState ) {
42- _uiState .update(reducer)
43- }
41+ private fun update (reducer : LoginUiState .() -> LoginUiState ) {
42+ _uiState .update(reducer)
43+ }
4444
45- private fun handleClickLogin (provider : AuthProvider ) {
46- if (currentState.isLoading) return
45+ private fun handleClickLogin (provider : AuthProvider ) {
46+ if (currentState.isLoading) return
4747
48- viewModelScope.launch {
49- update { copy(isLoading = true ) }
48+ viewModelScope.launch {
49+ update { copy(isLoading = true ) }
5050
51- // todo: MVP 개발 완료 후 해당 조건 제거
52- if (BuildConfig .DEBUG ) {
53- _uiEffect .send(LoginUiEffect .NavigateToTerms )
54- } else {
55- _uiEffect .send(LoginUiEffect .LaunchLogin (provider = provider))
51+ // todo: MVP 개발 완료 후 해당 조건 제거
52+ if (BuildConfig .DEBUG ) {
53+ _uiEffect .send(LoginUiEffect .NavigateToTerms )
54+ } else {
55+ _uiEffect .send(LoginUiEffect .LaunchLogin (provider = provider))
56+ }
5657 }
5758 }
58- }
5959
60- private fun handleLoginResult (result : AuthResult ) {
61- viewModelScope.launch {
62- update { copy(isLoading = false ) }
60+ private fun handleLoginResult (result : AuthResult ) {
61+ viewModelScope.launch {
62+ update { copy(isLoading = false ) }
6363
64- when (result) {
65- AuthResult .Success -> _uiEffect .send(LoginUiEffect .NavigateToTerms )
66- AuthResult .Cancelled -> _uiEffect .send(LoginUiEffect .ShowMessage (LoginUiMessage .LoginCancelled ))
67- is AuthResult .Failure -> _uiEffect .send(LoginUiEffect .ShowMessage (result.toUiMessage()))
64+ when (result) {
65+ AuthResult .Success -> _uiEffect .send(LoginUiEffect .NavigateToTerms )
66+ AuthResult .Cancelled -> _uiEffect .send(LoginUiEffect .ShowMessage (LoginUiMessage .LoginCancelled ))
67+ is AuthResult .Failure -> _uiEffect .send(LoginUiEffect .ShowMessage (result.toUiMessage()))
68+ }
6869 }
6970 }
70- }
7171
72- private fun AuthResult.Failure.toUiMessage (): LoginUiMessage =
73- when (this ) {
74- AuthResult .Failure .RateLimited -> LoginUiMessage .LoginFailedRateLimited
75- AuthResult .Failure .Unknown -> LoginUiMessage .LoginFailedUnknown
76- }
77- }
72+ private fun AuthResult.Failure.toUiMessage (): LoginUiMessage =
73+ when (this ) {
74+ AuthResult .Failure .RateLimited -> LoginUiMessage .LoginFailedRateLimited
75+ AuthResult .Failure .Unknown -> LoginUiMessage .LoginFailedUnknown
76+ }
77+ }
0 commit comments