Skip to content

Commit 089547f

Browse files
authored
Merge pull request #213 from YAPP-Github/fix/#211-mission-loading
2 parents f3f43e0 + c21fa4b commit 089547f

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

โ€Žfeature/mission/src/main/java/com/yapp/mission/MissionContract.ktโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ sealed class MissionContract {
66

77
data class State(
88
val missionType: MissionType = MissionType.Click,
9+
val isMissionTypeLoading: Boolean = true,
910
val showOverlayText: Boolean = false,
1011
val showOverlay: Boolean = true,
1112
val missionProgress: Int = 0,

โ€Žfeature/mission/src/main/java/com/yapp/mission/MissionScreen.ktโ€Ž

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Spacer
1111
import androidx.compose.foundation.layout.fillMaxSize
1212
import androidx.compose.foundation.layout.fillMaxWidth
1313
import androidx.compose.foundation.layout.padding
14+
import androidx.compose.foundation.layout.size
1415
import androidx.compose.foundation.shape.RoundedCornerShape
1516
import androidx.compose.material3.Text
1617
import androidx.compose.runtime.Composable
@@ -32,6 +33,7 @@ import com.yapp.designsystem.theme.OrbitTheme
3233
import com.yapp.domain.model.MissionType
3334
import com.yapp.ui.component.button.OrbitButton
3435
import com.yapp.ui.component.dialog.OrbitDialog
36+
import com.yapp.ui.component.lottie.LottieAnimation
3537
import com.yapp.ui.utils.heightForScreenPercentage
3638

3739
@Composable
@@ -65,6 +67,10 @@ fun MissionScreen(
6567
Box(
6668
modifier = Modifier.fillMaxSize(),
6769
) {
70+
if (state.isMissionTypeLoading) {
71+
MissionLoadingScreen()
72+
return
73+
}
6874
Image(
6975
painter = painterResource(id = core.designsystem.R.drawable.img_mission_main_background),
7076
contentDescription = null,
@@ -196,7 +202,21 @@ fun MissionLabel(
196202
}
197203

198204
@Composable
199-
@Preview
205+
fun MissionLoadingScreen() {
206+
Box(
207+
modifier = Modifier.fillMaxSize(),
208+
contentAlignment = Alignment.Center,
209+
) {
210+
LottieAnimation(
211+
modifier = Modifier
212+
.size(70.dp),
213+
resId = core.designsystem.R.raw.star_loading,
214+
)
215+
}
216+
}
217+
218+
@Composable
219+
@Preview(showBackground = true)
200220
fun MissionRoutePreview() {
201221
MissionScreen(
202222
stateProvider = { MissionContract.State() },

โ€Žfeature/mission/src/main/java/com/yapp/mission/MissionViewModel.ktโ€Ž

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ class MissionViewModel @Inject constructor(
4848
private fun loadRemoteMissionType() {
4949
viewModelScope.launch {
5050
val missionType = getMissionTypeUseCase.execute()
51-
updateState { copy(missionType = missionType) }
51+
updateState {
52+
copy(
53+
missionType = missionType,
54+
isMissionTypeLoading = false,
55+
)
56+
}
5257
}
5358
}
5459

0 commit comments

Comments
ย (0)