Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions core/designsystem/stability/designsystem.stability
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ private fun com.ninecraft.booket.core.designsystem.component.checkbox.TickOnlyCh

@Composable
public fun com.ninecraft.booket.core.designsystem.component.textfield.ReedRecordTextField(recordState: androidx.compose.foundation.text.input.TextFieldState, recordHintRes: kotlin.Int, modifier: androidx.compose.ui.Modifier, inputTransformation: androidx.compose.foundation.text.input.InputTransformation?, keyboardOptions: androidx.compose.foundation.text.KeyboardOptions, lineLimits: androidx.compose.foundation.text.input.TextFieldLineLimits, isError: kotlin.Boolean, errorMessage: kotlin.String, onClear: kotlin.Function0<kotlin.Unit>?, onNext: kotlin.Function0<kotlin.Unit>, backgroundColor: androidx.compose.ui.graphics.Color, textColor: androidx.compose.ui.graphics.Color, cornerShape: androidx.compose.foundation.shape.RoundedCornerShape, borderStroke: androidx.compose.foundation.BorderStroke): kotlin.Unit
skippable: false
skippable: true
restartable: true
params:
- recordState: STABLE (marked @Stable or @Immutable)
Expand All @@ -246,7 +246,7 @@ public fun com.ninecraft.booket.core.designsystem.component.textfield.ReedRecord
- onNext: STABLE (function type)
- backgroundColor: STABLE (marked @Stable or @Immutable)
- textColor: STABLE (marked @Stable or @Immutable)
- cornerShape: RUNTIME (requires runtime check)
- cornerShape: STABLE (known stable type)
- borderStroke: STABLE (marked @Stable or @Immutable)

@Composable
Expand All @@ -257,7 +257,7 @@ private fun com.ninecraft.booket.core.designsystem.component.textfield.ReedRecor

@Composable
public fun com.ninecraft.booket.core.designsystem.component.textfield.ReedTextField(queryState: androidx.compose.foundation.text.input.TextFieldState, queryHintRes: kotlin.Int, onSearch: kotlin.Function1<kotlin.String, kotlin.Unit>, onClear: kotlin.Function0<kotlin.Unit>, modifier: androidx.compose.ui.Modifier, backgroundColor: androidx.compose.ui.graphics.Color, textColor: androidx.compose.ui.graphics.Color, cornerShape: androidx.compose.foundation.shape.RoundedCornerShape, borderStroke: androidx.compose.foundation.BorderStroke?, searchIconTint: androidx.compose.ui.graphics.Color): kotlin.Unit
skippable: false
skippable: true
restartable: true
params:
- queryState: STABLE (marked @Stable or @Immutable)
Expand All @@ -267,7 +267,7 @@ public fun com.ninecraft.booket.core.designsystem.component.textfield.ReedTextFi
- modifier: STABLE (marked @Stable or @Immutable)
- backgroundColor: STABLE (marked @Stable or @Immutable)
- textColor: STABLE (marked @Stable or @Immutable)
- cornerShape: RUNTIME (requires runtime check)
- cornerShape: STABLE (known stable type)
- borderStroke: STABLE (marked @Stable or @Immutable)
- searchIconTint: STABLE (marked @Stable or @Immutable)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,30 @@ private fun ReviewDetailPreview() {
)
}
}

@ComponentPreview
@Composable
private fun ReviewDetailEmptyPreview() {
ReedTheme {
RecordDetailUi(
state = RecordDetailUiState(
uiState = UiState.Success,
recordDetailInfo = RecordDetailModel(
id = "",
userBookId = "",
pageNumber = 90,
quote = "소설가들은 늘 소재를 찾아 떠도는 존재 같지만, 실은 그 반대인 경우가 더 잦다.",
review = "",
emotionTags = listOf("따뜻함"),
createdAt = "2023.10.10",
updatedAt = "",
bookTitle = "여름은 오래 그곳에 남아",
bookPublisher = "비채 비채 비채 비채",
bookCoverImageUrl = "",
author = "미쓰이에 마사시, 미쓰이에 마사시, 미쓰이에 마사시, 미쓰이에 마사시",
),
eventSink = {},
),
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ internal fun ReviewItem(
)
.padding(
horizontal = ReedTheme.spacing.spacing4,
vertical = ReedTheme.spacing.spacing3,
vertical = ReedTheme.spacing.spacing4,
),
) {
Column {
Expand Down Expand Up @@ -68,12 +68,14 @@ internal fun ReviewItem(
style = ReedTheme.typography.label2Regular,
)
}
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing3))
Text(
text = review,
color = ReedTheme.colors.contentSecondary,
style = ReedTheme.typography.label1Medium,
)
if (review.isNotBlank()) {
Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing3))
Text(
text = review,
color = ReedTheme.colors.contentSecondary,
style = ReedTheme.typography.label1Medium,
)
}
}
}
}
Expand All @@ -89,3 +91,15 @@ private fun ReviewBoxPreview() {
)
}
}

@ComponentPreview
@Composable
private fun ReviewBoxEmptyPreview() {
ReedTheme {
ReviewItem(
emotion = "따뜻함",
review = "",
createdAt = "2025.06.25",
)
}
}
12 changes: 12 additions & 0 deletions feature/detail/stability/detail.stability
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,12 @@ internal fun com.ninecraft.booket.feature.detail.record.RecordDetailUi(state: co
- state: STABLE
- modifier: STABLE (marked @Stable or @Immutable)

@Composable
private fun com.ninecraft.booket.feature.detail.record.ReviewDetailEmptyPreview(): kotlin.Unit
skippable: true
restartable: true
params:

@Composable
private fun com.ninecraft.booket.feature.detail.record.ReviewDetailPreview(): kotlin.Unit
skippable: true
Expand Down Expand Up @@ -362,6 +368,12 @@ private fun com.ninecraft.booket.feature.detail.record.component.RecordMenuItem(
- onClick: STABLE (function type)
- modifier: STABLE (marked @Stable or @Immutable)

@Composable
private fun com.ninecraft.booket.feature.detail.record.component.ReviewBoxEmptyPreview(): kotlin.Unit
skippable: true
restartable: true
params:

@Composable
private fun com.ninecraft.booket.feature.detail.record.component.ReviewBoxPreview(): kotlin.Unit
skippable: true
Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ androidx-compose-material3 = "1.4.0-alpha18"
compose-stable-marker = "1.0.6"
compose-effects = "0.1.1"
compose-shadow = "2.0.4"
compose-stability-analyzer = "0.4.0"
compose-stability-analyzer = "0.4.1"

## Kotlin Symbol Processing
ksp = "2.3.0"
Expand Down
Loading