diff --git a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/BasicButton.kt b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/BasicButton.kt
index 5cecee22..7b590248 100644
--- a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/BasicButton.kt
+++ b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/BasicButton.kt
@@ -28,6 +28,7 @@ import com.susu.core.ui.extension.susuClickable
fun BasicButton(
modifier: Modifier = Modifier,
shape: Shape = RectangleShape,
+ textModifier: Modifier = Modifier,
text: String? = null,
textStyle: TextStyle = TextStyle.Default,
contentColor: Color = Color.Unspecified,
@@ -72,6 +73,7 @@ fun BasicButton(
text?.let {
Text(
+ modifier = textModifier,
text = it,
style = textStyle,
color = contentColor,
diff --git a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFilledButton.kt b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFilledButton.kt
index a01346f0..0d62e485 100644
--- a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFilledButton.kt
+++ b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFilledButton.kt
@@ -12,6 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.susu.core.designsystem.R
@@ -49,6 +50,8 @@ enum class FilledButtonColor(
fun SusuFilledButton(
modifier: Modifier = Modifier,
shape: Shape = RoundedCornerShape(4.dp),
+ textModifier: Modifier = Modifier,
+ textAlign: TextAlign = TextAlign.Unspecified,
text: String? = null,
color: FilledButtonColor,
style: @Composable () -> ButtonStyle,
@@ -63,8 +66,9 @@ fun SusuFilledButton(
BasicButton(
modifier = modifier,
shape = shape,
+ textModifier = textModifier,
text = text,
- textStyle = textStyle,
+ textStyle = textStyle.copy(textAlign = textAlign),
contentColor = if (isActive) activeContentColor else inactiveContentColor,
rippleColor = rippleColor,
backgroundColor = if (isActive) activeBackgroundColor else inactiveBackgroundColor,
diff --git a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFloatingButton.kt b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFloatingButton.kt
index 85221062..edb3a67a 100644
--- a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFloatingButton.kt
+++ b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuFloatingButton.kt
@@ -1,5 +1,6 @@
package com.susu.core.designsystem.component.button
+import androidx.annotation.DrawableRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -12,6 +13,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.shadow
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 com.susu.core.designsystem.R
@@ -23,6 +25,7 @@ import com.susu.core.ui.extension.susuClickable
@Composable
fun SusuFloatingButton(
modifier: Modifier = Modifier,
+ @DrawableRes imageResId: Int = R.drawable.ic_floating_button_add,
onClick: () -> Unit = {},
) {
Box(
@@ -34,7 +37,10 @@ fun SusuFloatingButton(
.susuClickable(rippleColor = Gray10, onClick = onClick),
contentAlignment = Alignment.Center,
) {
- Image(painter = painterResource(id = R.drawable.ic_floating_button_add), contentDescription = "추가 아이콘")
+ Image(
+ painter = painterResource(id = imageResId),
+ contentDescription = stringResource(id = com.susu.core.ui.R.string.content_description_add_button),
+ )
}
}
diff --git a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuGhostButton.kt b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuGhostButton.kt
index b372b4a1..1b904b93 100644
--- a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuGhostButton.kt
+++ b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuGhostButton.kt
@@ -12,6 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.susu.core.designsystem.R
@@ -49,6 +50,8 @@ enum class GhostButtonColor(
fun SusuGhostButton(
modifier: Modifier = Modifier,
shape: Shape = RoundedCornerShape(4.dp),
+ textModifier: Modifier = Modifier,
+ textAlign: TextAlign = TextAlign.Unspecified,
text: String? = null,
color: GhostButtonColor,
style: @Composable () -> ButtonStyle,
@@ -64,8 +67,9 @@ fun SusuGhostButton(
BasicButton(
modifier = modifier,
shape = shape,
+ textModifier = textModifier,
text = text,
- textStyle = textStyle,
+ textStyle = textStyle.copy(textAlign = textAlign),
contentColor = if (isActive) activeContentColor else inactiveContentColor,
rippleColor = rippleColor,
backgroundColor = if (isActive) activeBackgroundColor else inactiveBackgroundColor,
diff --git a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuLinedButton.kt b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuLinedButton.kt
index caacb381..280815bb 100644
--- a/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuLinedButton.kt
+++ b/core/designsystem/src/main/java/com/susu/core/designsystem/component/button/SusuLinedButton.kt
@@ -12,6 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.susu.core.designsystem.R
@@ -56,6 +57,8 @@ enum class LinedButtonColor(
fun SusuLinedButton(
modifier: Modifier = Modifier,
shape: Shape = RoundedCornerShape(4.dp),
+ textModifier: Modifier = Modifier,
+ textAlign: TextAlign = TextAlign.Unspecified,
text: String? = null,
color: LinedButtonColor,
style: @Composable () -> ButtonStyle,
@@ -70,8 +73,9 @@ fun SusuLinedButton(
BasicButton(
modifier = modifier,
shape = shape,
+ textModifier = textModifier,
text = text,
- textStyle = textStyle,
+ textStyle = textStyle.copy(textAlign = textAlign),
borderWidth = 1.dp,
borderColor = if (isActive) activeBorderColor else inactiveBorderColor,
contentColor = if (isActive) activeContentColor else inactiveContentColor,
diff --git a/core/ui/src/main/res/values/strings.xml b/core/ui/src/main/res/values/strings.xml
index 0cc767ac..9ffe9638 100644
--- a/core/ui/src/main/res/values/strings.xml
+++ b/core/ui/src/main/res/values/strings.xml
@@ -44,4 +44,5 @@
메모
등록
자유
+ 신고 버튼
diff --git a/feature/community/src/main/java/com/susu/feature/community/CommunityScreen.kt b/feature/community/src/main/java/com/susu/feature/community/CommunityScreen.kt
deleted file mode 100644
index 33e9fcce..00000000
--- a/feature/community/src/main/java/com/susu/feature/community/CommunityScreen.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.susu.feature.community
-
-import androidx.compose.foundation.layout.PaddingValues
-import androidx.compose.foundation.layout.padding
-import androidx.compose.material3.Text
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.tooling.preview.Preview
-import androidx.compose.ui.unit.dp
-import androidx.compose.ui.unit.sp
-import com.susu.core.designsystem.theme.SusuTheme
-import com.susu.core.ui.extension.susuClickable
-
-@Composable
-fun CommunityRoute(
- padding: PaddingValues,
- navigateVoteAdd: () -> Unit,
-) {
- CommunityScreen(
- padding = padding,
- navigateVoteAdd = navigateVoteAdd,
- )
-}
-
-@Composable
-fun CommunityScreen(
- padding: PaddingValues,
- navigateVoteAdd: () -> Unit = {},
-) {
- Text(
- modifier = Modifier
- .padding(padding)
- .susuClickable(onClick = navigateVoteAdd),
- text = "투표",
- fontSize = 48.sp,
- )
-}
-
-@Preview
-@Composable
-fun CommunityScreenPreview() {
- SusuTheme {
- CommunityScreen(padding = PaddingValues(0.dp))
- }
-}
diff --git a/feature/community/src/main/java/com/susu/feature/community/community/CommunityScreen.kt b/feature/community/src/main/java/com/susu/feature/community/community/CommunityScreen.kt
new file mode 100644
index 00000000..ec243144
--- /dev/null
+++ b/feature/community/src/main/java/com/susu/feature/community/community/CommunityScreen.kt
@@ -0,0 +1,214 @@
+package com.susu.feature.community.community
+
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.Image
+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.PaddingValues
+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.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.LazyRow
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.material3.HorizontalDivider
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+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 com.susu.core.designsystem.component.appbar.SusuDefaultAppBar
+import com.susu.core.designsystem.component.appbar.icon.LogoIcon
+import com.susu.core.designsystem.component.appbar.icon.SearchIcon
+import com.susu.core.designsystem.component.button.FilledButtonColor
+import com.susu.core.designsystem.component.button.SusuFilledButton
+import com.susu.core.designsystem.component.button.SusuFloatingButton
+import com.susu.core.designsystem.component.button.XSmallButtonStyle
+import com.susu.core.designsystem.theme.Gray10
+import com.susu.core.designsystem.theme.Gray20
+import com.susu.core.designsystem.theme.Gray30
+import com.susu.core.designsystem.theme.Gray40
+import com.susu.core.designsystem.theme.SusuTheme
+import com.susu.feature.community.R
+import com.susu.feature.community.community.component.MostPopularVoteCard
+import com.susu.feature.community.community.component.VoteCard
+
+@Composable
+fun CommunityRoute(
+ padding: PaddingValues,
+ navigateVoteAdd: () -> Unit,
+) {
+ CommunityScreen(
+ padding = padding,
+ navigateVoteAdd = navigateVoteAdd,
+ )
+}
+
+@OptIn(ExperimentalFoundationApi::class)
+@Composable
+fun CommunityScreen(
+ padding: PaddingValues,
+ onClickSearchIcon: () -> Unit = {},
+ navigateVoteAdd: () -> Unit = {},
+) {
+ Box(
+ modifier = Modifier
+ .padding(padding)
+ .fillMaxSize(),
+ ) {
+ Column(
+ modifier = Modifier
+ .background(SusuTheme.colorScheme.background10),
+ ) {
+ SusuDefaultAppBar(
+ modifier = Modifier.padding(horizontal = SusuTheme.spacing.spacing_xs),
+ leftIcon = {
+ LogoIcon()
+ },
+ title = stringResource(R.string.community_screen_title),
+ actions = {
+ Row {
+ SearchIcon(onClickSearchIcon)
+ }
+ },
+ )
+
+ LazyColumn(
+ modifier = Modifier.weight(1f),
+ contentPadding = PaddingValues(vertical = SusuTheme.spacing.spacing_m),
+ ) {
+ item {
+ Column {
+ Text(
+ modifier = Modifier.padding(start = SusuTheme.spacing.spacing_m),
+ text = stringResource(R.string.community_screen_most_popular_vote),
+ style = SusuTheme.typography.title_xxs,
+ )
+
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_xxs))
+
+ LazyRow(
+ contentPadding = PaddingValues(horizontal = SusuTheme.spacing.spacing_m),
+ horizontalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_m),
+ ) {
+ items(count = 5) {
+ MostPopularVoteCard()
+ }
+ }
+ }
+ }
+
+ item {
+ Spacer(
+ modifier = Modifier
+ .size(SusuTheme.spacing.spacing_m),
+ )
+ HorizontalDivider(
+ thickness = SusuTheme.spacing.spacing_xxs,
+ color = Gray20,
+ )
+ }
+
+ stickyHeader {
+ Column(
+ modifier = Modifier
+ .background(Gray10)
+ .padding(
+ top = SusuTheme.spacing.spacing_m,
+ start = SusuTheme.spacing.spacing_m,
+ end = SusuTheme.spacing.spacing_m,
+ bottom = SusuTheme.spacing.spacing_xxs,
+ ),
+ verticalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_xl),
+ ) {
+ Row(
+ horizontalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_xxxxs),
+ ) {
+ listOf("전체", "결혼식", "장례식", "돌잔치", "생일 기념일", "자유").forEach {
+ SusuFilledButton(
+ color = FilledButtonColor.Black,
+ style = XSmallButtonStyle.height28,
+ text = it,
+ isActive = true,
+ onClick = { },
+ )
+ }
+ }
+
+ Row(
+ modifier = Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.SpaceBetween,
+ ) {
+ Row(
+ verticalAlignment = Alignment.CenterVertically,
+ horizontalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_xxs),
+ ) {
+ Box(
+ modifier = Modifier
+ .clip(CircleShape)
+ .size(6.dp)
+ .background(Gray30),
+ )
+
+ Text(
+ text = stringResource(R.string.community_screen_vote_align_high),
+ style = SusuTheme.typography.title_xxxs,
+ color = Gray40,
+ )
+ }
+
+ Row(
+ verticalAlignment = Alignment.CenterVertically,
+ horizontalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_xxxxs),
+ ) {
+ Image(
+ painter = painterResource(id = R.drawable.ic_uncheck),
+ contentDescription = null,
+ )
+
+ Text(
+ text = stringResource(R.string.community_screen_show_my_article),
+ style = SusuTheme.typography.title_xxxs,
+ color = Gray40,
+ )
+ }
+ }
+ }
+ }
+
+ item {
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_s))
+ }
+
+ items(10) {
+ VoteCard()
+ }
+ }
+ }
+
+ SusuFloatingButton(
+ modifier = Modifier
+ .align(Alignment.BottomEnd)
+ .padding(SusuTheme.spacing.spacing_l),
+ imageResId = R.drawable.ic_vote_add,
+ onClick = navigateVoteAdd,
+ )
+ }
+}
+
+@Preview
+@Composable
+fun CommunityScreenPreview() {
+ SusuTheme {
+ CommunityScreen(padding = PaddingValues(0.dp))
+ }
+}
diff --git a/feature/community/src/main/java/com/susu/feature/community/community/component/MostPopularVoteCard.kt b/feature/community/src/main/java/com/susu/feature/community/community/component/MostPopularVoteCard.kt
new file mode 100644
index 00000000..bd90867e
--- /dev/null
+++ b/feature/community/src/main/java/com/susu/feature/community/community/component/MostPopularVoteCard.kt
@@ -0,0 +1,86 @@
+package com.susu.feature.community.community.component
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.Icon
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import com.susu.core.designsystem.component.button.GhostButtonColor
+import com.susu.core.designsystem.component.button.SusuGhostButton
+import com.susu.core.designsystem.component.button.XSmallButtonStyle
+import com.susu.core.designsystem.theme.Gray15
+import com.susu.core.designsystem.theme.Gray50
+import com.susu.core.designsystem.theme.Gray60
+import com.susu.core.designsystem.theme.SusuTheme
+import com.susu.feature.community.R
+
+@Composable
+fun MostPopularVoteCard() {
+ Column(
+ modifier = Modifier
+ .clip(RoundedCornerShape(8.dp))
+ .background(Gray15)
+ .size(
+ width = 296.dp,
+ height = 156.dp,
+ )
+ .padding(SusuTheme.spacing.spacing_m),
+ ) {
+ Row(
+ verticalAlignment = Alignment.CenterVertically,
+ ) {
+ Text(text = "결혼식", color = Gray60, style = SusuTheme.typography.title_xxxs)
+ Icon(
+ modifier = Modifier.size(20.dp),
+ painter = painterResource(id = com.susu.core.ui.R.drawable.ic_arrow_right),
+ contentDescription = null,
+ tint = Gray50,
+ )
+ }
+
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_xxs))
+
+ Text(
+ text = "고등학교 동창이고 좀 애매하게 친한 사인데 축의금 얼마 내야 돼?",
+ style = SusuTheme.typography.text_xxxs,
+ )
+
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_xs))
+
+ SusuGhostButton(
+ textModifier = Modifier.weight(1f),
+ text = "12,430명 참여 중",
+ textAlign = TextAlign.Center,
+ color = GhostButtonColor.Black,
+ style = XSmallButtonStyle.height44,
+ isClickable = false,
+ leftIcon = {
+ Image(
+ painter = painterResource(id = R.drawable.ic_vote),
+ contentDescription = null,
+ )
+ },
+ )
+ }
+}
+
+@Preview
+@Composable
+fun MostPopularVoteCardPreview() {
+ SusuTheme {
+ MostPopularVoteCard()
+ }
+}
diff --git a/feature/community/src/main/java/com/susu/feature/community/community/component/VoteCard.kt b/feature/community/src/main/java/com/susu/feature/community/community/component/VoteCard.kt
new file mode 100644
index 00000000..ce020aef
--- /dev/null
+++ b/feature/community/src/main/java/com/susu/feature/community/community/component/VoteCard.kt
@@ -0,0 +1,117 @@
+package com.susu.feature.community.community.component
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+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.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.Icon
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+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 com.susu.core.designsystem.component.button.GhostButtonColor
+import com.susu.core.designsystem.component.button.SusuGhostButton
+import com.susu.core.designsystem.component.button.XSmallButtonStyle
+import com.susu.core.designsystem.theme.Blue60
+import com.susu.core.designsystem.theme.Gray15
+import com.susu.core.designsystem.theme.Gray40
+import com.susu.core.designsystem.theme.Orange60
+import com.susu.core.designsystem.theme.SusuTheme
+import com.susu.feature.community.R
+
+@Composable
+fun VoteCard() {
+ Column(
+ modifier = Modifier
+ .padding(
+ start = SusuTheme.spacing.spacing_m,
+ end = SusuTheme.spacing.spacing_m,
+ bottom = SusuTheme.spacing.spacing_xxs,
+ )
+ .fillMaxWidth()
+ .clip(RoundedCornerShape(8.dp))
+ .background(Gray15)
+ .padding(SusuTheme.spacing.spacing_m),
+ ) {
+ Row(
+ modifier = Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.SpaceBetween,
+ ) {
+ Row(
+ verticalAlignment = Alignment.CenterVertically,
+ ) {
+ Text(text = "결혼식", color = Orange60, style = SusuTheme.typography.title_xxxs)
+ Icon(
+ modifier = Modifier.size(20.dp),
+ painter = painterResource(id = com.susu.core.ui.R.drawable.ic_arrow_right),
+ contentDescription = null,
+ tint = Orange60,
+ )
+ }
+
+ Text(
+ text = "10분 전",
+ style = SusuTheme.typography.text_xxxs,
+ color = Gray40,
+ )
+ }
+
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_xxs))
+
+ Text(
+ text = "고등학교 동창이고 좀 애매하게 친한 사인데 축의금 얼마 내야 돼?",
+ style = SusuTheme.typography.text_xxxs,
+ )
+
+ Column(
+ verticalArrangement = Arrangement.spacedBy(SusuTheme.spacing.spacing_xxxxs),
+ ) {
+ repeat(5) {
+ SusuGhostButton(
+ textModifier = Modifier.weight(1f),
+ text = "${it}만원",
+ color = GhostButtonColor.Black,
+ style = XSmallButtonStyle.height44,
+ isClickable = false,
+ )
+ }
+ }
+
+ Spacer(modifier = Modifier.size(SusuTheme.spacing.spacing_s))
+
+ Row(
+ modifier = Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.SpaceBetween,
+ ) {
+ Text(
+ text = "8명 참여",
+ style = SusuTheme.typography.title_xxxs,
+ color = Blue60,
+ )
+
+ Image(
+ painter = painterResource(id = R.drawable.ic_report),
+ contentDescription = stringResource(com.susu.core.ui.R.string.content_description_report_button),
+ )
+ }
+ }
+}
+
+@Preview
+@Composable
+fun VoteCardPreview() {
+ SusuTheme {
+ VoteCard()
+ }
+}
diff --git a/feature/community/src/main/java/com/susu/feature/community/navigation/CommunityNavigation.kt b/feature/community/src/main/java/com/susu/feature/community/navigation/CommunityNavigation.kt
index ec263286..5516485f 100644
--- a/feature/community/src/main/java/com/susu/feature/community/navigation/CommunityNavigation.kt
+++ b/feature/community/src/main/java/com/susu/feature/community/navigation/CommunityNavigation.kt
@@ -7,7 +7,7 @@ import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
import com.susu.core.ui.DialogToken
import com.susu.core.ui.SnackbarToken
-import com.susu.feature.community.CommunityScreen
+import com.susu.feature.community.community.CommunityRoute
import com.susu.feature.community.voteadd.VoteAddRoute
fun NavController.navigateVoteAdd() {
@@ -29,7 +29,7 @@ fun NavGraphBuilder.communityNavGraph(
handleException: (Throwable, () -> Unit) -> Unit,
) {
composable(route = CommunityRoute.route) {
- CommunityScreen(
+ CommunityRoute(
padding = padding,
navigateVoteAdd = navigateVoteAdd,
)
diff --git a/feature/community/src/main/res/drawable/ic_report.xml b/feature/community/src/main/res/drawable/ic_report.xml
new file mode 100644
index 00000000..48c8e505
--- /dev/null
+++ b/feature/community/src/main/res/drawable/ic_report.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/feature/community/src/main/res/drawable/ic_uncheck.xml b/feature/community/src/main/res/drawable/ic_uncheck.xml
new file mode 100644
index 00000000..bdcd96fb
--- /dev/null
+++ b/feature/community/src/main/res/drawable/ic_uncheck.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/feature/community/src/main/res/drawable/ic_vote.xml b/feature/community/src/main/res/drawable/ic_vote.xml
new file mode 100644
index 00000000..49b6a3fe
--- /dev/null
+++ b/feature/community/src/main/res/drawable/ic_vote.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/feature/community/src/main/res/drawable/ic_vote_add.xml b/feature/community/src/main/res/drawable/ic_vote_add.xml
new file mode 100644
index 00000000..77838a10
--- /dev/null
+++ b/feature/community/src/main/res/drawable/ic_vote_add.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/feature/community/src/main/res/values/strings.xml b/feature/community/src/main/res/values/strings.xml
index 05144a77..81a34cfe 100644
--- a/feature/community/src/main/res/values/strings.xml
+++ b/feature/community/src/main/res/values/strings.xml
@@ -4,4 +4,8 @@
투표 내용을 작성해주세요
선택지를 입력하세요
투표 추가 버튼
+ 내 글 보기
+ 투표 많은 순
+ 가장 인기있는 투표
+ 투표
diff --git a/feature/navigator/src/main/java/com/susu/feature/navigator/MainNavigator.kt b/feature/navigator/src/main/java/com/susu/feature/navigator/MainNavigator.kt
index 9b5faa54..88c86fb6 100644
--- a/feature/navigator/src/main/java/com/susu/feature/navigator/MainNavigator.kt
+++ b/feature/navigator/src/main/java/com/susu/feature/navigator/MainNavigator.kt
@@ -61,6 +61,7 @@ internal class MainNavigator(
SentRoute.sentEnvelopeRoute,
SentRoute.sentEnvelopeDetailRoute,
SentRoute.sentEnvelopeEditRoute,
+ CommunityRoute.route,
CommunityRoute.voteAddRoute,
),
-> SusuTheme.colorScheme.background10