From 44313f6ccc192b48b12ea85e2a6d2548902baf09 Mon Sep 17 00:00:00 2001 From: shinythinking Date: Tue, 3 Dec 2024 14:23:32 +0900 Subject: [PATCH] =?UTF-8?q?feat/#196=20:=20=ED=8E=B8=EC=A7=91=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C=EC=8B=9C=EA=B9=8C=EC=A7=80,=20loadingIndicator=20?= =?UTF-8?q?=EB=9D=84=EC=9A=B0=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mypage/screen/ProfileEditScreen.kt | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/feature/mypage/src/main/java/com/boostcamp/mapisode/mypage/screen/ProfileEditScreen.kt b/feature/mypage/src/main/java/com/boostcamp/mapisode/mypage/screen/ProfileEditScreen.kt index 23bd6f19..6f833976 100644 --- a/feature/mypage/src/main/java/com/boostcamp/mapisode/mypage/screen/ProfileEditScreen.kt +++ b/feature/mypage/src/main/java/com/boostcamp/mapisode/mypage/screen/ProfileEditScreen.kt @@ -26,6 +26,7 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import coil3.compose.AsyncImage import com.boostcamp.mapisode.designsystem.R.drawable +import com.boostcamp.mapisode.designsystem.compose.MapisodeCircularLoadingIndicator import com.boostcamp.mapisode.designsystem.compose.MapisodeIcon import com.boostcamp.mapisode.designsystem.compose.MapisodeIconButton import com.boostcamp.mapisode.designsystem.compose.MapisodeScaffold @@ -68,16 +69,25 @@ fun ProfileEditRoute( } } - ProfileEditScreen( - isPhotoPickerClicked = uiState.isPhotoPickerClicked, - onPhotoPickerClick = { viewModel.onIntent(ProfileEditIntent.PhotopickerClick) }, - nickname = uiState.name, - onNicknameChanged = { viewModel.onIntent(ProfileEditIntent.NameChanged(it)) }, - profileUrl = uiState.profileUrl, - onProfileUrlChange = { viewModel.onIntent(ProfileEditIntent.ProfileChanged(it)) }, - onEditClick = { viewModel.onIntent(ProfileEditIntent.EditClick) }, - onBackClick = onBackClick, - ) + if (uiState.isLoading) { + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.Center, + ) { + MapisodeCircularLoadingIndicator() + } + } else { + ProfileEditScreen( + isPhotoPickerClicked = uiState.isPhotoPickerClicked, + onPhotoPickerClick = { viewModel.onIntent(ProfileEditIntent.PhotopickerClick) }, + nickname = uiState.name, + onNicknameChanged = { viewModel.onIntent(ProfileEditIntent.NameChanged(it)) }, + profileUrl = uiState.profileUrl, + onProfileUrlChange = { viewModel.onIntent(ProfileEditIntent.ProfileChanged(it)) }, + onEditClick = { viewModel.onIntent(ProfileEditIntent.EditClick) }, + onBackClick = onBackClick, + ) + } } @Composable @@ -121,8 +131,7 @@ fun ProfileEditScreen( contentAlignment = Alignment.Center, ) { Column( - modifier = Modifier - .fillMaxWidth(0.85f), + modifier = Modifier.fillMaxWidth(0.85f), horizontalAlignment = Alignment.CenterHorizontally, ) { Spacer(modifier = Modifier.weight(0.5f)) @@ -139,8 +148,7 @@ fun ProfileEditScreen( value = nickname, onValueChange = { onNicknameChanged(it) }, placeholder = stringResource(R.string.mypage_placeholder_nickname), - modifier = Modifier - .fillMaxWidth(), + modifier = Modifier.fillMaxWidth(), keyboardOptions = KeyboardOptions( imeAction = ImeAction.Done, ), @@ -171,8 +179,7 @@ fun ProfileEditScreen( AsyncImage( model = profileUrl, contentDescription = stringResource(R.string.mypage_profile_image), - modifier = Modifier - .fillMaxSize(), + modifier = Modifier.fillMaxSize(), contentScale = ContentScale.Crop, ) }