diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/badge/RecordyLocationBadge.kt b/core/designsystem/src/main/java/com/record/designsystem/component/badge/RecordyLocationBadge.kt
index 7cb6c6a1..5dc24eb1 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/badge/RecordyLocationBadge.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/badge/RecordyLocationBadge.kt
@@ -53,7 +53,7 @@ fun RecordyLocationBadge(
text = location,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
- style = RecordyTheme.typography.caption1,
+ style = RecordyTheme.typography.caption1R,
color = RecordyTheme.colors.white,
textAlign = TextAlign.Center,
)
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyButton.kt b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyButton.kt
index 92c1bdd2..832b03a4 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyButton.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyButton.kt
@@ -17,8 +17,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.record.designsystem.theme.Black
-import com.record.designsystem.theme.Main
import com.record.designsystem.theme.RecordyTheme
+import com.record.designsystem.theme.ViskitYellow500
import timber.log.Timber
@Composable
@@ -30,7 +30,7 @@ fun RecordyButton(
enabled: Boolean = true,
clickable: Boolean = true,
onClick: () -> Unit = {},
- backgroundColor: Color = Main,
+ backgroundColor: Color = ViskitYellow500,
textColor: Color = RecordyTheme.colors.gray09,
borderWidth: Dp = 0.dp,
borderColor: Color = Color.Transparent,
@@ -44,7 +44,7 @@ fun RecordyButton(
onClick = onClick,
backgroundColor = if (enabled) backgroundColor else RecordyTheme.colors.gray08,
rippleColor = rippleColor,
- textColor = if (enabled) textColor else RecordyTheme.colors.gray04,
+ textColor = if (enabled) textColor else RecordyTheme.colors.gray06,
clickable = clickable,
padding = PaddingValues(15.dp),
textStyle = textStyle,
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyChipButton.kt b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyChipButton.kt
index 90e458f1..34585853 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyChipButton.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyChipButton.kt
@@ -22,8 +22,8 @@ import com.record.designsystem.theme.Gray01
import com.record.designsystem.theme.Gray03
import com.record.designsystem.theme.Gray08
import com.record.designsystem.theme.Gray09
-import com.record.designsystem.theme.Main
import com.record.designsystem.theme.RecordyTheme
+import com.record.designsystem.theme.ViskitYellow500
import com.record.ui.extension.customClickable
import timber.log.Timber
@@ -42,13 +42,13 @@ fun RecordyChipButton(
onClick: () -> Unit = {},
) {
val (borderLineColor, contentColor, backGroundColor) = if (isActive) {
- if (isCheckSmall) Triple(Gray01, Gray09, Gray01) else Triple(Main, Main, Gray08)
+ if (isCheckSmall) Triple(Gray01, Gray09, Gray01) else Triple(ViskitYellow500, ViskitYellow500, Gray08)
} else {
Triple(Color.Transparent, Gray03, if (isCheckSmall) Gray09 else Gray08)
}
val textStyle = when {
- isCheckSmall -> RecordyTheme.typography.caption1
+ isCheckSmall -> RecordyTheme.typography.caption1R
isActive -> RecordyTheme.typography.button2
else -> RecordyTheme.typography.body2M
}
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyMiddleButton.kt b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyMiddleButton.kt
index 9ebe94e4..3511b087 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyMiddleButton.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/button/RecordyMiddleButton.kt
@@ -17,8 +17,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.record.designsystem.theme.Black
-import com.record.designsystem.theme.Main
import com.record.designsystem.theme.RecordyTheme
+import com.record.designsystem.theme.ViskitYellow500
import timber.log.Timber
@Composable
@@ -30,7 +30,7 @@ fun RecordyMiddleButton(
enabled: Boolean = true,
clickable: Boolean = true,
onClick: () -> Unit = {},
- backgroundColor: Color = Main,
+ backgroundColor: Color = ViskitYellow500,
textColor: Color = RecordyTheme.colors.gray09,
borderWidth: Dp = 0.dp,
borderColor: Color = Color.Transparent,
@@ -44,7 +44,7 @@ fun RecordyMiddleButton(
onClick = onClick,
backgroundColor = if (enabled) backgroundColor else RecordyTheme.colors.gray08,
rippleColor = rippleColor,
- textColor = if (enabled) textColor else RecordyTheme.colors.gray04,
+ textColor = if (enabled) textColor else RecordyTheme.colors.gray06,
clickable = clickable,
padding = PaddingValues(vertical = 12.dp, horizontal = 38.dp),
textStyle = textStyle,
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/dialog/RecordyDialog.kt b/core/designsystem/src/main/java/com/record/designsystem/component/dialog/RecordyDialog.kt
index 1d9c6a5f..44f41a3c 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/dialog/RecordyDialog.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/dialog/RecordyDialog.kt
@@ -64,7 +64,7 @@ fun RecordyDialog(
Text(
modifier = Modifier.padding(top = 6.dp, bottom = 20.dp),
text = subTitle,
- style = RecordyTheme.typography.caption1,
+ style = RecordyTheme.typography.caption1R,
color = RecordyTheme.colors.gray01,
textAlign = TextAlign.Center,
)
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/progressbar/RecordyProgressBar.kt b/core/designsystem/src/main/java/com/record/designsystem/component/progressbar/RecordyProgressBar.kt
index 29abe604..d475c789 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/progressbar/RecordyProgressBar.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/progressbar/RecordyProgressBar.kt
@@ -60,13 +60,13 @@ fun RecordyProgressBar(
.fillMaxWidth()
.height(4.dp)
.align(Alignment.Center)
- .background(RecordyTheme.colors.sub01),
+ .background(RecordyTheme.colors.gray01),
)
Box(
modifier = Modifier
.fillMaxWidth(size)
.height(6.dp)
- .background(RecordyTheme.colors.main)
+ .background(RecordyTheme.colors.viskitYellow500)
.animateContentSize(),
)
}
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/snackbar/RecordySnackBar.kt b/core/designsystem/src/main/java/com/record/designsystem/component/snackbar/RecordySnackBar.kt
index d6e83131..add9a11e 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/snackbar/RecordySnackBar.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/snackbar/RecordySnackBar.kt
@@ -70,7 +70,7 @@ fun RecordySnackBarContent(
bottom = 16.dp,
)
.background(
- color = RecordyTheme.colors.sub01,
+ color = RecordyTheme.colors.background,
shape = RoundedCornerShape(8.dp),
),
verticalAlignment = Alignment.CenterVertically,
@@ -82,7 +82,7 @@ fun RecordySnackBarContent(
.padding(start = 16.dp, top = 10.dp, bottom = 10.dp, end = 4.dp),
painter = painterResource(id = R.drawable.ic_exclamation_24),
contentDescription = "warning",
- tint = RecordyTheme.colors.alert,
+ tint = RecordyTheme.colors.alert01,
)
}
@@ -92,7 +92,7 @@ fun RecordySnackBarContent(
.padding(start = 16.dp, top = 10.dp, bottom = 10.dp, end = 4.dp),
painter = painterResource(id = R.drawable.ic_check_small_24),
contentDescription = "check",
- tint = RecordyTheme.colors.main,
+ tint = RecordyTheme.colors.viskitYellow500,
)
}
}
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyBasicTextField.kt b/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyBasicTextField.kt
index abc9c662..8062efdf 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyBasicTextField.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyBasicTextField.kt
@@ -32,14 +32,15 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
-import com.record.designsystem.theme.Alert
+import com.record.designsystem.theme.Alert01
import com.record.designsystem.theme.Black
import com.record.designsystem.theme.Gray01
import com.record.designsystem.theme.Gray03
-import com.record.designsystem.theme.Gray04
+import com.record.designsystem.theme.Gray06
import com.record.designsystem.theme.Gray08
-import com.record.designsystem.theme.Main
import com.record.designsystem.theme.RecordyTheme
+import com.record.designsystem.theme.ViskitYellow500
+
/**
* design system small text field / Large text field 2가지 타입 구현 가능
* */
@@ -65,14 +66,14 @@ fun RecordyBasicTextField(
val isFocused by interactionSource.collectIsFocusedAsState()
val borderLineColor = when {
- isError -> Alert
- isFocused -> Main
+ isError -> Alert01
+ isFocused -> ViskitYellow500
value.isEmpty() -> Color.Transparent
else -> Color.Transparent
}
val labelTextColor = when {
- isError -> Alert
+ isError -> Alert01
else -> Gray03
}
@@ -87,7 +88,7 @@ fun RecordyBasicTextField(
maxLines = if (minLines > maxLines) minLines else maxLines,
minLines = minLines,
interactionSource = interactionSource,
- cursorBrush = SolidColor(Main),
+ cursorBrush = SolidColor(ViskitYellow500),
keyboardOptions = keyboardOptions,
keyboardActions = keyboardActions,
visualTransformation = visualTransformation,
@@ -113,7 +114,7 @@ fun RecordyBasicTextField(
if (value.isEmpty()) {
Text(
text = placeholder,
- color = Gray04,
+ color = Gray06,
style = RecordyTheme.typography.body2M,
maxLines = 1,
overflow = TextOverflow.Clip,
@@ -130,14 +131,14 @@ fun RecordyBasicTextField(
text = labelText,
modifier = Modifier.align(Alignment.CenterStart),
color = labelTextColor,
- style = RecordyTheme.typography.caption2,
+ style = RecordyTheme.typography.caption2R,
maxLines = 1,
)
Text(
text = "${value.length} / $maxLength",
modifier = Modifier.align(Alignment.CenterEnd),
- color = Gray04,
- style = RecordyTheme.typography.caption2,
+ color = Gray06,
+ style = RecordyTheme.typography.caption2R,
maxLines = 1,
)
}
diff --git a/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyValidateTextfield.kt b/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyValidateTextfield.kt
index 245287d6..012bbac9 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyValidateTextfield.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/component/textfield/RecordyValidateTextfield.kt
@@ -71,9 +71,9 @@ fun RecordyValidateTextfield(
width = 1.dp,
color = if (isFocused) {
if (errorState == ValidateResult.OverlapError || errorState == ValidateResult.ValidationError) {
- RecordyTheme.colors.alert
+ RecordyTheme.colors.alert01
} else {
- RecordyTheme.colors.main
+ RecordyTheme.colors.viskitYellow500
}
} else {
Color.Transparent
@@ -106,7 +106,7 @@ fun RecordyValidateTextfield(
if (value.isEmpty() && !isFocused) {
Text(
text = placeholder,
- style = RecordyTheme.typography.body2M.copy(color = RecordyTheme.colors.gray04),
+ style = RecordyTheme.typography.body2M.copy(color = RecordyTheme.colors.gray06),
)
}
innerTextField()
@@ -128,16 +128,16 @@ fun RecordyValidateTextfield(
ValidateResult.Inputting -> inputtingMessage
},
color = when (errorState) {
- ValidateResult.OverlapError, ValidateResult.ValidationError -> RecordyTheme.colors.alert
+ ValidateResult.OverlapError, ValidateResult.ValidationError -> RecordyTheme.colors.alert01
ValidateResult.Success -> RecordyTheme.colors.gray03
ValidateResult.Inputting -> RecordyTheme.colors.gray03
},
- style = RecordyTheme.typography.caption2,
+ style = RecordyTheme.typography.caption2R,
)
Text(
text = "${value.length} / $maxLength",
- style = RecordyTheme.typography.caption2,
- color = RecordyTheme.colors.gray04,
+ style = RecordyTheme.typography.caption2R,
+ color = RecordyTheme.colors.gray06,
)
}
}
diff --git a/core/designsystem/src/main/java/com/record/designsystem/theme/Theme.kt b/core/designsystem/src/main/java/com/record/designsystem/theme/Theme.kt
index 9c42fcae..183bde25 100644
--- a/core/designsystem/src/main/java/com/record/designsystem/theme/Theme.kt
+++ b/core/designsystem/src/main/java/com/record/designsystem/theme/Theme.kt
@@ -14,15 +14,15 @@ import androidx.compose.ui.graphics.Color
@Stable
class RecordyColors(
- ViskitYellow500: Color,
- ViskitYellow400: Color,
- ViskitYellow300: Color,
- ViskitYellow200: Color,
- ViskitYellow100: Color,
- ViskitYellow80: Color,
- ViskitYellow60: Color,
- ViskitYellow40: Color,
- ViskitYellow20: Color,
+ viskitYellow500: Color,
+ viskitYellow400: Color,
+ viskitYellow300: Color,
+ viskitYellow200: Color,
+ viskitYellow100: Color,
+ viskitYellow80: Color,
+ viskitYellow60: Color,
+ viskitYellow40: Color,
+ viskitYellow20: Color,
alert01: Color,
alert02: Color,
kakaoyellow: Color,
@@ -45,23 +45,23 @@ class RecordyColors(
black50: Color,
black70: Color,
) {
- var ViskitYellow500 by mutableStateOf(ViskitYellow500)
+ var viskitYellow500 by mutableStateOf(ViskitYellow500)
private set
- var ViskitYellow400 by mutableStateOf(ViskitYellow400)
+ var viskitYellow400 by mutableStateOf(ViskitYellow400)
private set
- var ViskitYellow300 by mutableStateOf(ViskitYellow300)
+ var viskitYellow300 by mutableStateOf(ViskitYellow300)
private set
- var ViskitYellow200 by mutableStateOf(ViskitYellow200)
+ var viskitYellow200 by mutableStateOf(ViskitYellow200)
private set
- var ViskitYellow100 by mutableStateOf(ViskitYellow100)
+ var viskitYellow100 by mutableStateOf(ViskitYellow100)
private set
- var ViskitYellow80 by mutableStateOf(ViskitYellow80)
+ var viskitYellow80 by mutableStateOf(ViskitYellow80)
private set
- var ViskitYellow60 by mutableStateOf(ViskitYellow60)
+ var viskitYellow60 by mutableStateOf(ViskitYellow60)
private set
- var ViskitYellow40 by mutableStateOf(ViskitYellow40)
+ var viskitYellow40 by mutableStateOf(ViskitYellow40)
private set
- var ViskitYellow20 by mutableStateOf(ViskitYellow20)
+ var viskitYellow20 by mutableStateOf(ViskitYellow20)
private set
var alert01 by mutableStateOf(alert01)
private set
@@ -140,15 +140,15 @@ class RecordyColors(
)
fun update(other: RecordyColors) {
- ViskitYellow500 = other.ViskitYellow500
- ViskitYellow400 = other.ViskitYellow400
- ViskitYellow300 = other.ViskitYellow300
- ViskitYellow200 = other.ViskitYellow200
- ViskitYellow100 = other.ViskitYellow100
- ViskitYellow80 = other.ViskitYellow80
- ViskitYellow60 = other.ViskitYellow60
- ViskitYellow40 = other.ViskitYellow40
- ViskitYellow20 = other.ViskitYellow20
+ viskitYellow500 = other.viskitYellow500
+ viskitYellow400 = other.viskitYellow400
+ viskitYellow300 = other.viskitYellow300
+ viskitYellow200 = other.viskitYellow200
+ viskitYellow100 = other.viskitYellow100
+ viskitYellow80 = other.viskitYellow80
+ viskitYellow60 = other.viskitYellow60
+ viskitYellow40 = other.viskitYellow40
+ viskitYellow20 = other.viskitYellow20
alert01 = other.alert01
alert02 = other.alert02
kakaoyellow = other.kakaoyellow
diff --git a/core/designsystem/src/main/res/drawable/ic_tab_home.xml b/core/designsystem/src/main/res/drawable/ic_tab_home.xml
new file mode 100644
index 00000000..f7c6a508
--- /dev/null
+++ b/core/designsystem/src/main/res/drawable/ic_tab_home.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_tab_mypage.xml b/core/designsystem/src/main/res/drawable/ic_tab_mypage.xml
new file mode 100644
index 00000000..6be0a8a1
--- /dev/null
+++ b/core/designsystem/src/main/res/drawable/ic_tab_mypage.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_tab_search.xml b/core/designsystem/src/main/res/drawable/ic_tab_search.xml
new file mode 100644
index 00000000..b0d7b489
--- /dev/null
+++ b/core/designsystem/src/main/res/drawable/ic_tab_search.xml
@@ -0,0 +1,17 @@
+
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_tab_upload.xml b/core/designsystem/src/main/res/drawable/ic_tab_upload.xml
new file mode 100644
index 00000000..673faba9
--- /dev/null
+++ b/core/designsystem/src/main/res/drawable/ic_tab_upload.xml
@@ -0,0 +1,15 @@
+
+
+
+
diff --git a/core/designsystem/src/main/res/drawable/ic_tab_video.xml b/core/designsystem/src/main/res/drawable/ic_tab_video.xml
new file mode 100644
index 00000000..5cc24475
--- /dev/null
+++ b/core/designsystem/src/main/res/drawable/ic_tab_video.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/core/designsystem/src/main/res/values/strings.xml b/core/designsystem/src/main/res/values/strings.xml
index 2f4581ff..7b730dd9 100644
--- a/core/designsystem/src/main/res/values/strings.xml
+++ b/core/designsystem/src/main/res/values/strings.xml
@@ -1,7 +1,8 @@
유영
홈
+ 검색
영상
- 기록
+ 업로드
프로필
diff --git a/feature/login/src/main/java/com/record/login/LoginScreen.kt b/feature/login/src/main/java/com/record/login/LoginScreen.kt
index dcf4d509..80a7d1c2 100644
--- a/feature/login/src/main/java/com/record/login/LoginScreen.kt
+++ b/feature/login/src/main/java/com/record/login/LoginScreen.kt
@@ -41,7 +41,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.record.designsystem.R
import com.record.designsystem.component.indicator.LoadingIndicator
-import com.record.designsystem.theme.Kakao
+import com.record.designsystem.theme.Kakaoyellow
import com.record.designsystem.theme.RecordyTheme
import com.record.ui.lifecycle.LaunchedEffectWithLifecycle
import dagger.hilt.android.EntryPointAccessors
@@ -222,7 +222,7 @@ fun LoginScreen(
.alpha(alpha),
textAlign = TextAlign.Center,
style = RecordyTheme.typography.body1M,
- color = RecordyTheme.colors.main,
+ color = RecordyTheme.colors.viskitYellow500,
)
}
@@ -235,7 +235,7 @@ fun LoginScreen(
.fillMaxWidth()
.height(48.dp)
.padding(horizontal = 16.dp),
- colors = ButtonDefaults.buttonColors(containerColor = Kakao),
+ colors = ButtonDefaults.buttonColors(containerColor = Kakaoyellow),
shape = RoundedCornerShape(10.dp),
) {
Image(painterResource(id = R.drawable.ic_kakao_16), null, modifier = Modifier.padding(end = 8.dp))
diff --git a/feature/login/src/main/java/com/record/login/singup/screen/PolicyScreen.kt b/feature/login/src/main/java/com/record/login/singup/screen/PolicyScreen.kt
index 98c9de77..effa2745 100644
--- a/feature/login/src/main/java/com/record/login/singup/screen/PolicyScreen.kt
+++ b/feature/login/src/main/java/com/record/login/singup/screen/PolicyScreen.kt
@@ -135,7 +135,7 @@ fun RecordyCheckBox(
Spacer(modifier = Modifier.width(16.dp))
Text(
text = contentText,
- style = RecordyTheme.typography.caption1.copy(color = RecordyTheme.colors.gray03),
+ style = RecordyTheme.typography.caption1R.copy(color = RecordyTheme.colors.gray03),
)
Spacer(modifier = Modifier.weight(1f))
if (moreUrl != null && onMoreClick != null) {
diff --git a/feature/login/src/main/java/com/record/login/singup/screen/SignUpSuccessScreen.kt b/feature/login/src/main/java/com/record/login/singup/screen/SignUpSuccessScreen.kt
index 345c6926..174d07ac 100644
--- a/feature/login/src/main/java/com/record/login/singup/screen/SignUpSuccessScreen.kt
+++ b/feature/login/src/main/java/com/record/login/singup/screen/SignUpSuccessScreen.kt
@@ -39,7 +39,7 @@ fun SignUpSuccessScreen() {
Spacer(modifier = Modifier.height(8.dp))
Text(
"지금 영상을 둘러보고 나만의 공간 취향을 발견해 보세요.",
- style = RecordyTheme.typography.caption2,
+ style = RecordyTheme.typography.caption2R,
color = RecordyTheme.colors.gray03,
)
}
diff --git a/feature/mypage/src/main/java/com/record/mypage/MypageScreen.kt b/feature/mypage/src/main/java/com/record/mypage/MypageScreen.kt
index ba52d3fd..4e6e765a 100644
--- a/feature/mypage/src/main/java/com/record/mypage/MypageScreen.kt
+++ b/feature/mypage/src/main/java/com/record/mypage/MypageScreen.kt
@@ -292,7 +292,7 @@ fun CustomTabRow(
) {
MypageTab.entries.forEachIndexed { index, tab ->
val selected = index == selectedTabIndex
- val textColor = if (selected) RecordyTheme.colors.gray01 else RecordyTheme.colors.gray04
+ val textColor = if (selected) RecordyTheme.colors.gray01 else RecordyTheme.colors.gray06
val textStyle = if (selected) RecordyTheme.typography.body2L else RecordyTheme.typography.body2M
Column(
diff --git a/feature/mypage/src/main/java/com/record/mypage/screen/EmptyDataScreen.kt b/feature/mypage/src/main/java/com/record/mypage/screen/EmptyDataScreen.kt
index c10ac7fd..9afcd835 100644
--- a/feature/mypage/src/main/java/com/record/mypage/screen/EmptyDataScreen.kt
+++ b/feature/mypage/src/main/java/com/record/mypage/screen/EmptyDataScreen.kt
@@ -81,7 +81,7 @@ fun EmptyDataScreen(imageRes: Int, message: String, showButton: Boolean, onButto
Text(
text = "서로 다른 키워드 3개를 입력하면 그래프가 보여요",
color = RecordyTheme.colors.gray03,
- style = RecordyTheme.typography.caption1,
+ style = RecordyTheme.typography.caption1R,
modifier = Modifier.padding(bottom = 22.dp),
)
}
diff --git a/feature/mypage/src/main/java/com/record/mypage/screen/TasteScreen.kt b/feature/mypage/src/main/java/com/record/mypage/screen/TasteScreen.kt
index 07b10856..2d407035 100644
--- a/feature/mypage/src/main/java/com/record/mypage/screen/TasteScreen.kt
+++ b/feature/mypage/src/main/java/com/record/mypage/screen/TasteScreen.kt
@@ -123,9 +123,9 @@ fun BoxScope.TasteScreen(
Text(
text = "${pair.second}%",
style = when (index) {
- 0 -> RecordyTheme.typography.number1
- 1 -> RecordyTheme.typography.number2
- else -> RecordyTheme.typography.number3
+ 0 -> RecordyTheme.typography.caption1R
+ 1 -> RecordyTheme.typography.caption1R
+ else -> RecordyTheme.typography.caption1R
},
color = RecordyTheme.colors.gray01,
)
diff --git a/feature/navigator/build.gradle.kts b/feature/navigator/build.gradle.kts
index 32cd858a..9b2935f6 100644
--- a/feature/navigator/build.gradle.kts
+++ b/feature/navigator/build.gradle.kts
@@ -14,5 +14,7 @@ dependencies {
implementation(projects.feature.upload)
implementation(projects.feature.video)
implementation(projects.feature.setting)
+ implementation(projects.feature.search)
+ implementation(projects.feature.detail)
implementation(projects.core.common)
}
diff --git a/feature/navigator/src/main/java/com/record/navigator/InMainNavTab.kt b/feature/navigator/src/main/java/com/record/navigator/InMainNavTab.kt
index 2da7f211..82ad98ce 100644
--- a/feature/navigator/src/main/java/com/record/navigator/InMainNavTab.kt
+++ b/feature/navigator/src/main/java/com/record/navigator/InMainNavTab.kt
@@ -7,7 +7,7 @@ import com.record.video.navigation.VideoRoute
enum class InMainNavTab(
val route: String,
) {
- VIDEO_DETAIL(VideoRoute.detailRoute),
+ VIDEO_DETAIL(VideoRoute.videoDetailRoute),
FOLLOWING(MypageRoute.followingRoute),
FOLLOWER(MypageRoute.followerRoute),
PROFILE(ProfileRoute.route),
diff --git a/feature/navigator/src/main/java/com/record/navigator/MainNavTab.kt b/feature/navigator/src/main/java/com/record/navigator/MainNavTab.kt
index 78526a94..3c8a2e73 100644
--- a/feature/navigator/src/main/java/com/record/navigator/MainNavTab.kt
+++ b/feature/navigator/src/main/java/com/record/navigator/MainNavTab.kt
@@ -5,29 +5,37 @@ import androidx.annotation.StringRes
import com.record.designsystem.R
import com.record.home.navigation.HomeRoute
import com.record.mypage.navigation.MypageRoute
+import com.record.search.navigation.SearchRoute
+import com.record.upload.navigation.UploadRoute
import com.record.video.navigation.VideoRoute
enum class MainNavTab(
@DrawableRes val iconId: Int,
- @DrawableRes val selectedIconId: Int,
@StringRes val titleId: Int,
val route: String,
) {
HOME(
- iconId = R.drawable.ic_tab_place_28,
- selectedIconId = R.drawable.ic_tab_place_pressed_28,
+ iconId = R.drawable.ic_tab_home,
titleId = R.string.home,
route = HomeRoute.route,
),
+ SEARCH(
+ iconId = R.drawable.ic_tab_search,
+ titleId = R.string.search,
+ route = SearchRoute.route,
+ ),
+ UPLOAD(
+ iconId = R.drawable.ic_tab_upload,
+ titleId = R.string.upload,
+ route = UploadRoute.ROUTE,
+ ),
VIDEO(
- iconId = R.drawable.ic_tab_video_28,
- selectedIconId = R.drawable.ic_tab_video_pressed_28,
+ iconId = R.drawable.ic_tab_video,
titleId = R.string.video,
route = VideoRoute.route,
),
MYPAGE(
- iconId = R.drawable.ic_tab_profile_28,
- selectedIconId = R.drawable.ic_tab_profile_pressed_28,
+ iconId = R.drawable.ic_tab_mypage,
titleId = R.string.profile,
route = MypageRoute.route,
),
diff --git a/feature/navigator/src/main/java/com/record/navigator/MainNavigator.kt b/feature/navigator/src/main/java/com/record/navigator/MainNavigator.kt
index 4fa9ee27..892e8e4e 100644
--- a/feature/navigator/src/main/java/com/record/navigator/MainNavigator.kt
+++ b/feature/navigator/src/main/java/com/record/navigator/MainNavigator.kt
@@ -7,6 +7,7 @@ import androidx.navigation.NavHostController
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navOptions
+import com.record.detail.navigation.navigateDetail
import com.record.home.navigation.HomeRoute
import com.record.home.navigation.navigateHome
import com.record.login.navigation.LoginRoute
@@ -17,7 +18,9 @@ import com.record.mypage.navigation.navigateToFollower
import com.record.mypage.navigation.navigateToFollowing
import com.record.profile.navigation.ProfileRoute
import com.record.profile.navigation.navigateProfile
+import com.record.search.navigation.navigateSearch
import com.record.setting.navigate.navigateSetting
+import com.record.upload.navigation.UploadRoute
import com.record.upload.navigation.navigateToUpload
import com.record.video.navigation.navigateVideo
import com.record.video.navigation.navigateVideoDetail
@@ -53,6 +56,8 @@ internal class MainNavigator(
MainNavTab.HOME -> false
MainNavTab.VIDEO -> false
MainNavTab.MYPAGE -> true
+ MainNavTab.SEARCH -> true
+ MainNavTab.UPLOAD -> true
}
}
@@ -60,6 +65,8 @@ internal class MainNavigator(
MainNavTab.HOME -> navController.navigateHome(navOptions)
MainNavTab.VIDEO -> navController.navigateVideo(navOptions)
MainNavTab.MYPAGE -> navController.navigateMypage(navOptions)
+ MainNavTab.SEARCH -> navController.navigateSearch(navOptions)
+ MainNavTab.UPLOAD -> navController.navigateToUpload()
}
}
@@ -119,6 +126,14 @@ internal class MainNavigator(
navController.navigateSetting(navOptions { })
}
+ fun navigateDetail() {
+ navController.navigateDetail(navOptions { })
+ }
+
+ fun navigateSearch() {
+ navController.navigateSearch(navOptions { })
+ }
+
fun popBackStackIfNotHome() {
if (!isSameCurrentDestination(HomeRoute.route)) {
navController.popBackStack()
@@ -131,6 +146,7 @@ internal class MainNavigator(
@Composable
fun shouldShowBottomBar(): Boolean {
val currentRoute = currentDestination?.route ?: return false
+ if (currentRoute == UploadRoute.ROUTE) return false
return currentRoute in MainNavTab || currentRoute in InMainNavTab || currentRoute.contains("detail") || currentRoute.contains(
ProfileRoute.route,
)
diff --git a/feature/navigator/src/main/java/com/record/navigator/MainScreen.kt b/feature/navigator/src/main/java/com/record/navigator/MainScreen.kt
index 175767d4..f4e0ace1 100644
--- a/feature/navigator/src/main/java/com/record/navigator/MainScreen.kt
+++ b/feature/navigator/src/main/java/com/record/navigator/MainScreen.kt
@@ -9,7 +9,6 @@ import androidx.compose.animation.EnterTransition
import androidx.compose.animation.ExitTransition
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
-import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -21,6 +20,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.HorizontalDivider
+import androidx.compose.material3.Icon
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@@ -40,10 +40,12 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.currentBackStackEntryAsState
import com.record.designsystem.component.snackbar.RecordySnackBar
import com.record.designsystem.theme.RecordyTheme
+import com.record.detail.navigation.detailNavGraph
import com.record.home.navigation.homeNavGraph
import com.record.login.navigation.loginNavGraph
import com.record.mypage.navigation.mypageNavGraph
import com.record.profile.navigation.profileNavGraph
+import com.record.search.navigation.searchNavGraph
import com.record.setting.navigate.settingNavGraph
import com.record.upload.navigation.uploadNavGraph
import com.record.video.navigation.videoNavGraph
@@ -132,6 +134,14 @@ internal fun MainScreen(
padding = innerPadding,
navigateToLogin = { navigator.navigateLogin() },
)
+
+ searchNavGraph(
+ padding = innerPadding,
+ )
+
+ detailNavGraph(
+ padding = innerPadding,
+ )
}
RecordySnackBar(
modifier = Modifier.padding(innerPadding),
@@ -191,7 +201,6 @@ private fun MainBottomNavigationBar(
selected = tab == currentTab,
label = stringResource(id = titleId),
iconId = iconId,
- selectedIconId = selectedIconId,
onClick = { onClickItem(tab) },
)
}
@@ -207,7 +216,6 @@ fun RowScope.NavItem(
selected: Boolean,
label: String,
@DrawableRes iconId: Int,
- @DrawableRes selectedIconId: Int,
onClick: () -> Unit,
) {
Column(
@@ -218,16 +226,16 @@ fun RowScope.NavItem(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
- val icon = if (selected) selectedIconId else iconId
- Image(
+ Icon(
modifier = modifier.padding(bottom = 2.dp),
- painter = painterResource(id = icon),
+ painter = painterResource(id = iconId),
contentDescription = label,
+ tint = if (selected) RecordyTheme.colors.viskitYellow500 else RecordyTheme.colors.gray06,
)
Text(
text = label,
- color = if (selected) RecordyTheme.colors.main else RecordyTheme.colors.gray04,
- style = RecordyTheme.typography.caption1,
+ color = if (selected) RecordyTheme.colors.viskitYellow500 else RecordyTheme.colors.gray06,
+ style = RecordyTheme.typography.caption1R,
)
}
}
diff --git a/feature/setting/src/main/java/com/record/setting/SettingScreen.kt b/feature/setting/src/main/java/com/record/setting/SettingScreen.kt
index 1a4d2f6a..b44e6b3d 100644
--- a/feature/setting/src/main/java/com/record/setting/SettingScreen.kt
+++ b/feature/setting/src/main/java/com/record/setting/SettingScreen.kt
@@ -147,8 +147,8 @@ fun SettingScreen(
modifier = Modifier
.padding(start = 16.dp)
.padding(top = 4.dp),
- style = RecordyTheme.typography.caption2,
- color = RecordyTheme.colors.gray04,
+ style = RecordyTheme.typography.caption2R,
+ color = RecordyTheme.colors.gray06,
)
}
}
diff --git a/feature/upload/src/main/java/com/record/upload/VideoPickerScreen.kt b/feature/upload/src/main/java/com/record/upload/VideoPickerScreen.kt
index d3062e0a..0993a380 100644
--- a/feature/upload/src/main/java/com/record/upload/VideoPickerScreen.kt
+++ b/feature/upload/src/main/java/com/record/upload/VideoPickerScreen.kt
@@ -230,7 +230,7 @@ fun VideoPickerScreen(
Text(
text = "ⓘ 주제와 무관한 기록은 무통보로 삭제될 수 있습니다",
color = RecordyTheme.colors.gray03,
- style = RecordyTheme.typography.caption2,
+ style = RecordyTheme.typography.caption2R,
maxLines = 1,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
diff --git a/feature/upload/src/main/java/com/record/upload/component/bottomsheet/DefinedContentBottomSheet.kt b/feature/upload/src/main/java/com/record/upload/component/bottomsheet/DefinedContentBottomSheet.kt
index 875978e5..8593eedc 100644
--- a/feature/upload/src/main/java/com/record/upload/component/bottomsheet/DefinedContentBottomSheet.kt
+++ b/feature/upload/src/main/java/com/record/upload/component/bottomsheet/DefinedContentBottomSheet.kt
@@ -71,7 +71,7 @@ fun DefinedContentBottomSheet(
)
Text(
text = "키워드 1~3개 선택 시, 프로필에서 취향을 분석해 드립니다.",
- style = RecordyTheme.typography.caption1,
+ style = RecordyTheme.typography.caption1R,
color = RecordyTheme.colors.gray03,
)
FlowRow(
diff --git a/feature/upload/src/main/java/com/record/upload/component/bottomsheet/SelectedVideoBottomSheet.kt b/feature/upload/src/main/java/com/record/upload/component/bottomsheet/SelectedVideoBottomSheet.kt
index d5365107..2ac61ef9 100644
--- a/feature/upload/src/main/java/com/record/upload/component/bottomsheet/SelectedVideoBottomSheet.kt
+++ b/feature/upload/src/main/java/com/record/upload/component/bottomsheet/SelectedVideoBottomSheet.kt
@@ -77,7 +77,7 @@ fun SelectedVideoBottomSheet(
Text(
text = "ⓘ 1080p 이하의 최대 15초 영상을 올려주세요.",
color = Gray03,
- style = RecordyTheme.typography.caption2,
+ style = RecordyTheme.typography.caption2R,
maxLines = 1,
modifier = Modifier
.fillMaxWidth()
diff --git a/feature/video/src/main/java/com/record/video/navigation/VideoNavigation.kt b/feature/video/src/main/java/com/record/video/navigation/VideoNavigation.kt
index f9ebcf64..25160ef4 100644
--- a/feature/video/src/main/java/com/record/video/navigation/VideoNavigation.kt
+++ b/feature/video/src/main/java/com/record/video/navigation/VideoNavigation.kt
@@ -61,6 +61,6 @@ object VideoRoute {
const val VIDEO_INDEX = "video-index"
const val VIDEO_KEYWORD = "video-keyword"
const val VIDEO_USER_ID = "video-user-id"
- const val detailRoute = "detail"
- fun detailRoute(type: String, id: String, keyword: String?, userId: String) = "$detailRoute/$type/$id/${keyword ?: "all"}/$userId"
+ const val videoDetailRoute = "video-detail"
+ fun detailRoute(type: String, id: String, keyword: String?, userId: String) = "$videoDetailRoute/$type/$id/${keyword ?: "all"}/$userId"
}