diff --git a/feature/home/src/main/java/org/sopt/home/HomeContract.kt b/feature/home/src/main/java/org/sopt/home/HomeContract.kt index bdb7990..0b3f4cd 100644 --- a/feature/home/src/main/java/org/sopt/home/HomeContract.kt +++ b/feature/home/src/main/java/org/sopt/home/HomeContract.kt @@ -9,7 +9,7 @@ data class HomeState( val registeredName: String = "", ) -sealed interface HomeSideEffect{ - data class showDeleteDialog(val id: Int): HomeSideEffect - data object showAddFriendBottomSheet: HomeSideEffect +sealed interface HomeSideEffect { + data class showDeleteDialog(val id: Int) : HomeSideEffect + data object showAddFriendBottomSheet : HomeSideEffect } \ No newline at end of file diff --git a/feature/home/src/main/java/org/sopt/home/HomeViewModel.kt b/feature/home/src/main/java/org/sopt/home/HomeViewModel.kt index f847fc1..61a4e6c 100644 --- a/feature/home/src/main/java/org/sopt/home/HomeViewModel.kt +++ b/feature/home/src/main/java/org/sopt/home/HomeViewModel.kt @@ -6,28 +6,15 @@ import androidx.lifecycle.viewModelScope import androidx.paging.PagingData import androidx.paging.cachedIn import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.launch -import org.orbitmvi.orbit.Container -import org.orbitmvi.orbit.ContainerHost -import org.orbitmvi.orbit.syntax.simple.intent -import org.orbitmvi.orbit.syntax.simple.postSideEffect -import org.orbitmvi.orbit.syntax.simple.reduce -import org.orbitmvi.orbit.viewmodel.container -import org.sopt.domain.repo.SoptRepository import org.sopt.domain.repo.UserRepository -import org.sopt.domain.usecase.GetSoptUseCase -import org.sopt.domain.usecase.GetUserDataUseCase -import org.sopt.model.Friend import org.sopt.model.ReqresUser -import org.sopt.ui.orbit.updateState import javax.inject.Inject @HiltViewModel diff --git a/feature/home/src/main/java/org/sopt/home/viewholder/HomeViewHolder.kt b/feature/home/src/main/java/org/sopt/home/viewholder/HomeViewHolder.kt index 3bc4899..5d2565b 100644 --- a/feature/home/src/main/java/org/sopt/home/viewholder/HomeViewHolder.kt +++ b/feature/home/src/main/java/org/sopt/home/viewholder/HomeViewHolder.kt @@ -3,7 +3,6 @@ package org.sopt.home.viewholder import androidx.recyclerview.widget.RecyclerView import coil.load import org.sopt.home.databinding.ItemHomeFriendBinding -import org.sopt.model.Friend import org.sopt.model.ReqresUser class HomeViewHolder( diff --git a/feature/main/src/main/java/org/sopt/main/login/LoginContract.kt b/feature/main/src/main/java/org/sopt/main/login/LoginContract.kt index 3caf0b9..f65aac4 100644 --- a/feature/main/src/main/java/org/sopt/main/login/LoginContract.kt +++ b/feature/main/src/main/java/org/sopt/main/login/LoginContract.kt @@ -4,6 +4,7 @@ data class LoginState( val id: String = "", val password: String = "", ) + sealed interface LoginSideEffect { data class showSnackbar(val message: String) : LoginSideEffect data object LoginSuccess : LoginSideEffect diff --git a/feature/main/src/main/java/org/sopt/main/login/LoginViewModel.kt b/feature/main/src/main/java/org/sopt/main/login/LoginViewModel.kt index 44649be..67090c3 100644 --- a/feature/main/src/main/java/org/sopt/main/login/LoginViewModel.kt +++ b/feature/main/src/main/java/org/sopt/main/login/LoginViewModel.kt @@ -1,21 +1,14 @@ package org.sopt.main.login import android.util.Log -import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.launch import org.orbitmvi.orbit.Container import org.orbitmvi.orbit.ContainerHost import org.orbitmvi.orbit.syntax.simple.intent import org.orbitmvi.orbit.syntax.simple.postSideEffect -import org.orbitmvi.orbit.syntax.simple.reduce import org.orbitmvi.orbit.viewmodel.container -import org.sopt.designsystem.R import org.sopt.domain.repo.AuthRepository -import org.sopt.domain.repo.UserDataRepository -import org.sopt.ui.context.ResourceProvider import org.sopt.ui.orbit.updateState import javax.inject.Inject diff --git a/feature/main/src/main/java/org/sopt/main/signup/SignupViewModel.kt b/feature/main/src/main/java/org/sopt/main/signup/SignupViewModel.kt index 578b871..7ed0480 100644 --- a/feature/main/src/main/java/org/sopt/main/signup/SignupViewModel.kt +++ b/feature/main/src/main/java/org/sopt/main/signup/SignupViewModel.kt @@ -2,9 +2,7 @@ package org.sopt.main.signup import android.util.Log import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.launch import org.orbitmvi.orbit.Container import org.orbitmvi.orbit.ContainerHost import org.orbitmvi.orbit.annotation.OrbitExperimental @@ -13,17 +11,11 @@ import org.orbitmvi.orbit.syntax.simple.intent import org.orbitmvi.orbit.syntax.simple.postSideEffect import org.orbitmvi.orbit.syntax.simple.reduce import org.orbitmvi.orbit.viewmodel.container -import org.sopt.designsystem.R import org.sopt.domain.repo.AuthRepository -import org.sopt.domain.repo.UserDataRepository import org.sopt.domain.usecase.ValidatePasswordUseCase import org.sopt.domain.usecase.ValidatePhoneNumberUseCase -import org.sopt.main.model.UserModel -import org.sopt.main.model.toUser import org.sopt.model.Member import org.sopt.model.ValidateResult -import org.sopt.ui.context.ResourceProvider -import org.sopt.ui.orbit.updateState import javax.inject.Inject @OptIn(OrbitExperimental::class) diff --git a/feature/mypage/src/main/java/org/sopt/mypage/MypageViewModel.kt b/feature/mypage/src/main/java/org/sopt/mypage/MypageViewModel.kt index 7d00932..17f735c 100644 --- a/feature/mypage/src/main/java/org/sopt/mypage/MypageViewModel.kt +++ b/feature/mypage/src/main/java/org/sopt/mypage/MypageViewModel.kt @@ -1,9 +1,7 @@ package org.sopt.mypage import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.launch import org.orbitmvi.orbit.Container import org.orbitmvi.orbit.ContainerHost import org.orbitmvi.orbit.syntax.simple.intent @@ -11,7 +9,6 @@ import org.orbitmvi.orbit.syntax.simple.postSideEffect import org.orbitmvi.orbit.syntax.simple.reduce import org.orbitmvi.orbit.viewmodel.container import org.sopt.domain.repo.AuthRepository -import org.sopt.domain.repo.UserDataRepository import javax.inject.Inject @HiltViewModel diff --git a/feature/mypage/src/main/java/org/sopt/mypage/modifypassword/ModifyPasswordFragment.kt b/feature/mypage/src/main/java/org/sopt/mypage/modifypassword/ModifyPasswordFragment.kt index 9b97be5..bab77e5 100644 --- a/feature/mypage/src/main/java/org/sopt/mypage/modifypassword/ModifyPasswordFragment.kt +++ b/feature/mypage/src/main/java/org/sopt/mypage/modifypassword/ModifyPasswordFragment.kt @@ -10,8 +10,6 @@ import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import dagger.hilt.android.AndroidEntryPoint import org.orbitmvi.orbit.viewmodel.observe -import org.sopt.mypage.MypageSideEffect -import org.sopt.mypage.MypageState import org.sopt.mypage.databinding.FragmentModifyPasswordBinding import org.sopt.ui.fragment.snackBar @@ -48,11 +46,13 @@ class ModifyPasswordFragment : Fragment() { ModifyPasswordSideEffect.ModifySuccess -> { findNavController().navigateUp() } + is ModifyPasswordSideEffect.ShowSnackbar -> { - snackBar(binding.root){ sideEffect.msg } + snackBar(binding.root) { sideEffect.msg } } } } + private fun modifyPassword() { binding.btnModifyPassword.setOnClickListener { viewModel.modifyPassword()