diff --git a/feature/bookmark/src/main/java/store/newsbriefing/app/feature/bookmark/BookmarkScreen.kt b/feature/bookmark/src/main/java/store/newsbriefing/app/feature/bookmark/BookmarkScreen.kt index ff975cb..fe029a2 100644 --- a/feature/bookmark/src/main/java/store/newsbriefing/app/feature/bookmark/BookmarkScreen.kt +++ b/feature/bookmark/src/main/java/store/newsbriefing/app/feature/bookmark/BookmarkScreen.kt @@ -66,8 +66,6 @@ internal fun BookmarkScreen( } - - repeat(3) { BookmarkSection( date = "2023.11.01(수) 오후", @@ -253,7 +251,7 @@ private fun BookmarkItem( ) Text( - text = "${item.gptModel}로 생서됨", + text = "${item.gptModel}로 생성됨", style = TextStyle( fontFamily = Pretendard, fontWeight = FontWeight.Normal, diff --git a/feature/setting/src/main/java/store/newsbriefing/app/feature/setting/SettingScreen.kt b/feature/setting/src/main/java/store/newsbriefing/app/feature/setting/SettingScreen.kt index b806720..6b6d796 100644 --- a/feature/setting/src/main/java/store/newsbriefing/app/feature/setting/SettingScreen.kt +++ b/feature/setting/src/main/java/store/newsbriefing/app/feature/setting/SettingScreen.kt @@ -1,6 +1,33 @@ package store.newsbriefing.app.feature.setting +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import store.newsbriefing.app.core.designsystem.theme.BriefingTheme +import store.newsbriefing.app.core.designsystem.theme.Pretendard @Composable internal fun SettingRoute( @@ -11,9 +38,198 @@ internal fun SettingRoute( ) } +@Preview +@Composable +fun SettingScrrenPreview() { + BriefingTheme { + SettingScreen( + showSnackbar = {} + ) + } +} + @Composable internal fun SettingScreen( showSnackbar: (String) -> Unit ) { + Column( + modifier = Modifier + .fillMaxSize() + .background(BriefingTheme.colorScheme.BackgroundWhite) + .verticalScroll(rememberScrollState()) + ) { + TopBar { + + } + + SettingTitle("구독 서비스") + SettingItem("Briefing Premium") { + + } + + SettingTitle("앱 정보") + AppVersionItem("2.0.0") + SettingItem("피드백 및 문의하기") { + + } + SettingItem("버전 노트") { + + } + + SettingTitle("개인 정보 보호") + SettingItem("이용 약관") { + + } + SettingItem("개인정보처리방침") { + + } + SettingItem("유의 사항") { + + } + + SettingTitle("회원 관리") + SettingItem("로그아웃") { + + } + SettingItem( + "회원 탈퇴", + BriefingTheme.colorScheme.TextRed + ) { + + } + } +} + +@Composable +private fun TopBar( + onBack: () -> Unit +) { + Box( + modifier = Modifier + .fillMaxWidth() + .padding( + horizontal = 21.dp, + vertical = 7.dp + ) + ) { + IconButton(onClick = onBack) { + Icon( + modifier = Modifier.size(33.dp), + painter = painterResource(id = R.drawable.ic_arrow_back), + contentDescription = null + ) + } + + Text( + modifier = Modifier + .fillMaxWidth() + .align(Alignment.Center), + text = "설정", + style = TextStyle( + fontFamily = Pretendard, + fontWeight = FontWeight.Medium, + fontSize = 18.sp, + lineHeight = 21.5.sp, + color = BriefingTheme.colorScheme.TextBlack + ), + textAlign = TextAlign.Center + ) + } +} + +@Composable +private fun SettingTitle( + title: String +) { + Text( + modifier = Modifier + .fillMaxWidth() + .background(Color(0xFFF8F8F8)) + .padding( + start = 30.dp, + top = 28.dp, + bottom = 8.dp + ), + text = title, + style = BriefingTheme.typography.ContextStyleRegular, + color = BriefingTheme.colorScheme.TextBlack + ) +} + +@Composable +private fun SettingItem( + menu: String, + textColor: Color = BriefingTheme.colorScheme.TextBlack, + onClick: () -> Unit +) { + Row( + modifier = Modifier + .fillMaxWidth() + .clickable { + onClick() + } + .padding( + start = 30.dp, + end = 10.dp, + top = 12.dp, + bottom = 12.dp + ), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Text( + text = menu, + style = TextStyle( + fontFamily = Pretendard, + fontWeight = FontWeight.Normal, + fontSize = 17.sp, + lineHeight = 30.sp, + color = textColor + ) + ) + + Icon( + painter = painterResource(id = R.drawable.ic_arrow_right), + contentDescription = null + ) + } +} + +@Composable +private fun AppVersionItem( + version: String +) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding( + start = 30.dp, + end = 19.dp, + top = 12.dp, + bottom = 12.dp + ), + horizontalArrangement = Arrangement.SpaceBetween + ) { + Text( + text ="앱 버전", + style = TextStyle( + fontFamily = Pretendard, + fontWeight = FontWeight.Normal, + fontSize = 17.sp, + lineHeight = 30.sp, + color = BriefingTheme.colorScheme.TextBlack + ) + ) + Text( + text = version, + style = TextStyle( + fontFamily = Pretendard, + fontWeight = FontWeight.Normal, + fontSize = 17.sp, + lineHeight = 30.sp, + color = BriefingTheme.colorScheme.PrimaryBlue + ) + ) + } } \ No newline at end of file diff --git a/feature/setting/src/main/res/drawable/ic_arrow_back.xml b/feature/setting/src/main/res/drawable/ic_arrow_back.xml new file mode 100644 index 0000000..ed71c0b --- /dev/null +++ b/feature/setting/src/main/res/drawable/ic_arrow_back.xml @@ -0,0 +1,13 @@ + + + diff --git a/feature/setting/src/main/res/drawable/ic_arrow_right.xml b/feature/setting/src/main/res/drawable/ic_arrow_right.xml new file mode 100644 index 0000000..31bcdd4 --- /dev/null +++ b/feature/setting/src/main/res/drawable/ic_arrow_right.xml @@ -0,0 +1,13 @@ + + +