diff --git a/feature/main/src/main/java/com/example/slowclock/ui/settings/SettingsScreen.kt b/feature/main/src/main/java/com/example/slowclock/ui/settings/SettingsScreen.kt index 95194d2c..dd5983fe 100644 --- a/feature/main/src/main/java/com/example/slowclock/ui/settings/SettingsScreen.kt +++ b/feature/main/src/main/java/com/example/slowclock/ui/settings/SettingsScreen.kt @@ -9,15 +9,18 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.selection.selectable import androidx.compose.foundation.selection.selectableGroup import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.OpenInNew import androidx.compose.material3.Card @@ -97,7 +100,15 @@ internal fun SettingsContent( modifier: Modifier = Modifier, ) { Column( - modifier = modifier.padding(horizontal = 16.dp), + modifier = + modifier + .fillMaxSize() + // 카드 셋이 기본 글자 배율에서도 360x800dp 를 넘긴다. 스크롤이 없으면 맨 아래 + // 카드가 하단 탭 뒤로 잘려 들어가고 손가락으로 끌어도 올라오지 않는다(#166). + // 같은 실패를 내 정보 화면(#135)과 완료 화면이 이미 같은 방법으로 고쳤다. + .verticalScroll(rememberScrollState()) + .padding(horizontal = 16.dp) + .padding(bottom = 32.dp), verticalArrangement = Arrangement.spacedBy(16.dp), ) { ScreenHeader(title = "정보") diff --git a/feature/main/src/screenshotTest/java/com/example/slowclock/ui/MainScreenshotTest.kt b/feature/main/src/screenshotTest/java/com/example/slowclock/ui/MainScreenshotTest.kt index 4b112be0..33edaaed 100644 --- a/feature/main/src/screenshotTest/java/com/example/slowclock/ui/MainScreenshotTest.kt +++ b/feature/main/src/screenshotTest/java/com/example/slowclock/ui/MainScreenshotTest.kt @@ -8,6 +8,8 @@ import com.example.slowclock.ui.done.DoneContent import com.example.slowclock.ui.done.DoneUiState import com.example.slowclock.ui.main.MainContent import com.example.slowclock.ui.main.MainUiState +import com.example.slowclock.ui.settings.SettingsContent +import com.example.slowclock.ui.settings.SettingsUiState import com.example.slowclock.ui.theme.SlowClockTheme import com.google.firebase.Timestamp import java.util.Calendar @@ -124,3 +126,21 @@ internal fun DoneContentScreenshot() { ) } } + +/** + * 정보 화면. 전체 화면 알람 안내 카드까지 보이는 상태다. + * + * 카드를 하나 더 얹으면 화면을 넘겨 맨 아래 카드에 닿을 수 없게 되는 일이 실제로 있었다(#166). + * 카드가 가장 많은 상태를 굳혀 두면 다음에 더할 때 바로 드러난다. + */ +@PreviewTest +@Preview(name = "정보 안내 있음", showBackground = true, device = "spec:width=411dp,height=1000dp") +@Composable +internal fun SettingsContentWithNoticeScreenshot() { + SlowClockTheme(darkTheme = false) { + SettingsContent( + state = SettingsUiState(showFullScreenAlarmNotice = true), + onIntent = {}, + ) + } +} diff --git "a/feature/main/src/screenshotTestDebug/reference/com/example/slowclock/ui/MainScreenshotTestKt/SettingsContentWithNoticeScreenshot_\354\240\225\353\263\264 \354\225\210\353\202\264 \354\236\210\354\235\214_219ff5bd_0.png" "b/feature/main/src/screenshotTestDebug/reference/com/example/slowclock/ui/MainScreenshotTestKt/SettingsContentWithNoticeScreenshot_\354\240\225\353\263\264 \354\225\210\353\202\264 \354\236\210\354\235\214_219ff5bd_0.png" new file mode 100644 index 00000000..800ea20d Binary files /dev/null and "b/feature/main/src/screenshotTestDebug/reference/com/example/slowclock/ui/MainScreenshotTestKt/SettingsContentWithNoticeScreenshot_\354\240\225\353\263\264 \354\225\210\353\202\264 \354\236\210\354\235\214_219ff5bd_0.png" differ