Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@ interface ReedService {
suspend fun searchBook(
@Query("query") query: String,
@Query("queryType") queryType: String = "Title",
@Query("searchTarget") searchTarget: String? = null,
@Query("searchTarget") searchTarget: String = "Book",
@Query("maxResults") maxResults: Int = 20,
@Query("start") start: Int = 1,
@Query("sort") sort: String = "Accuracy",
@Query("cover") cover: String? = "Big",
@Query("categoryId") categoryId: Int? = null,
@Query("categoryId") categoryId: Int = 0,
): BookSearchResponse

@GET("api/v1/books/detail")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ 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.layout.widthIn
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
Expand Down Expand Up @@ -204,7 +205,7 @@ internal fun BookDetailContent(
text = "읽는 중",
sizeStyle = largeButtonStyle,
colorStyle = ReedButtonColorStyle.SECONDARY,
modifier = Modifier.weight(1f),
modifier = Modifier.widthIn(min = 98.dp),
trailingIcon = {
Icon(
imageVector = ImageVector.vectorResource(designR.drawable.ic_chevron_down),
Expand All @@ -222,7 +223,7 @@ internal fun BookDetailContent(
text = "독서 기록 추가",
sizeStyle = largeButtonStyle,
colorStyle = ReedButtonColorStyle.PRIMARY,
modifier = Modifier.weight(2.34f),
modifier = Modifier.weight(1f),
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,25 @@ internal fun HomeUi(
) {
HandleHomeSideEffects(state = state)

Column(
modifier = modifier.fillMaxSize(),
) {
// TODO: Android 15에서 statusBar 색상 적용 안되는 문제 있음. 해결 예정.
val systemUiController = rememberSystemUiController()
// TODO: Android 15에서 statusBar 색상 적용 안되는 문제 있음. 해결 예정.
val systemUiController = rememberSystemUiController()

DisposableEffect(systemUiController) {
DisposableEffect(systemUiController) {
systemUiController.setStatusBarColor(
color = HomeBg,
darkIcons = true,
)
onDispose {
systemUiController.setStatusBarColor(
color = HomeBg,
color = White,
darkIcons = true,
)
onDispose {
systemUiController.setStatusBarColor(
color = White,
darkIcons = true,
)
}
}
}

Column(
modifier = modifier.fillMaxSize(),
) {
HomeHeader(
onSettingsClick = {
state.eventSink(HomeUiEvent.OnSettingsClick)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,73 +70,75 @@ fun BookCard(
width = 1.dp,
color = ReedTheme.colors.borderSecondary,
shape = RoundedCornerShape(ReedTheme.radius.sm),
)
.padding(
start = ReedTheme.spacing.spacing5,
top = ReedTheme.spacing.spacing6,
end = ReedTheme.spacing.spacing5,
bottom = ReedTheme.spacing.spacing5,
),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
NetworkImage(
imageUrl = recentBookInfo.coverImageUrl,
contentDescription = "Book CoverImage",
Column(
modifier = Modifier
.width(86.dp)
.height(125.dp)
.clip(RoundedCornerShape(size = ReedTheme.radius.sm))
.border(
width = 1.dp,
color = ReedTheme.colors.borderPrimary,
shape = RoundedCornerShape(ReedTheme.radius.sm),
)
.noRippleClickable {
onBookDetailClick()
},
placeholder = painterResource(designR.drawable.ic_placeholder),
)
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
Text(
text = recentBookInfo.title,
color = ReedTheme.colors.contentPrimary,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = ReedTheme.typography.headline1SemiBold,
)
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing1))
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.Center,
.padding(bottom = ReedTheme.spacing.spacing6)
.noRippleClickable { onBookDetailClick() }
.padding(horizontal = ReedTheme.spacing.spacing5),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Text(
text = recentBookInfo.author,
color = ReedTheme.colors.contentTertiary,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = ReedTheme.typography.label1Medium,
modifier = Modifier.weight(0.7f, fill = false),
)
Spacer(Modifier.width(ReedTheme.spacing.spacing1))
VerticalDivider(
modifier = Modifier.height(14.dp),
thickness = 1.dp,
color = ReedTheme.colors.contentTertiary,
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing10))
NetworkImage(
imageUrl = recentBookInfo.coverImageUrl,
contentDescription = "Book CoverImage",
modifier = Modifier
.width(86.dp)
.height(125.dp)
.clip(RoundedCornerShape(size = ReedTheme.radius.sm))
.border(
width = 1.dp,
color = ReedTheme.colors.borderPrimary,
shape = RoundedCornerShape(ReedTheme.radius.sm),
),
placeholder = painterResource(designR.drawable.ic_placeholder),
)
Spacer(Modifier.width(ReedTheme.spacing.spacing1))
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
Text(
text = recentBookInfo.publisher,
color = ReedTheme.colors.contentTertiary,
text = recentBookInfo.title,
color = ReedTheme.colors.contentPrimary,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = ReedTheme.typography.label1Medium,
modifier = Modifier.weight(0.3f, fill = false),
style = ReedTheme.typography.headline1SemiBold,
)
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing1))
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.Center,
) {
Text(
text = recentBookInfo.author,
color = ReedTheme.colors.contentTertiary,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = ReedTheme.typography.label1Medium,
modifier = Modifier.weight(0.7f, fill = false),
)
Spacer(Modifier.width(ReedTheme.spacing.spacing1))
VerticalDivider(
modifier = Modifier.height(14.dp),
thickness = 1.dp,
color = ReedTheme.colors.contentTertiary,
)
Spacer(Modifier.width(ReedTheme.spacing.spacing1))
Text(
text = recentBookInfo.publisher,
color = ReedTheme.colors.contentTertiary,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
style = ReedTheme.typography.label1Medium,
modifier = Modifier.weight(0.3f, fill = false),
)
}
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
}
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
Row(verticalAlignment = Alignment.CenterVertically) {
Row(
modifier = Modifier.padding(horizontal = ReedTheme.spacing.spacing5),
verticalAlignment = Alignment.CenterVertically,
) {
Row(
modifier = Modifier
.background(
Expand Down Expand Up @@ -187,6 +189,7 @@ fun BookCard(
},
)
}
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
}
}

Expand Down Expand Up @@ -215,18 +218,18 @@ fun EmptyBookCard(
)
.padding(
start = ReedTheme.spacing.spacing5,
top = ReedTheme.spacing.spacing6,
end = ReedTheme.spacing.spacing5,
bottom = ReedTheme.spacing.spacing5,
),
horizontalAlignment = Alignment.CenterHorizontally,
) {
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
Spacer(modifier = Modifier.height(52.dp))
ResourceImage(
imageRes = R.drawable.img_empty_book,
contentDescription = "Empty Book",
modifier = Modifier.size(112.dp),
)
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5))
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing6))
Text(
text = stringResource(R.string.empty_book_card_title),
color = ReedTheme.colors.contentPrimary,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ import androidx.compose.ui.unit.dp
import com.ninecraft.booket.core.common.extensions.clickableSingle
import com.ninecraft.booket.core.designsystem.ComponentPreview
import com.ninecraft.booket.core.designsystem.component.ResourceImage
import com.ninecraft.booket.core.designsystem.R as designR
import com.ninecraft.booket.core.designsystem.theme.HomeBg
import com.ninecraft.booket.core.designsystem.theme.ReedTheme
import com.ninecraft.booket.feature.home.R
import com.ninecraft.booket.core.designsystem.R as designR

@Composable
fun HomeBanner(
Expand All @@ -34,14 +34,15 @@ fun HomeBanner(
modifier = modifier
.fillMaxWidth()
.height(160.dp)
.background(HomeBg)
.padding(
.background(HomeBg),
) {
Column(
modifier = Modifier.padding(
top = ReedTheme.spacing.spacing4,
start = ReedTheme.spacing.spacing6,
end = ReedTheme.spacing.spacing5,
),
) {
Column {
) {
Text(
text = stringResource(R.string.home_banner_title),
color = ReedTheme.colors.contentPrimary,
Expand All @@ -66,11 +67,19 @@ fun HomeBanner(
)
}
}
Spacer(
modifier = Modifier
.fillMaxWidth()
.height(5.dp)
.background(ReedTheme.colors.baseSecondary)
.align(Alignment.BottomCenter),
)
ResourceImage(
imageRes = R.drawable.img_home_seed,
contentDescription = "Home Seed Image",
modifier = Modifier
.align(Alignment.BottomEnd),
.align(Alignment.BottomEnd)
.padding(end = ReedTheme.spacing.spacing5),
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ internal fun LibraryUi(

Column(
modifier = modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
LibraryContent(
state = state,
Expand Down
Loading