File tree 4 files changed +22
-10
lines changed
feature/entire/src/main/java/com/bff/wespot/entire
4 files changed +22
-10
lines changed Original file line number Diff line number Diff line change @@ -119,7 +119,15 @@ fun ProfileEditScreen(
119
119
focusManager.clearFocus()
120
120
}
121
121
122
- else -> {}
122
+ is EntireEditSideEffect .OpenPicker -> {
123
+ pickImage.launch(
124
+ PickVisualMediaRequest (
125
+ ActivityResultContracts .PickVisualMedia .SingleMimeType (
126
+ " image/*" ,
127
+ ),
128
+ ),
129
+ )
130
+ }
123
131
}
124
132
}
125
133
@@ -144,7 +152,11 @@ fun ProfileEditScreen(
144
152
modifier = Modifier
145
153
.padding(top = 16 .dp)
146
154
.clickableSingle {
147
- action(EntireEditAction .ChangeBottomSheetState (true ))
155
+ if (state.profilePath.isNullOrEmpty()) {
156
+ action(EntireEditAction .OpenPicker )
157
+ } else {
158
+ action(EntireEditAction .ChangeBottomSheetState (true ))
159
+ }
148
160
},
149
161
) {
150
162
AsyncImage (
@@ -305,13 +317,7 @@ fun ProfileEditScreen(
305
317
modifier = Modifier
306
318
.fillMaxWidth()
307
319
.clickableSingle {
308
- pickImage.launch(
309
- PickVisualMediaRequest (
310
- ActivityResultContracts .PickVisualMedia .SingleMimeType (
311
- " image/*" ,
312
- ),
313
- ),
314
- )
320
+ action(EntireEditAction .OpenPicker )
315
321
action(EntireEditAction .ChangeBottomSheetState (false ))
316
322
},
317
323
textAlign = TextAlign .Center ,
Original file line number Diff line number Diff line change @@ -10,4 +10,5 @@ sealed class EntireEditAction {
10
10
data object OnRequestDialogShown : EntireEditAction ()
11
11
data class OnProfileImagePicked (val profilePath : String? ) : EntireEditAction()
12
12
data class ChangeBottomSheetState (val isBottomSheetOpen : Boolean ) : EntireEditAction()
13
+ data object OpenPicker : EntireEditAction ()
13
14
}
Original file line number Diff line number Diff line change @@ -3,6 +3,6 @@ package com.bff.wespot.entire.state.edit
3
3
import com.bff.wespot.ui.model.ToastState
4
4
5
5
sealed class EntireEditSideEffect {
6
- data object NavigateToEntire : EntireEditSideEffect ()
7
6
data class ShowToast (val toastState : ToastState ) : EntireEditSideEffect()
7
+ data object OpenPicker : EntireEditSideEffect ()
8
8
}
Original file line number Diff line number Diff line change @@ -86,6 +86,10 @@ class EntireEditViewModel @Inject constructor(
86
86
is EntireEditAction .ChangeBottomSheetState -> {
87
87
reduce { state.copy(changeBottomSheet = action.isBottomSheetOpen) }
88
88
}
89
+
90
+ is EntireEditAction .OpenPicker -> {
91
+ postSideEffect(EntireEditSideEffect .OpenPicker )
92
+ }
89
93
}
90
94
}
91
95
@@ -194,6 +198,7 @@ class EntireEditViewModel @Inject constructor(
194
198
}
195
199
196
200
private fun updateIntroduction () = intent {
201
+ if (state.profile.introduction == state.introductionInput) return @intent
197
202
reduce { state.copy(isLoading = true ) }
198
203
viewModelScope.launch {
199
204
updateProfileIntroductionUseCase(state.introductionInput)
You can’t perform that action at this time.
0 commit comments