From b910b4fdb28a0bf44f8553df5686e401a043349d Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Wed, 15 May 2024 15:47:33 +0900 Subject: [PATCH 01/12] =?UTF-8?q?[init]=20#12=20=EA=B8=B0=EC=A1=B4=20?= =?UTF-8?q?=EC=83=89=EC=83=81=20=EC=82=AD=EC=A0=9C,=20=EC=A4=91=EB=B3=B5?= =?UTF-8?q?=20=ED=8F=B0=ED=8A=B8=20=EC=86=8D=EC=84=B1=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/ui/dummy/View1Screen.kt | 70 +++++++++++++++++-- .../main/java/org/sopt/kream/theme/Color.kt | 8 --- .../main/java/org/sopt/kream/theme/Theme.kt | 12 ++-- .../main/java/org/sopt/kream/theme/Type.kt | 34 +++------ .../res/drawable/ic_topappbar_bell_28.xml | 20 ++++++ app/src/main/res/values/strings.xml | 1 + build.gradle.kts | 10 --- 7 files changed, 100 insertions(+), 55 deletions(-) create mode 100644 app/src/main/res/drawable/ic_topappbar_bell_28.xml diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index 97a8c77..e1e7698 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -1,23 +1,83 @@ package org.sopt.kream.presentation.ui.dummy +import android.widget.HorizontalScrollView import androidx.compose.foundation.layout.Arrangement 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.material3.Icon +import androidx.compose.material3.Scaffold import androidx.compose.material3.Text +import androidx.compose.material3.TextField import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import org.sopt.kream.theme.Gray06 +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import org.sopt.kream.R +import org.sopt.kream.theme.Black01 import org.sopt.kream.theme.head1Bold @Composable fun View1Screen(dummyViewModel: DummyViewModel) { - Column (modifier = Modifier.fillMaxSize(), + var editText by remember { + mutableStateOf("") + } + Scaffold( + topBar = { + Column (modifier = Modifier.fillMaxWidth()){ + Row (modifier = Modifier.fillMaxWidth()){ + TextField(value = editText, + onValueChange = { editText = it }, + label = { Text(text = stringResource(id = R.string.bar_search_label)) } + ) + Icon( + painter = painterResource(R.drawable.ic_topappbar_bell_28), + contentDescription ="" + ) + } + + } + } + ) { innerPadding -> + View1Content(Modifier.padding(innerPadding)) + } +} + +@Composable +fun View1Content(modifier: Modifier) { + Column( + modifier = Modifier.fillMaxSize(), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Text( + text = "View1 Screen", + style = head1Bold, + color = Black01 + ) + } +} + +@Preview +@Composable +fun View1Preview() { + Column( + modifier = Modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center - ){ - Text(text = "View1 Screen", + ) { + Text( + text = "View1 Screen", style = head1Bold, - color = Gray06) + color = Black01 + ) } } \ No newline at end of file diff --git a/app/src/main/java/org/sopt/kream/theme/Color.kt b/app/src/main/java/org/sopt/kream/theme/Color.kt index 6b2c02c..9d7e746 100644 --- a/app/src/main/java/org/sopt/kream/theme/Color.kt +++ b/app/src/main/java/org/sopt/kream/theme/Color.kt @@ -2,14 +2,6 @@ package org.sopt.kream.theme import androidx.compose.ui.graphics.Color -val Purple80 = Color(0xFFD0BCFF) -val PurpleGrey80 = Color(0xFFCCC2DC) -val Pink80 = Color(0xFFEFB8C8) - -val Purple40 = Color(0xFF6650a4) -val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) - val White = Color(0xFFFFFFFF) val Green01 = Color(0xFF02E16A) diff --git a/app/src/main/java/org/sopt/kream/theme/Theme.kt b/app/src/main/java/org/sopt/kream/theme/Theme.kt index 64b687c..7edc827 100644 --- a/app/src/main/java/org/sopt/kream/theme/Theme.kt +++ b/app/src/main/java/org/sopt/kream/theme/Theme.kt @@ -17,16 +17,16 @@ import androidx.core.view.WindowCompat private val DarkColorScheme = darkColorScheme( - primary = Purple80, - secondary = PurpleGrey80, - tertiary = Pink80, + primary = Gray02, + secondary = Gray02, + tertiary = Gray02, ) private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, - tertiary = Pink40, + primary = Gray02, + secondary = Gray02, + tertiary = Gray02, /* Other default colors to override background = Color(0xFFFFFBFE), surface = Color(0xFFFFFBFE), diff --git a/app/src/main/java/org/sopt/kream/theme/Type.kt b/app/src/main/java/org/sopt/kream/theme/Type.kt index c471431..9490195 100644 --- a/app/src/main/java/org/sopt/kream/theme/Type.kt +++ b/app/src/main/java/org/sopt/kream/theme/Type.kt @@ -25,108 +25,90 @@ val Typography = // Head val head1Bold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontWeight = FontWeight.Bold, fontSize = 18.sp ) val head2Bold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontWeight = FontWeight.Bold, fontSize = 15.sp ) // Body1 -val body1 = TextStyle( +val body1Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 17.sp ) // Body2 -val body2 = TextStyle( +val body2Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 14.sp ) val body2SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 14.sp ) // Body3 -val body3 = TextStyle( +val body3Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 13.sp ) val body3SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 13.sp ) // Body4 -val body4 = TextStyle( +val body4Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 12.sp ) val body4SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 12.sp ) val body4Bold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontWeight = FontWeight.Bold, fontSize = 12.sp ) // Body5 -val body5 = TextStyle( +val body5Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 11.sp ) val body5SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 11.sp ) // Body6 -val body6 = TextStyle( +val body6Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 10.sp ) val body6SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 10.sp ) // Body7 -val body7 = TextStyle( +val body7Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 9.sp ) val body7Bold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontWeight = FontWeight.Bold, fontSize = 9.sp ) // Body8 -val body8 = TextStyle( +val body8Regular = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontWeight = FontWeight.Normal, fontSize = 8.sp ) val body8SemiBold = TextStyle( fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontWeight = FontWeight.SemiBold, fontSize = 8.sp ) diff --git a/app/src/main/res/drawable/ic_topappbar_bell_28.xml b/app/src/main/res/drawable/ic_topappbar_bell_28.xml new file mode 100644 index 0000000..356face --- /dev/null +++ b/app/src/main/res/drawable/ic_topappbar_bell_28.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 40cb78c..92c9bca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ KREAM-Android + "브랜드, 상품, 프로필, 태그 등" \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 50e0bb3..bf7c0dd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,14 +7,4 @@ plugins { alias(libs.plugins.kotlinSerialization) apply false alias(libs.plugins.kotlinParcelize) apply false alias(libs.plugins.ktlint) apply false -} - -buildscript{ -// ext { -// compose_version = "1.1.1" -// } -// repositories{ -// google() -// mavenCentral() -// } } \ No newline at end of file From d1882fc22030c0e639cae18e4bf00f5d4c732664 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Wed, 15 May 2024 22:30:53 +0900 Subject: [PATCH 02/12] =?UTF-8?q?[init]=20#11=20=ED=83=91=20=EC=95=B1?= =?UTF-8?q?=EB=B0=94=20=EC=A0=9C=EC=9E=91=20=EB=B0=8F=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EC=A0=84=ED=99=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 5 +- app/build.gradle.kts | 12 +- .../presentation/ui/dummy/DummyActivity.kt | 2 +- .../presentation/ui/dummy/View1Screen.kt | 175 +++++++++++++-- .../main/java/org/sopt/kream/theme/Theme.kt | 14 +- .../main/java/org/sopt/kream/theme/Type.kt | 200 ++++++++++-------- gradle/libs.versions.toml | 7 + 7 files changed, 288 insertions(+), 127 deletions(-) diff --git a/.editorconfig b/.editorconfig index e174c6e..2953e8d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,4 +1,7 @@ root = true [*] -max_line_length = off \ No newline at end of file +max_line_length = off + +[*.{kt,kts}] +ktlint_function_naming_ignore_when_annotated_with=Composable \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5e3c460..d0beb33 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -9,7 +9,6 @@ plugins { alias(libs.plugins.ktlint) } - val properties = Properties().apply { load(project.rootProject.file("local.properties").inputStream()) @@ -53,7 +52,6 @@ android { } composeOptions { kotlinCompilerExtensionVersion = "1.5.13" - kotlinCompilerVersion = "1.6.10" } } @@ -62,6 +60,7 @@ dependencies { implementation(libs.bundles.androidx) implementation(libs.bundles.compose) + implementation(libs.androidx.foundation.android) // Compose debugImplementation(libs.compose.ui.tooling) @@ -84,10 +83,9 @@ dependencies { implementation(libs.bundles.retrofit) implementation(libs.kotlin.serialization.json) - implementation ("androidx.compose.ui:ui:1.6.7") - implementation ("androidx.compose.material:material:1.6.7") - implementation ("androidx.compose.ui:ui-tooling-preview:1.6.7") - androidTestImplementation ("androidx.compose.ui:ui-test-junit4:1.6.7") +// implementation(libs.androidx.foundation) } - +ktlint { + disabledRules = listOf("standard:function-naming") +} diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/DummyActivity.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/DummyActivity.kt index c3c2459..530e0a5 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/DummyActivity.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/DummyActivity.kt @@ -14,7 +14,7 @@ class DummyActivity : BindingActivity({ ActivityDummyBindi super.onCreate(savedInstanceState) setContent { - View1Screen(dummyViewModel) + View1Screen() } } } diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index e1e7698..3ae6b65 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -1,83 +1,216 @@ package org.sopt.kream.presentation.ui.dummy -import android.widget.HorizontalScrollView +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.PagerState +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.Scaffold +import androidx.compose.material3.ScrollableTabRow +import androidx.compose.material3.Tab +import androidx.compose.material3.TabRowDefaults +import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset import androidx.compose.material3.Text -import androidx.compose.material3.TextField +import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import kotlinx.coroutines.launch import org.sopt.kream.R import org.sopt.kream.theme.Black01 +import org.sopt.kream.theme.Black02 +import org.sopt.kream.theme.Black09 +import org.sopt.kream.theme.Gray06 +import org.sopt.kream.theme.PinkColor +import org.sopt.kream.theme.body2Regular +import org.sopt.kream.theme.body3SemiBold +import org.sopt.kream.theme.body5Regular import org.sopt.kream.theme.head1Bold +val pages = listOf("추천", "랭킹", "발매정보", "럭셔리", "남성", "여성", "발견") + + +@OptIn(ExperimentalFoundationApi::class) +@Preview @Composable -fun View1Screen(dummyViewModel: DummyViewModel) { +fun View1Screen() { var editText by remember { mutableStateOf("") } + val pagerState = + rememberPagerState { + pages.size + } Scaffold( topBar = { - Column (modifier = Modifier.fillMaxWidth()){ - Row (modifier = Modifier.fillMaxWidth()){ - TextField(value = editText, + Column(modifier = Modifier.fillMaxWidth()) { + Spacer(modifier = Modifier.height(33.dp)) + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + ) { + Spacer(modifier = Modifier.width(14.dp)) + + BasicTextField( + value = editText, onValueChange = { editText = it }, - label = { Text(text = stringResource(id = R.string.bar_search_label)) } + singleLine = true, + modifier = + Modifier + .weight(1f) + .size(width = 293.dp, height = 33.dp) + .background(color = Gray06, shape = RectangleShape), + decorationBox = { innerTextField -> + Box( + contentAlignment = Alignment.CenterStart, + modifier = Modifier.padding(start = 7.dp), + ) { + innerTextField() + if (editText.isEmpty()) { + Text( + style = body5Regular, + color = Black09, + text = stringResource(id = R.string.bar_search_label), + ) + } + } + }, ) + + Spacer(modifier = Modifier.width(14.dp)) Icon( painter = painterResource(R.drawable.ic_topappbar_bell_28), - contentDescription ="" + contentDescription = null, + modifier = Modifier.size(28.dp), ) + Spacer(modifier = Modifier.width(11.dp)) } - + CustomTabPager(pagerState, pages) } - } + }, ) { innerPadding -> View1Content(Modifier.padding(innerPadding)) } } +@OptIn(ExperimentalFoundationApi::class) +@Composable +fun CustomTabPager( + pagerState: PagerState, + tabs: List, +) { + val coroutineScope = rememberCoroutineScope() + Column { + ScrollableTabRow( + selectedTabIndex = pagerState.currentPage, + indicator = { tabPositions -> + TabRowDefaults.SecondaryIndicator( + modifier = Modifier + .tabIndicatorOffset(tabPositions[pagerState.currentPage]) + .width(10.dp), + color = Black02, + ) + }, + containerColor = Color.White, + contentColor = Black02, + edgePadding = 0.dp, + modifier = Modifier.padding(0.dp) + ) { +// Text(text = "서재패Md", style = body3SemiBold, color = PinkColor) + tabs.forEachIndexed { index, title -> + Tab( + text = { Text(title, style = body3SemiBold) }, + selected = pagerState.currentPage == index, + onClick = { + coroutineScope.launch { + pagerState.animateScrollToPage(index) + } + }, + modifier = Modifier.width(0.dp) + ) + } + } + HorizontalDivider( + modifier = + Modifier + .fillMaxWidth(), + color = Color.LightGray, + thickness = 1.dp, + ) + + HorizontalPager( + state = pagerState, + ) { page -> + Column( + modifier = + Modifier + .fillMaxSize() + .background(Color.White), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + when (page) { + 0 -> View1Content(modifier = Modifier) + 2 -> View2Content(modifier = Modifier) + } + } + } + } +} + @Composable fun View1Content(modifier: Modifier) { Column( - modifier = Modifier.fillMaxSize(), + modifier = modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center + verticalArrangement = Arrangement.Center, ) { Text( - text = "View1 Screen", + text = "추천", style = head1Bold, - color = Black01 + color = Black01, ) } } -@Preview @Composable -fun View1Preview() { +fun View2Content(modifier: Modifier) { Column( - modifier = Modifier.fillMaxSize(), + modifier = modifier.fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center + verticalArrangement = Arrangement.Center, ) { Text( - text = "View1 Screen", + text = "발매정보", style = head1Bold, - color = Black01 + color = Black01, ) } -} \ No newline at end of file +} diff --git a/app/src/main/java/org/sopt/kream/theme/Theme.kt b/app/src/main/java/org/sopt/kream/theme/Theme.kt index 7edc827..64f4d34 100644 --- a/app/src/main/java/org/sopt/kream/theme/Theme.kt +++ b/app/src/main/java/org/sopt/kream/theme/Theme.kt @@ -17,16 +17,18 @@ import androidx.core.view.WindowCompat private val DarkColorScheme = darkColorScheme( - primary = Gray02, - secondary = Gray02, - tertiary = Gray02, + primary = White, + secondary = White, + tertiary = White, + background = White ) private val LightColorScheme = lightColorScheme( - primary = Gray02, - secondary = Gray02, - tertiary = Gray02, + primary = White, + secondary = White, + tertiary = White, + background = White /* Other default colors to override background = Color(0xFFFFFBFE), surface = Color(0xFFFFFBFE), diff --git a/app/src/main/java/org/sopt/kream/theme/Type.kt b/app/src/main/java/org/sopt/kream/theme/Type.kt index 9490195..3256811 100644 --- a/app/src/main/java/org/sopt/kream/theme/Type.kt +++ b/app/src/main/java/org/sopt/kream/theme/Type.kt @@ -13,114 +13,132 @@ import org.sopt.kream.R val Typography = Typography( bodyLarge = - TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 16.sp, - lineHeight = 24.sp, - letterSpacing = 0.5.sp, - ) + TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp, + ), ) // Head -val head1Bold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontSize = 18.sp -) -val head2Bold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontSize = 15.sp -) +val head1Bold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_bold)), + fontSize = 18.sp, + ) +val head2Bold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_bold)), + fontSize = 15.sp, + ) // Body1 -val body1Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 17.sp -) +val body1Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 17.sp, + ) // Body2 -val body2Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 14.sp -) -val body2SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 14.sp -) +val body2Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 14.sp, + ) +val body2SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 14.sp, + ) // Body3 -val body3Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 13.sp -) -val body3SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 13.sp -) +val body3Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 13.sp, + ) +val body3SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 13.sp, + ) // Body4 -val body4Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 12.sp -) -val body4SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 12.sp -) -val body4Bold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontSize = 12.sp -) +val body4Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 12.sp, + ) +val body4SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 12.sp, + ) +val body4Bold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_bold)), + fontSize = 12.sp, + ) // Body5 -val body5Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 11.sp -) -val body5SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 11.sp -) +val body5Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 11.sp, + ) +val body5SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 11.sp, + ) // Body6 -val body6Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 10.sp -) -val body6SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 10.sp -) +val body6Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 10.sp, + ) +val body6SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 10.sp, + ) // Body7 -val body7Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 9.sp -) -val body7Bold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_bold)), - fontSize = 9.sp -) +val body7Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 9.sp, + ) +val body7Bold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_bold)), + fontSize = 9.sp, + ) // Body8 -val body8Regular = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_regular)), - fontSize = 8.sp -) -val body8SemiBold = TextStyle( - fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), - fontSize = 8.sp -) - +val body8Regular = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_regular)), + fontSize = 8.sp, + ) +val body8SemiBold = + TextStyle( + fontFamily = FontFamily(Font(R.font.notosanskr_semibold)), + fontSize = 8.sp, + ) -val notosanskr = FontFamily( - Font(R.font.notosanskr_black, FontWeight.Black, FontStyle.Normal), - Font(R.font.notosanskr_bold, FontWeight.Bold, FontStyle.Normal), - Font(R.font.notosanskr_light, FontWeight.Light, FontStyle.Normal), - Font(R.font.notosanskr_extrabold, FontWeight.ExtraBold, FontStyle.Normal), - Font(R.font.notosanskr_extralight, FontWeight.ExtraLight, FontStyle.Normal), - Font(R.font.notosanskr_medium, FontWeight.Medium, FontStyle.Normal), - Font(R.font.notosanskr_regular, FontWeight.Normal, FontStyle.Normal), - Font(R.font.notosanskr_semibold, FontWeight.SemiBold, FontStyle.Normal), - Font(R.font.notosanskr_thin, FontWeight.Thin, FontStyle.Normal) -) +val notosanskr = + FontFamily( + Font(R.font.notosanskr_black, FontWeight.Black, FontStyle.Normal), + Font(R.font.notosanskr_bold, FontWeight.Bold, FontStyle.Normal), + Font(R.font.notosanskr_light, FontWeight.Light, FontStyle.Normal), + Font(R.font.notosanskr_extrabold, FontWeight.ExtraBold, FontStyle.Normal), + Font(R.font.notosanskr_extralight, FontWeight.ExtraLight, FontStyle.Normal), + Font(R.font.notosanskr_medium, FontWeight.Medium, FontStyle.Normal), + Font(R.font.notosanskr_regular, FontWeight.Normal, FontStyle.Normal), + Font(R.font.notosanskr_semibold, FontWeight.SemiBold, FontStyle.Normal), + Font(R.font.notosanskr_thin, FontWeight.Thin, FontStyle.Normal), + ) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index df915a5..a52e2e4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,8 @@ [versions] # Kotlin +accompanistPager = "0.20.1" agp = "8.3.2" +foundation = "1.9.23" kotlin = "1.9.23" kotlinSerializationJson = "1.5.1" kotlinxCoroutines = "1.7.3" @@ -31,9 +33,13 @@ coil = "2.4.0" okhttp = "4.11.0" retrofit = "2.9.0" retrofitKotlinSerializationConverter = "1.0.0" +foundationAndroid = "1.6.7" [libraries] # Kotlin +accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanistPager" } +accompanist-pager-indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "accompanistPager" } +androidx-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "foundation" } kotlin-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinSerializationJson" } kotlin-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinxCoroutines" } @@ -71,6 +77,7 @@ okhttp = { group = "com.squareup.okhttp3", name = "okhttp" } okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-interceptor" } retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } retrofit-kotlin-serialization-converter = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofitKotlinSerializationConverter" } +androidx-foundation-android = { group = "androidx.compose.foundation", name = "foundation-android", version.ref = "foundationAndroid" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } From 6c51a91b6831ff4f5e62ef5a716f2896a8f31e9b Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Wed, 15 May 2024 22:54:39 +0900 Subject: [PATCH 03/12] =?UTF-8?q?[delete]=20=EB=AF=B8=EC=82=AC=EC=9A=A9=20?= =?UTF-8?q?import=EB=AC=B8=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/ui/dummy/View1Screen.kt | 35 ++++++++----------- .../main/java/org/sopt/kream/theme/Theme.kt | 4 +-- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index 3ae6b65..67ad53e 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -5,10 +5,8 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height @@ -18,6 +16,7 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.PagerState import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.BasicTextField import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon @@ -27,7 +26,6 @@ import androidx.compose.material3.Tab import androidx.compose.material3.TabRowDefaults import androidx.compose.material3.TabRowDefaults.tabIndicatorOffset import androidx.compose.material3.Text -import androidx.compose.material3.minimumInteractiveComponentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -37,7 +35,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview @@ -48,15 +45,12 @@ import org.sopt.kream.theme.Black01 import org.sopt.kream.theme.Black02 import org.sopt.kream.theme.Black09 import org.sopt.kream.theme.Gray06 -import org.sopt.kream.theme.PinkColor -import org.sopt.kream.theme.body2Regular import org.sopt.kream.theme.body3SemiBold import org.sopt.kream.theme.body5Regular import org.sopt.kream.theme.head1Bold val pages = listOf("추천", "랭킹", "발매정보", "럭셔리", "남성", "여성", "발견") - @OptIn(ExperimentalFoundationApi::class) @Preview @Composable @@ -83,10 +77,10 @@ fun View1Screen() { onValueChange = { editText = it }, singleLine = true, modifier = - Modifier - .weight(1f) - .size(width = 293.dp, height = 33.dp) - .background(color = Gray06, shape = RectangleShape), + Modifier + .weight(1f) + .size(width = 293.dp, height = 33.dp) + .background(color = Gray06, shape = RoundedCornerShape(9.dp)), decorationBox = { innerTextField -> Box( contentAlignment = Alignment.CenterStart, @@ -112,7 +106,7 @@ fun View1Screen() { ) Spacer(modifier = Modifier.width(11.dp)) } - CustomTabPager(pagerState, pages) + CustomTabPager(pagerState, pages) } }, ) { innerPadding -> @@ -132,16 +126,17 @@ fun CustomTabPager( selectedTabIndex = pagerState.currentPage, indicator = { tabPositions -> TabRowDefaults.SecondaryIndicator( - modifier = Modifier - .tabIndicatorOffset(tabPositions[pagerState.currentPage]) - .width(10.dp), + modifier = + Modifier + .tabIndicatorOffset(tabPositions[pagerState.currentPage]) + .width(10.dp), color = Black02, ) }, containerColor = Color.White, contentColor = Black02, edgePadding = 0.dp, - modifier = Modifier.padding(0.dp) + modifier = Modifier.padding(0.dp), ) { // Text(text = "서재패Md", style = body3SemiBold, color = PinkColor) tabs.forEachIndexed { index, title -> @@ -153,7 +148,7 @@ fun CustomTabPager( pagerState.animateScrollToPage(index) } }, - modifier = Modifier.width(0.dp) + modifier = Modifier.width(0.dp), ) } } @@ -170,9 +165,9 @@ fun CustomTabPager( ) { page -> Column( modifier = - Modifier - .fillMaxSize() - .background(Color.White), + Modifier + .fillMaxSize() + .background(Color.White), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ) { diff --git a/app/src/main/java/org/sopt/kream/theme/Theme.kt b/app/src/main/java/org/sopt/kream/theme/Theme.kt index 64f4d34..2b3430d 100644 --- a/app/src/main/java/org/sopt/kream/theme/Theme.kt +++ b/app/src/main/java/org/sopt/kream/theme/Theme.kt @@ -20,7 +20,7 @@ private val DarkColorScheme = primary = White, secondary = White, tertiary = White, - background = White + background = White, ) private val LightColorScheme = @@ -28,7 +28,7 @@ private val LightColorScheme = primary = White, secondary = White, tertiary = White, - background = White + background = White, /* Other default colors to override background = Color(0xFFFFFBFE), surface = Color(0xFFFFFBFE), From d10b1477b955c13ff49fd53bd188b7045724ca07 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 00:10:49 +0900 Subject: [PATCH 04/12] =?UTF-8?q?[init]=20#11=20indicator=20=EC=BB=A4?= =?UTF-8?q?=EC=8A=A4=ED=85=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kream/presentation/ui/dummy/View1Screen.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index 67ad53e..4ded671 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -39,6 +39,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.times import kotlinx.coroutines.launch import org.sopt.kream.R import org.sopt.kream.theme.Black01 @@ -77,10 +78,10 @@ fun View1Screen() { onValueChange = { editText = it }, singleLine = true, modifier = - Modifier - .weight(1f) - .size(width = 293.dp, height = 33.dp) - .background(color = Gray06, shape = RoundedCornerShape(9.dp)), + Modifier + .weight(1f) + .size(width = 293.dp, height = 33.dp) + .background(color = Gray06, shape = RoundedCornerShape(9.dp)), decorationBox = { innerTextField -> Box( contentAlignment = Alignment.CenterStart, @@ -125,12 +126,14 @@ fun CustomTabPager( ScrollableTabRow( selectedTabIndex = pagerState.currentPage, indicator = { tabPositions -> - TabRowDefaults.SecondaryIndicator( + TabRowDefaults.PrimaryIndicator( modifier = Modifier .tabIndicatorOffset(tabPositions[pagerState.currentPage]) - .width(10.dp), + , color = Black02, + width = pages[pagerState.currentPage].length * 12.dp + ) }, containerColor = Color.White, @@ -180,6 +183,8 @@ fun CustomTabPager( } } + + @Composable fun View1Content(modifier: Modifier) { Column( From 3ace800b552164a765684567c239e43440b23604 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 00:21:11 +0900 Subject: [PATCH 05/12] =?UTF-8?q?[init]=20#11=20divider=20=EC=86=8D?= =?UTF-8?q?=EC=84=B1=EA=B0=92=EC=9C=BC=EB=A1=9C=20=EC=A7=80=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kream/presentation/ui/dummy/View1Screen.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index 4ded671..e6ceb1f 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -140,6 +140,13 @@ fun CustomTabPager( contentColor = Black02, edgePadding = 0.dp, modifier = Modifier.padding(0.dp), + divider = {HorizontalDivider( + modifier = + Modifier + .fillMaxWidth(), + color = Color.LightGray, + thickness = 1.dp, + )} ) { // Text(text = "서재패Md", style = body3SemiBold, color = PinkColor) tabs.forEachIndexed { index, title -> @@ -155,13 +162,7 @@ fun CustomTabPager( ) } } - HorizontalDivider( - modifier = - Modifier - .fillMaxWidth(), - color = Color.LightGray, - thickness = 1.dp, - ) + HorizontalPager( state = pagerState, From 689e687ba19c848bd2977a202da80122de996a5c Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 00:22:18 +0900 Subject: [PATCH 06/12] =?UTF-8?q?[chore]=20#11=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/ui/dummy/View1Screen.kt | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index e6ceb1f..ea43830 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -78,10 +78,10 @@ fun View1Screen() { onValueChange = { editText = it }, singleLine = true, modifier = - Modifier - .weight(1f) - .size(width = 293.dp, height = 33.dp) - .background(color = Gray06, shape = RoundedCornerShape(9.dp)), + Modifier + .weight(1f) + .size(width = 293.dp, height = 33.dp) + .background(color = Gray06, shape = RoundedCornerShape(9.dp)), decorationBox = { innerTextField -> Box( contentAlignment = Alignment.CenterStart, @@ -129,26 +129,25 @@ fun CustomTabPager( TabRowDefaults.PrimaryIndicator( modifier = Modifier - .tabIndicatorOffset(tabPositions[pagerState.currentPage]) - , + .tabIndicatorOffset(tabPositions[pagerState.currentPage]), color = Black02, - width = pages[pagerState.currentPage].length * 12.dp - + width = pages[pagerState.currentPage].length * 12.dp, ) }, containerColor = Color.White, contentColor = Black02, edgePadding = 0.dp, modifier = Modifier.padding(0.dp), - divider = {HorizontalDivider( - modifier = - Modifier - .fillMaxWidth(), - color = Color.LightGray, - thickness = 1.dp, - )} + divider = { + HorizontalDivider( + modifier = + Modifier + .fillMaxWidth(), + color = Color.LightGray, + thickness = 1.dp, + ) + }, ) { -// Text(text = "서재패Md", style = body3SemiBold, color = PinkColor) tabs.forEachIndexed { index, title -> Tab( text = { Text(title, style = body3SemiBold) }, @@ -163,7 +162,6 @@ fun CustomTabPager( } } - HorizontalPager( state = pagerState, ) { page -> @@ -184,8 +182,6 @@ fun CustomTabPager( } } - - @Composable fun View1Content(modifier: Modifier) { Column( From 05e1325f2367f555fd09365104441d73f8800210 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 11:07:48 +0900 Subject: [PATCH 07/12] =?UTF-8?q?[chore]=20#11=20string.xml=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=B2=98=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 92c9bca..b8d9ad0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ KREAM-Android + "브랜드, 상품, 프로필, 태그 등" \ No newline at end of file From 9d110a296ceff0c59655deb0137969ee26f13d65 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 11:30:46 +0900 Subject: [PATCH 08/12] =?UTF-8?q?[chore]=20#11=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d0beb33..e5547e9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -82,8 +82,6 @@ dependencies { implementation(libs.bundles.okhttp) implementation(libs.bundles.retrofit) implementation(libs.kotlin.serialization.json) - -// implementation(libs.androidx.foundation) } ktlint { From 908ebed27731868faf524c049d6ebd718b7409e5 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 13:12:54 +0900 Subject: [PATCH 09/12] =?UTF-8?q?[chore]=20#13=20=EB=B6=88=ED=95=84?= =?UTF-8?q?=EC=9A=94=20ktlint=EC=84=A4=EC=A0=95=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e5547e9..122d005 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -84,6 +84,4 @@ dependencies { implementation(libs.kotlin.serialization.json) } -ktlint { - disabledRules = listOf("standard:function-naming") -} + From 2c86f237bf5137345f1c0fe3e70514e17af5e093 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 13:43:32 +0900 Subject: [PATCH 10/12] =?UTF-8?q?[chore]=20#13=20needless=20blank=20line?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 122d005..952eba4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -82,6 +82,4 @@ dependencies { implementation(libs.bundles.okhttp) implementation(libs.bundles.retrofit) implementation(libs.kotlin.serialization.json) -} - - +} \ No newline at end of file From 300c7a3394c459226bcd88a3371912851577a02d Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 13:44:01 +0900 Subject: [PATCH 11/12] Update build.gradle.kts --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 952eba4..d6c277a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -82,4 +82,4 @@ dependencies { implementation(libs.bundles.okhttp) implementation(libs.bundles.retrofit) implementation(libs.kotlin.serialization.json) -} \ No newline at end of file +} From a4a88c33802876a76b346b0dd88fd405323e6554 Mon Sep 17 00:00:00 2001 From: t1nm1ksun Date: Thu, 16 May 2024 14:12:22 +0900 Subject: [PATCH 12/12] =?UTF-8?q?[chore]=20#13=20=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EB=A7=81=20=EC=B6=94=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kream/presentation/ui/dummy/View1Screen.kt | 18 ++++++++++++++---- app/src/main/res/values/strings.xml | 10 +++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt index ea43830..7e25ecd 100644 --- a/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt +++ b/app/src/main/java/org/sopt/kream/presentation/ui/dummy/View1Screen.kt @@ -50,12 +50,21 @@ import org.sopt.kream.theme.body3SemiBold import org.sopt.kream.theme.body5Regular import org.sopt.kream.theme.head1Bold -val pages = listOf("추천", "랭킹", "발매정보", "럭셔리", "남성", "여성", "발견") - @OptIn(ExperimentalFoundationApi::class) @Preview @Composable fun View1Screen() { + val pages = + listOf( + stringResource(R.string.topBar_pageList_recommend), + stringResource(R.string.topBar_pageList_ranking), + stringResource(R.string.topBar_pageList_information), + stringResource(R.string.topBar_pageList_luxury), + stringResource(R.string.topBar_pageList_male), + stringResource(R.string.topBar_pageList_female), + stringResource(R.string.topBar_pageList_found), + ) + var editText by remember { mutableStateOf("") } @@ -92,7 +101,7 @@ fun View1Screen() { Text( style = body5Regular, color = Black09, - text = stringResource(id = R.string.bar_search_label), + text = stringResource(id = R.string.search_bar_label), ) } } @@ -107,7 +116,7 @@ fun View1Screen() { ) Spacer(modifier = Modifier.width(11.dp)) } - CustomTabPager(pagerState, pages) + CustomTabPager(pages, pagerState, pages) } }, ) { innerPadding -> @@ -118,6 +127,7 @@ fun View1Screen() { @OptIn(ExperimentalFoundationApi::class) @Composable fun CustomTabPager( + pages: List, pagerState: PagerState, tabs: List, ) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8d9ad0..22cf84e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,13 @@ KREAM-Android - "브랜드, 상품, 프로필, 태그 등" + "브랜드, 상품, 프로필, 태그 등" + + "추천" + "랭킹" + "발매정보" + "럭셔리" + "남성" + "여성" + "발견" \ No newline at end of file