Skip to content

Commit e4bb0b9

Browse files
committed
Chore: preview용 data 추가 및 불필요한 코드 제거
1 parent 303e976 commit e4bb0b9

2 files changed

Lines changed: 72 additions & 10 deletions

File tree

presentation/src/main/java/com/threegap/bitnagil/presentation/routinelist/RoutineListScreen.kt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import androidx.compose.runtime.getValue
1616
import androidx.compose.ui.Alignment
1717
import androidx.compose.ui.Modifier
1818
import androidx.compose.ui.tooling.preview.Preview
19+
import androidx.compose.ui.tooling.preview.PreviewParameter
1920
import androidx.compose.ui.unit.dp
2021
import androidx.hilt.navigation.compose.hiltViewModel
2122
import com.threegap.bitnagil.designsystem.BitnagilTheme
@@ -28,6 +29,7 @@ import com.threegap.bitnagil.presentation.routinelist.component.template.Routine
2829
import com.threegap.bitnagil.presentation.routinelist.component.template.WeeklyDatePicker
2930
import com.threegap.bitnagil.presentation.routinelist.contract.RoutineListSideEffect
3031
import com.threegap.bitnagil.presentation.routinelist.contract.RoutineListState
32+
import com.threegap.bitnagil.presentation.routinelist.model.RoutineListStatePreviewProvider
3133
import com.threegap.bitnagil.presentation.routinelist.model.RoutineUiModel
3234
import org.orbitmvi.orbit.compose.collectAsState
3335
import org.orbitmvi.orbit.compose.collectSideEffect
@@ -133,7 +135,6 @@ private fun RoutineListScreen(
133135
items(
134136
items = uiState.selectedDateRoutines,
135137
key = { routine -> routine.routineId },
136-
contentType = { "routine_item" },
137138
) { routine ->
138139
RoutineDetailsCard(
139140
routine = routine,
@@ -148,13 +149,17 @@ private fun RoutineListScreen(
148149

149150
@Preview
150151
@Composable
151-
private fun RoutineListScreenPreview() {
152-
RoutineListScreen(
153-
uiState = RoutineListState.INIT,
154-
onDateSelect = {},
155-
onShowDeleteConfirmBottomSheet = {},
156-
onShowEditConfirmBottomSheet = {},
157-
onRegisterRoutineClick = {},
158-
onBackClick = {},
159-
)
152+
private fun RoutineListScreenPreview(
153+
@PreviewParameter(RoutineListStatePreviewProvider::class) uiState: RoutineListState,
154+
) {
155+
BitnagilTheme {
156+
RoutineListScreen(
157+
uiState = uiState,
158+
onDateSelect = {},
159+
onShowDeleteConfirmBottomSheet = {},
160+
onShowEditConfirmBottomSheet = {},
161+
onRegisterRoutineClick = {},
162+
onBackClick = {},
163+
)
164+
}
160165
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.threegap.bitnagil.presentation.routinelist.model
2+
3+
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
4+
import com.threegap.bitnagil.domain.routine.model.DayOfWeek
5+
import com.threegap.bitnagil.presentation.routinelist.contract.RoutineListState
6+
import java.time.LocalDate
7+
8+
internal class RoutineListStatePreviewProvider : PreviewParameterProvider<RoutineListState> {
9+
override val values = sequenceOf(
10+
emptyRoutineState,
11+
withRoutinesState,
12+
)
13+
}
14+
15+
private val today = LocalDate.now()
16+
17+
private val sampleRoutines = listOf(
18+
RoutineUiModel(
19+
routineId = "1",
20+
routineName = "아침 스트레칭",
21+
repeatDay = listOf(DayOfWeek.MONDAY, DayOfWeek.WEDNESDAY, DayOfWeek.FRIDAY),
22+
executionTime = "07:00:00",
23+
routineDate = today.toString(),
24+
startDate = "2025-01-01",
25+
endDate = "2025-12-31",
26+
routineDeletedYn = false,
27+
subRoutineNames = listOf("목 스트레칭", "어깨 스트레칭"),
28+
recommendedRoutineType = null,
29+
),
30+
RoutineUiModel(
31+
routineId = "2",
32+
routineName = "독서",
33+
repeatDay = emptyList(),
34+
executionTime = "09:00:00",
35+
routineDate = today.toString(),
36+
startDate = "2025-01-01",
37+
endDate = "2025-03-31",
38+
routineDeletedYn = false,
39+
subRoutineNames = emptyList(),
40+
recommendedRoutineType = null,
41+
),
42+
)
43+
44+
private val emptyRoutineState = RoutineListState.INIT
45+
46+
private val withRoutinesState = RoutineListState(
47+
isLoading = false,
48+
selectedDate = today,
49+
routines = RoutineScheduleUiModel(
50+
routines = mapOf(
51+
today.toString() to DailyRoutinesUiModel(routines = sampleRoutines)
52+
)
53+
),
54+
selectedRoutine = null,
55+
deleteConfirmBottomSheetVisible = false,
56+
editConfirmBottomSheetVisible = false,
57+
)

0 commit comments

Comments
 (0)