Skip to content

Commit 4b4a9a4

Browse files
committed
[feat]#208: 바텀시트 보여주기해요
1 parent bec5794 commit 4b4a9a4

File tree

4 files changed

+22
-10
lines changed

4 files changed

+22
-10
lines changed

feature/entire/src/main/java/com/bff/wespot/entire/screen/edit/ProfileEditScreen.kt

+15-9
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,15 @@ fun ProfileEditScreen(
119119
focusManager.clearFocus()
120120
}
121121

122-
else -> {}
122+
is EntireEditSideEffect.OpenPicker -> {
123+
pickImage.launch(
124+
PickVisualMediaRequest(
125+
ActivityResultContracts.PickVisualMedia.SingleMimeType(
126+
"image/*",
127+
),
128+
),
129+
)
130+
}
123131
}
124132
}
125133

@@ -144,7 +152,11 @@ fun ProfileEditScreen(
144152
modifier = Modifier
145153
.padding(top = 16.dp)
146154
.clickableSingle {
147-
action(EntireEditAction.ChangeBottomSheetState(true))
155+
if (state.profilePath.isNullOrEmpty()) {
156+
action(EntireEditAction.OpenPicker)
157+
} else {
158+
action(EntireEditAction.ChangeBottomSheetState(true))
159+
}
148160
},
149161
) {
150162
AsyncImage(
@@ -305,13 +317,7 @@ fun ProfileEditScreen(
305317
modifier = Modifier
306318
.fillMaxWidth()
307319
.clickableSingle {
308-
pickImage.launch(
309-
PickVisualMediaRequest(
310-
ActivityResultContracts.PickVisualMedia.SingleMimeType(
311-
"image/*",
312-
),
313-
),
314-
)
320+
action(EntireEditAction.OpenPicker)
315321
action(EntireEditAction.ChangeBottomSheetState(false))
316322
},
317323
textAlign = TextAlign.Center,

feature/entire/src/main/java/com/bff/wespot/entire/state/edit/EntireEditAction.kt

+1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ sealed class EntireEditAction {
1010
data object OnRequestDialogShown : EntireEditAction()
1111
data class OnProfileImagePicked(val profilePath: String?) : EntireEditAction()
1212
data class ChangeBottomSheetState(val isBottomSheetOpen: Boolean) : EntireEditAction()
13+
data object OpenPicker : EntireEditAction()
1314
}

feature/entire/src/main/java/com/bff/wespot/entire/state/edit/EntireEditSideEffect.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ package com.bff.wespot.entire.state.edit
33
import com.bff.wespot.ui.model.ToastState
44

55
sealed class EntireEditSideEffect {
6-
data object NavigateToEntire : EntireEditSideEffect()
76
data class ShowToast(val toastState: ToastState) : EntireEditSideEffect()
7+
data object OpenPicker : EntireEditSideEffect()
88
}

feature/entire/src/main/java/com/bff/wespot/entire/viewmodel/EntireEditViewModel.kt

+5
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ class EntireEditViewModel @Inject constructor(
8686
is EntireEditAction.ChangeBottomSheetState -> {
8787
reduce { state.copy(changeBottomSheet = action.isBottomSheetOpen) }
8888
}
89+
90+
is EntireEditAction.OpenPicker -> {
91+
postSideEffect(EntireEditSideEffect.OpenPicker)
92+
}
8993
}
9094
}
9195

@@ -194,6 +198,7 @@ class EntireEditViewModel @Inject constructor(
194198
}
195199

196200
private fun updateIntroduction() = intent {
201+
if (state.profile.introduction == state.introductionInput) return@intent
197202
reduce { state.copy(isLoading = true) }
198203
viewModelScope.launch {
199204
updateProfileIntroductionUseCase(state.introductionInput)

0 commit comments

Comments
 (0)