diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/AdminGetUserInfo.kt b/app/src/main/java/ru/myitschool/work/domain/profile/AdminGetUserInfo.kt new file mode 100644 index 0000000..a638972 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/AdminGetUserInfo.kt @@ -0,0 +1,18 @@ +package ru.myitschool.work.domain.profile + +import ru.myitschool.work.domain.auth.GetLoginUseCase +import ru.myitschool.work.domain.profile.entities.UserInfoEntity +import ru.myitschool.work.domain.profile.repo.UserInfoRepository +import javax.inject.Inject + +class AdminGetUserInfo @Inject constructor( + private val repo: UserInfoRepository, + private val getLoginUseCase: GetLoginUseCase, +) { + suspend operator fun invoke(): Result { + return getLoginUseCase().fold( + onSuccess = { basicAuth -> repo.getInfo(basicAuth) }, + onFailure = { error -> Result.failure(error) } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/repo/AdminInfoEntity.kt b/app/src/main/java/ru/myitschool/work/domain/profile/repo/AdminInfoEntity.kt new file mode 100644 index 0000000..f8ee548 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/domain/profile/repo/AdminInfoEntity.kt @@ -0,0 +1,9 @@ +package ru.myitschool.work.domain.profile.repo + +import ru.myitschool.work.domain.profile.entities.UserInfoEntity + +interface AdminInfoEntity { + suspend fun getInfoUser(basicAuth: String,userName: String) : Result + + suspend fun changeStateUser(basicAuth: String,userName: String) : Result +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/ui/RootActivity.kt b/app/src/main/java/ru/myitschool/work/ui/RootActivity.kt index 558fec5..7609a38 100644 --- a/app/src/main/java/ru/myitschool/work/ui/RootActivity.kt +++ b/app/src/main/java/ru/myitschool/work/ui/RootActivity.kt @@ -23,8 +23,6 @@ import ru.myitschool.work.ui.searchuser.SearchUserDestination import ru.myitschool.work.ui.searchuser.SearchUserFragment import ru.myitschool.work.ui.splash.SplashDestination import ru.myitschool.work.ui.splash.SplashFragment -import ru.myitschool.work.ui.userInfo.UserInfoDestination -import ru.myitschool.work.ui.userInfo.UserInfoFragment @AndroidEntryPoint class RootActivity : AppCompatActivity() { diff --git a/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserFragment.kt b/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserFragment.kt index 7d531e6..90c680d 100644 --- a/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserFragment.kt +++ b/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserFragment.kt @@ -53,7 +53,7 @@ class SearchUserFragment : Fragment(R.layout.fragment_search_user) { } } is SearchUserViewModel.Action.OpenInfo ->{ - //TODO отобразить инфу о юзере + binding.cardViewUser?.visibility = View.VISIBLE } } @@ -70,11 +70,11 @@ class SearchUserFragment : Fragment(R.layout.fragment_search_user) { is SearchUserViewModel.State.Error -> { // Set error text binding.error?.text = state.errorText.localizedMessage + binding.cardViewUser?.visibility = View.GONE // binding.loading?.visibility = View.GONE } is SearchUserViewModel.State.Loading -> { - // Additional logic can be added here if needed - // binding.loading?.visibility = View.VISIBLE + binding.cardViewUser?.visibility = View.GONE } } } diff --git a/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserViewModel.kt index ae36c60..515f86e 100644 --- a/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserViewModel.kt +++ b/app/src/main/java/ru/myitschool/work/ui/searchuser/SearchUserViewModel.kt @@ -12,6 +12,7 @@ import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import ru.myitschool.work.R +import ru.myitschool.work.ui.login.LoginViewModel.State import ru.myitschool.work.utils.MutablePublishFlow import javax.inject.Inject @@ -46,9 +47,9 @@ class SearchUserViewModel @Inject constructor( fun searchUser(userName: String) { viewModelScope.launch { - setLoadingState() + _state.update { State.Loading } // Simulating delay for data retrieval - kotlinx.coroutines.delay(1000) // Delay for 1 second + // Mock user check val existingUsers = listOf("user1", "user2", "user3") // Mock users diff --git a/app/src/main/res/layout-land/fragment_search_user.xml b/app/src/main/res/layout-land/fragment_search_user.xml index 6c24f7e..e0825c2 100644 --- a/app/src/main/res/layout-land/fragment_search_user.xml +++ b/app/src/main/res/layout-land/fragment_search_user.xml @@ -1,26 +1,28 @@ - + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> - + + + + + + + + + + android:visibility="visible"> + + + + app:layout_constraintWidth_percent="0.8"> - + android:maxLines="1"> +