@@ -15,9 +15,6 @@ import androidx.compose.foundation.layout.fillMaxSize
1515import androidx.compose.foundation.layout.fillMaxWidth
1616import androidx.compose.foundation.layout.height
1717import androidx.compose.foundation.layout.padding
18- import androidx.compose.foundation.layout.size
19- import androidx.compose.foundation.pager.HorizontalPager
20- import androidx.compose.foundation.pager.rememberPagerState
2118import androidx.compose.foundation.rememberScrollState
2219import androidx.compose.foundation.verticalScroll
2320import androidx.compose.material3.Surface
@@ -26,7 +23,6 @@ import androidx.compose.runtime.Composable
2623import androidx.compose.runtime.getValue
2724import androidx.compose.runtime.mutableLongStateOf
2825import androidx.compose.runtime.remember
29- import androidx.compose.runtime.rememberCoroutineScope
3026import androidx.compose.runtime.setValue
3127import androidx.compose.ui.Alignment
3228import androidx.compose.ui.Modifier
@@ -35,7 +31,6 @@ import androidx.compose.ui.res.painterResource
3531import androidx.compose.ui.res.stringResource
3632import androidx.compose.ui.text.SpanStyle
3733import androidx.compose.ui.text.buildAnnotatedString
38- import androidx.compose.ui.text.style.TextAlign
3934import androidx.compose.ui.text.style.TextDecoration
4035import androidx.compose.ui.text.withStyle
4136import androidx.compose.ui.tooling.preview.Preview
@@ -49,7 +44,6 @@ import com.puzzle.designsystem.R
4944import com.puzzle.designsystem.component.PieceSolidButton
5045import com.puzzle.designsystem.foundation.PieceTheme
5146import com.puzzle.pause.contract.PauseIntent
52- import kotlinx.coroutines.launch
5347
5448@Composable
5549internal fun PauseRoute (viewModel : PauseViewModel = hiltViewModel()) {
@@ -72,12 +66,6 @@ internal fun PauseScreen(
7266 onCloseButtonClick : () -> Unit ,
7367 onBackPressed : () -> Unit ,
7468) {
75- val scope = rememberCoroutineScope()
76- val pagerState = rememberPagerState(
77- initialPage = 0 ,
78- pageCount = { 2 },
79- )
80-
8169 val context = LocalContext .current
8270 var backPressedTime by remember { mutableLongStateOf(0L ) }
8371
@@ -90,113 +78,37 @@ internal fun PauseScreen(
9078 backPressedTime = System .currentTimeMillis()
9179 }
9280
93- Column (
94- horizontalAlignment = Alignment .CenterHorizontally ,
81+ Box (
9582 modifier = Modifier
9683 .fillMaxSize()
9784 .padding(horizontal = 20 .dp)
9885 ) {
99- PauseTopBar (
100- currentPage = pagerState.currentPage,
101- onBackClick = { scope.launch { pagerState.animateScrollToPage(0 ) } },
102- )
86+ PauseTopBar (modifier = Modifier .align(Alignment .TopCenter ))
10387
104- HorizontalPager (
105- state = pagerState,
106- modifier = Modifier .weight(1f ),
107- ) { page ->
108- Column (modifier = Modifier .fillMaxSize()) {
109- when (page) {
110- 0 -> PauseDescriptionContent (modifier = Modifier .padding(top = 49 .dp))
111- 1 -> PauseDetailContent (modifier = Modifier .padding(top = 24 .dp))
112- }
113- }
114- }
88+ PauseDetailContent (modifier = Modifier .padding(top = 88 .dp, bottom = 74 .dp))
11589
11690 PieceSolidButton (
117- label = when (pagerState.currentPage) {
118- 1 -> stringResource(R .string.close)
119- else -> stringResource(R .string.next)
120- },
121- onClick = {
122- when (pagerState.currentPage) {
123- 1 -> onCloseButtonClick()
124- else -> scope.launch { pagerState.animateScrollToPage(1 ) }
125- }
126- },
91+ label = stringResource(R .string.close),
92+ onClick = onCloseButtonClick,
12793 modifier = Modifier
94+ .align(Alignment .BottomCenter )
12895 .padding(bottom = 10 .dp, top = 12 .dp)
12996 .fillMaxWidth(),
13097 )
13198 }
13299}
133100
134101@Composable
135- private fun PauseTopBar (
136- currentPage : Int ,
137- onBackClick : () -> Unit ,
138- modifier : Modifier = Modifier ,
139- ) {
102+ private fun PauseTopBar (modifier : Modifier = Modifier ) {
140103 Box (
141104 modifier = modifier
142105 .fillMaxWidth()
143106 .height(64 .dp),
144107 ) {
145- when (currentPage) {
146- 0 -> Image (
147- painter = painterResource(R .drawable.ic_onboarding_logo),
148- contentDescription = null ,
149- modifier = Modifier .align(Alignment .CenterStart )
150- )
151-
152- 1 -> Image (
153- painter = painterResource(R .drawable.ic_arrow_left),
154- contentDescription = null ,
155- modifier = Modifier
156- .align(Alignment .CenterStart )
157- .clickable { onBackClick() },
158- )
159- }
160- }
161- }
162-
163- @Composable
164- private fun PauseDescriptionContent (modifier : Modifier = Modifier ) {
165- Column (modifier = modifier.fillMaxSize()) {
166108 Image (
167- painter = painterResource(R .drawable.ic_pending ),
109+ painter = painterResource(R .drawable.ic_onboarding_logo ),
168110 contentDescription = null ,
169- modifier = Modifier
170- .padding(bottom = 99 .dp)
171- .size(300 .dp)
172- .align(Alignment .CenterHorizontally ),
173- )
174-
175- Text (
176- text = stringResource(R .string.pause_title),
177- textAlign = TextAlign .Start ,
178- style = PieceTheme .typography.headingLSB,
179- color = PieceTheme .colors.black,
180- modifier = Modifier .padding(bottom = 12 .dp),
181- )
182-
183- Text (
184- text = buildAnnotatedString {
185- append(
186- " 피스를 이용해주시고, 함께해주셔서 정말 고맙습니다.\n " +
187- " 피스의 iOS 버전 출시가 예상보다 지연되면서,\n " +
188- " 안드로이드도 잠시 "
189- )
190-
191- withStyle(SpanStyle (color = PieceTheme .colors.dark1)) {
192- append(" 일시중지" )
193- }
194-
195- append(" 하기로 결정했습니다." )
196- },
197- textAlign = TextAlign .Start ,
198- style = PieceTheme .typography.bodySSB,
199- color = PieceTheme .colors.dark3,
111+ modifier = Modifier .align(Alignment .CenterStart )
200112 )
201113 }
202114}
0 commit comments