From f411f523cbb45351986fa6628704fc30d640fb1a Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 19:11:03 +0900 Subject: [PATCH 01/16] =?UTF-8?q?[BOOK-481]=20feat:=20=EB=8F=84=EC=84=9C?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=20=ED=99=94=EB=A9=B4=20UI=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=82=AC=ED=95=AD=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 패딩, 기록 아이템 컴포넌트 배치, 기록 아이템이 존재하는 프리뷰 추가 --- .../feature/detail/book/BookDetailUi.kt | 61 ++++++++++++++++++- .../book/component/ReadingRecordsHeader.kt | 2 +- .../detail/book/component/RecordItem.kt | 32 +++------- 3 files changed, 70 insertions(+), 25 deletions(-) diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt index 2c7ce7f6..fbe912c8 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt @@ -37,6 +37,9 @@ import com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorSt import com.ninecraft.booket.core.designsystem.component.button.mediumButtonStyle import com.ninecraft.booket.core.designsystem.theme.ReedTheme import com.ninecraft.booket.core.model.BookDetailModel +import com.ninecraft.booket.core.model.Emotion +import com.ninecraft.booket.core.model.EmotionModel +import com.ninecraft.booket.core.model.ReadingRecordModel import com.ninecraft.booket.core.ui.ReedScaffold import com.ninecraft.booket.core.ui.component.InfinityLazyColumn import com.ninecraft.booket.core.ui.component.LoadStateFooter @@ -57,6 +60,7 @@ import com.ninecraft.booket.feature.screens.BookDetailScreen import com.skydoves.compose.stability.runtime.TraceRecomposition import com.slack.circuit.codegen.annotations.CircuitInject import dev.zacsweers.metro.AppScope +import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.launch import com.ninecraft.booket.core.designsystem.R as designR @@ -238,7 +242,7 @@ internal fun BookDetailContent( item { Column { BookItem(bookDetail = state.bookDetail) - Spacer(Modifier.height(ReedTheme.spacing.spacing7)) + Spacer(Modifier.height(ReedTheme.spacing.spacing5)) Row( modifier = Modifier .fillMaxWidth() @@ -292,7 +296,7 @@ internal fun BookDetailContent( Column( modifier = Modifier.padding(horizontal = ReedTheme.spacing.spacing5), ) { - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing6)) + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing8)) ReadingRecordsHeader( totalCount = state.readingRecordsTotalCount, currentRecordSort = state.currentRecordSort, @@ -382,3 +386,56 @@ private fun BookDetailPreview() { ) } } + +@ComponentPreview +@Composable +private fun BookDetailWithSeedsPreview() { + ReedTheme { + BookDetailUi( + state = BookDetailUiState( + uiState = UiState.Success, + bookDetail = BookDetailModel( + title = "데미안", + author = "헤르만 헤세", + publisher = "민음사", + pubDate = "2023-01-01", + coverImageUrl = "", + ), + seedsStats = persistentListOf( + EmotionModel(name = Emotion.WARM, count = 5), + EmotionModel(name = Emotion.JOY, count = 3), + EmotionModel(name = Emotion.SAD, count = 2), + EmotionModel(name = Emotion.INSIGHT, count = 7), + ), + readingRecords = persistentListOf( + ReadingRecordModel( + id = "1", + pageNumber = 42, + quote = "새는 알에서 나오려고 투쟁한다. 알은 세계이다.", + review = "정말 인상 깊은 구절이었다.", + emotionTags = listOf("깨달음", "따뜻함"), + createdAt = "2024-01-15T10:30:00.000000", + ), + ReadingRecordModel( + id = "2", + pageNumber = 78, + quote = "나는 더 이상 꿈을 꾸지 않으려 했다.", + review = "성장통을 느끼는 부분", + emotionTags = listOf("슬픔"), + createdAt = "2024-01-20T14:20:00.000000", + ), + ReadingRecordModel( + id = "3", + pageNumber = 156, + quote = "운명과 성향은 같은 개념의 두 이름이다.", + review = "내 삶을 돌아보게 되었다.", + emotionTags = listOf("깨달음", "즐거움"), + createdAt = "2024-01-25T09:15:00.000000", + ), + ), + readingRecordsTotalCount = 3, + eventSink = {}, + ), + ) + } +} diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/ReadingRecordsHeader.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/ReadingRecordsHeader.kt index 7dfdefb2..d0cf80d0 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/ReadingRecordsHeader.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/ReadingRecordsHeader.kt @@ -43,7 +43,7 @@ internal fun ReadingRecordsHeader( Spacer(modifier = Modifier.width(ReedTheme.spacing.spacing1)) Text( text = "$totalCount", - color = ReedTheme.colors.contentBrand, + color = ReedTheme.colors.contentTertiary, style = ReedTheme.typography.headline2SemiBold, ) } diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt index 4b0b8d3b..0814df96 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt @@ -1,6 +1,5 @@ package com.ninecraft.booket.feature.detail.book.component -import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column @@ -11,8 +10,6 @@ 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.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Icon import androidx.compose.material3.Text @@ -21,7 +18,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.style.TextOverflow @@ -55,19 +51,12 @@ internal fun RecordItem( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, ) { - Image( - painter = painterResource(getEmotionImageResourceByDisplayName(recordInfo.emotionTags[0])), - contentDescription = "Emotion Graphic", - modifier = Modifier - .size(ReedTheme.spacing.spacing8) - .clip(CircleShape) - .background(ReedTheme.colors.basePrimary), - ) - Spacer(modifier = Modifier.width(ReedTheme.spacing.spacing2)) Text( - text = "#${recordInfo.emotionTags[0]}", + text = if (recordInfo.pageNumber != 0) "${recordInfo.pageNumber}p" + else "-p", color = ReedTheme.colors.contentBrand, - style = ReedTheme.typography.body1SemiBold, + style = ReedTheme.typography.label1Medium, + fontStyle = FontStyle.Italic, ) Spacer(modifier = Modifier.weight(1f)) Icon( @@ -81,7 +70,7 @@ internal fun RecordItem( tint = ReedTheme.colors.contentTertiary, ) } - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing3)) + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) Text( text = "\"${recordInfo.quote}\"", color = ReedTheme.colors.contentSecondary, @@ -89,22 +78,21 @@ internal fun RecordItem( maxLines = 4, style = ReedTheme.typography.body2Medium, ) - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing3)) Row( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, ) { Text( - text = recordInfo.createdAt.toFormattedDate(), + text = "#${recordInfo.emotionTags[0]}", color = ReedTheme.colors.contentTertiary, style = ReedTheme.typography.label1Medium, ) Spacer(modifier = Modifier.weight(1f)) Text( - text = "${recordInfo.pageNumber}p", + text = recordInfo.createdAt.toFormattedDate(), color = ReedTheme.colors.contentTertiary, - style = ReedTheme.typography.body2Medium, - fontStyle = FontStyle.Italic, + style = ReedTheme.typography.label1Medium, ) } } @@ -129,7 +117,7 @@ private fun RecordItemPreview() { quote = "소설가들은 늘 소재를 찾아 떠도는 존재 같지만, 실은 그 반대인 경우가 더 잦다.", emotionTags = persistentListOf("따뜻함"), pageNumber = 12, - createdAt = "2025.06.25", + createdAt = "2025-06-25T10:30:00.000000", ), onRecordMenuClick = {}, ) From 0ca1793b39cac54b497657d85574031d45f5481f Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 21:29:16 +0900 Subject: [PATCH 02/16] =?UTF-8?q?[BOOK-481]=20chore:=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=EB=90=9C=20=EC=83=89=EC=83=81=20=EB=B3=80=EC=88=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../booket/core/designsystem/theme/Color.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/theme/Color.kt b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/theme/Color.kt index 61997cc9..e3b2588f 100644 --- a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/theme/Color.kt +++ b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/theme/Color.kt @@ -63,6 +63,28 @@ val Blue700 = Color(0xFF007BFF) val Blue800 = Color(0xFF1269EC) val Blue900 = Color(0xFF1F47CD) +val Orange50 = Color(0xFFFFF1EB) +val Orange100 = Color(0xFFFFD2BE) +val Orange200 = Color(0xFFFFB392) +val Orange300 = Color(0xFFFF9365) +val Orange400 = Color(0xFFEF6D35) +val Orange500 = Color(0xFFCD5622) +val Orange600 = Color(0xFFAB4114) +val Orange700 = Color(0xFF892F08) +val Orange800 = Color(0xFF672001) +val Orange900 = Color(0xFF451500) + +val Violet50 = Color(0xFFF7F0FF) +val Violet100 = Color(0xFFE6CEFF) +val Violet200 = Color(0xFFD4ADFF) +val Violet300 = Color(0xFFC38CFF) +val Violet400 = Color(0xFFB26AFF) +val Violet500 = Color(0xFF9A55E4) +val Violet600 = Color(0xFF7F40C2) +val Violet700 = Color(0xFF652EA0) +val Violet800 = Color(0xFF4C1E7E) +val Violet900 = Color(0xFF36125C) + val Kakao = Color(0xFFFBD300) val Blank = Color(0xFFD6D6D6) val HomeBg = Color(0xFFF0F9E8) @@ -76,6 +98,8 @@ val InsightTextColor = Color(0xFF9A55E4) val InsightBgColor = Color(0xFFF3E8FF) val SadnessTextColor = Color(0xFF2872E9) val SadnessBgColor = Color(0xFFE1ECFF) +val EtcTextColor = Color(0xFF737373) +val EtcBgColor = Color(0xFFF5F5F5) @Immutable data class ReedColorScheme( From ecebaf410a43a40c052e47a67f644914bcb9fa21 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 21:29:26 +0900 Subject: [PATCH 03/16] =?UTF-8?q?[BOOK-481]=20feat:=20=EB=8F=84=EC=84=9C?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=20=ED=99=94=EB=A9=B4=20=EB=82=B4=EA=B0=80?= =?UTF-8?q?=20=EB=AA=A8=EC=9D=80=20=EC=94=A8=EC=95=97=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20UI=20=EB=B3=80=EA=B2=BD=20=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 카운트(숫자) -> 그래프 + 카운트(숫자) --- .../booket/core/designsystem/Emotion.kt | 19 ++ .../ninecraft/booket/core/model/SeedModel.kt | 1 + .../feature/detail/book/BookDetailUi.kt | 9 +- .../detail/book/component/CollectedSeeds.kt | 286 +++++++++++++++--- .../detail/book/component/RecordItem.kt | 4 + .../feature/detail/book/component/SeedItem.kt | 1 + .../detail/src/main/res/drawable/img_etc.webp | Bin 0 -> 7194 bytes .../src/main/res/drawable/img_insight.webp | Bin 80258 -> 7648 bytes .../detail/src/main/res/drawable/img_joy.webp | Bin 83206 -> 7640 bytes .../detail/src/main/res/drawable/img_sad.webp | Bin 77154 -> 7508 bytes .../src/main/res/drawable/img_warm.webp | Bin 84038 -> 7686 bytes 11 files changed, 270 insertions(+), 50 deletions(-) create mode 100644 feature/detail/src/main/res/drawable/img_etc.webp diff --git a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt index 5a4f72a3..e64b74c9 100644 --- a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt +++ b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt @@ -1,14 +1,21 @@ package com.ninecraft.booket.core.designsystem import androidx.compose.ui.graphics.Color +import com.ninecraft.booket.core.designsystem.theme.Blue300 +import com.ninecraft.booket.core.designsystem.theme.EtcBgColor +import com.ninecraft.booket.core.designsystem.theme.EtcTextColor import com.ninecraft.booket.core.designsystem.theme.InsightBgColor import com.ninecraft.booket.core.designsystem.theme.InsightTextColor import com.ninecraft.booket.core.designsystem.theme.JoyBgColor import com.ninecraft.booket.core.designsystem.theme.JoyTextColor +import com.ninecraft.booket.core.designsystem.theme.Neutral300 +import com.ninecraft.booket.core.designsystem.theme.Orange300 import com.ninecraft.booket.core.designsystem.theme.SadnessBgColor import com.ninecraft.booket.core.designsystem.theme.SadnessTextColor +import com.ninecraft.booket.core.designsystem.theme.Violet300 import com.ninecraft.booket.core.designsystem.theme.WarmthBgColor import com.ninecraft.booket.core.designsystem.theme.WarmthTextColor +import com.ninecraft.booket.core.designsystem.theme.Yellow300 import com.ninecraft.booket.core.model.Emotion val Emotion.bgColor: Color @@ -17,6 +24,7 @@ val Emotion.bgColor: Color Emotion.JOY -> JoyBgColor Emotion.SAD -> SadnessBgColor Emotion.INSIGHT -> InsightBgColor + Emotion.ETC -> EtcBgColor } val Emotion.textColor: Color @@ -25,6 +33,7 @@ val Emotion.textColor: Color Emotion.JOY -> JoyTextColor Emotion.SAD -> SadnessTextColor Emotion.INSIGHT -> InsightTextColor + Emotion.ETC -> EtcTextColor } val Emotion.graphicRes: Int @@ -33,4 +42,14 @@ val Emotion.graphicRes: Int Emotion.JOY -> R.drawable.img_emotion_joy Emotion.SAD -> R.drawable.img_emotion_sadness Emotion.INSIGHT -> R.drawable.img_emotion_insight + Emotion.ETC -> R.drawable.img_emotion_warmth + } + +val Emotion.ratioBarColor: Color + get() = when (this) { + Emotion.WARM -> Yellow300 + Emotion.JOY -> Orange300 + Emotion.SAD -> Blue300 + Emotion.INSIGHT -> Violet300 + Emotion.ETC -> Neutral300 } diff --git a/core/model/src/main/kotlin/com/ninecraft/booket/core/model/SeedModel.kt b/core/model/src/main/kotlin/com/ninecraft/booket/core/model/SeedModel.kt index 670b050d..24ee2845 100644 --- a/core/model/src/main/kotlin/com/ninecraft/booket/core/model/SeedModel.kt +++ b/core/model/src/main/kotlin/com/ninecraft/booket/core/model/SeedModel.kt @@ -20,6 +20,7 @@ enum class Emotion( JOY("즐거움"), SAD("슬픔"), INSIGHT("깨달음"), + ETC("기타"), ; companion object { diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt index fbe912c8..d0e3a389 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt @@ -1,6 +1,5 @@ package com.ninecraft.booket.feature.detail.book -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues @@ -333,6 +332,9 @@ internal fun BookDetailContent( val record = state.readingRecords[index] RecordItem( recordInfo = record, + onRecordClick = { + state.eventSink(BookDetailUiEvent.OnRecordItemClick(record.id)) + }, onRecordMenuClick = { recordInfo -> state.eventSink(BookDetailUiEvent.OnRecordMenuClick(recordInfo)) }, @@ -341,10 +343,7 @@ internal fun BookDetailContent( start = ReedTheme.spacing.spacing5, end = ReedTheme.spacing.spacing5, bottom = ReedTheme.spacing.spacing3, - ) - .clickable { - state.eventSink(BookDetailUiEvent.OnRecordItemClick(record.id)) - }, + ), ) } diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt index db940fd5..41305e01 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt @@ -1,7 +1,11 @@ package com.ninecraft.booket.feature.detail.book.component +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.expandVertically +import androidx.compose.animation.shrinkVertically +import androidx.compose.foundation.Image import androidx.compose.foundation.background -import androidx.compose.foundation.border +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -10,27 +14,45 @@ import androidx.compose.foundation.layout.Spacer 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.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon import androidx.compose.material3.Text 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 androidx.compose.ui.draw.clip -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.vectorResource import androidx.compose.ui.unit.dp +import com.ninecraft.booket.core.common.utils.analyzeEmotions import com.ninecraft.booket.core.designsystem.ComponentPreview +import com.ninecraft.booket.core.designsystem.ratioBarColor import com.ninecraft.booket.core.designsystem.theme.ReedTheme +import com.ninecraft.booket.core.designsystem.theme.Yellow700 import com.ninecraft.booket.core.model.Emotion import com.ninecraft.booket.core.model.EmotionModel -import com.ninecraft.booket.feature.detail.R import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf +import com.ninecraft.booket.core.designsystem.R as designR @Composable internal fun CollectedSeeds( seedsStats: ImmutableList, modifier: Modifier = Modifier, ) { + var isExpanded by remember { mutableStateOf(false) } + val analysisResult = remember(seedsStats) { analyzeEmotions(seedsStats) } + val topEmotion = analysisResult.topEmotions.firstOrNull() + Column( modifier = modifier .fillMaxWidth() @@ -41,67 +63,241 @@ internal fun CollectedSeeds( bottom = ReedTheme.spacing.spacing6, ) .clip(RoundedCornerShape(ReedTheme.radius.md)) - .background(ReedTheme.colors.baseSecondary), + .background(ReedTheme.colors.baseSecondary) + .padding(ReedTheme.spacing.spacing4), ) { - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) - Text( - text = stringResource(R.string.collected_seed_title), - modifier = Modifier.padding(horizontal = ReedTheme.spacing.spacing4), - color = ReedTheme.colors.contentSecondary, - style = ReedTheme.typography.body2Medium, + CollectedSeedsHeader( + topEmotion = topEmotion, + isExpanded = isExpanded, + onToggleClick = { isExpanded = !isExpanded }, ) - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5)) - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceEvenly, + + AnimatedVisibility( + visible = isExpanded, + enter = expandVertically(), + exit = shrinkVertically(), ) { - seedsStats.forEach { emotion -> - SeedItem(emotion = emotion) + Column { + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + HorizontalDivider( + color = ReedTheme.colors.dividerSm, + thickness = 1.dp, + ) + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5)) + + EmotionRatioBar(seedsStats = seedsStats) + + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(ReedTheme.spacing.spacing1), + ) { + Emotion.entries.forEach { emotion -> + val emotionModel = seedsStats.find { it.name == emotion } + ?: EmotionModel(emotion, 0) + EmotionStatCard( + emotion = emotionModel, + modifier = Modifier.weight(1f), + ) + } + } } } - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5)) - Box( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = ReedTheme.spacing.spacing4) - .clip(RoundedCornerShape(ReedTheme.radius.sm)) - .background(ReedTheme.colors.basePrimary) - .border( - width = 1.dp, - color = ReedTheme.colors.borderPrimary, - shape = RoundedCornerShape(ReedTheme.radius.sm), - ) - .padding(ReedTheme.spacing.spacing3), + } +} + +@Composable +private fun CollectedSeedsHeader( + topEmotion: EmotionModel?, + isExpanded: Boolean, + onToggleClick: () -> Unit, + modifier: Modifier = Modifier, +) { + Row( + modifier = modifier + .fillMaxWidth() + .clickable { onToggleClick() }, + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, + ) { + Row( + verticalAlignment = Alignment.CenterVertically, ) { - EmotionAnalysisResultText( - emotions = seedsStats, - brandColor = ReedTheme.colors.contentBrand, - secondaryColor = ReedTheme.colors.contentSecondary, - emotionTextStyle = ReedTheme.typography.label2SemiBold, - regularTextStyle = ReedTheme.typography.label2Regular, - )?.let { annotatedString -> + topEmotion?.let { emotion -> + Image( + painter = painterResource(id = getEmotionImageResourceByDisplayName(emotion.name.displayName)), + contentDescription = "Seed Image", + modifier = Modifier + .size(36.dp) + .clip(CircleShape) + .background(ReedTheme.colors.basePrimary), + ) + Spacer(modifier = Modifier.width(ReedTheme.spacing.spacing2)) + } + + Row { Text( - text = annotatedString, - modifier = Modifier.fillMaxWidth(), - textAlign = TextAlign.Center, + text = "'${topEmotion?.name?.displayName ?: ""}'", + color = Yellow700, + style = ReedTheme.typography.label1SemiBold, + ) + Spacer(modifier = Modifier.width(ReedTheme.spacing.spacing1)) + Text( + text = "감정을 많이 느꼈어요", + color = ReedTheme.colors.contentSecondary, + style = ReedTheme.typography.label1Medium, ) } } - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + + Icon( + imageVector = ImageVector.vectorResource( + if (isExpanded) designR.drawable.ic_chevron_up else designR.drawable.ic_chevron_down, + ), + contentDescription = if (isExpanded) "Collapse" else "Expand", + modifier = Modifier.size(24.dp), + tint = ReedTheme.colors.contentTertiary, + ) + } +} + +@Composable +private fun EmotionRatioBar( + seedsStats: ImmutableList, + modifier: Modifier = Modifier, +) { + val totalCount = seedsStats.sumOf { it.count }.coerceAtLeast(1) + + Row( + modifier = modifier + .fillMaxWidth() + .height(12.dp) + .clip(RoundedCornerShape(ReedTheme.radius.full)), + ) { + Emotion.entries.forEach { emotion -> + val emotionModel = seedsStats.find { it.name == emotion } + val count = emotionModel?.count ?: 0 + if (count > 0) { + val weight = count.toFloat() / totalCount + Box( + modifier = Modifier + .weight(weight) + .height(12.dp) + .background(emotion.ratioBarColor), + ) + } + } + } +} + +@Composable +private fun EmotionStatCard( + emotion: EmotionModel, + modifier: Modifier = Modifier, +) { + Column( + modifier = modifier + .clip(RoundedCornerShape(ReedTheme.radius.md)) + .background(ReedTheme.colors.basePrimary) + .padding( + top = ReedTheme.spacing.spacing3, + bottom = ReedTheme.spacing.spacing2, + ), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Box( + modifier = Modifier + .size(10.dp) + .clip(RoundedCornerShape(ReedTheme.radius.xs)) + .background(emotion.name.ratioBarColor), + ) + + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing2)) + + Text( + text = emotion.name.displayName, + color = ReedTheme.colors.contentSecondary, + style = ReedTheme.typography.label2Regular, + ) + + Text( + text = "${emotion.count}개", + color = ReedTheme.colors.contentTertiary, + style = ReedTheme.typography.caption1Regular, + ) } } @ComponentPreview @Composable -private fun CollectedSeedPreview() { +private fun CollectedSeedsCollapsedPreview() { ReedTheme { CollectedSeeds( seedsStats = persistentListOf( - EmotionModel(Emotion.WARM, 3), + EmotionModel(Emotion.WARM, 4), EmotionModel(Emotion.JOY, 2), - EmotionModel(Emotion.SAD, 1), - EmotionModel(Emotion.INSIGHT, 3), + EmotionModel(Emotion.SAD, 2), + EmotionModel(Emotion.INSIGHT, 2), + EmotionModel(Emotion.ETC, 2), ), ) } } + +@ComponentPreview +@Composable +private fun CollectedSeedsExpandedPreview() { + ReedTheme { + var isExpanded by remember { mutableStateOf(true) } + val seedsStats = persistentListOf( + EmotionModel(Emotion.WARM, 4), + EmotionModel(Emotion.JOY, 2), + EmotionModel(Emotion.SAD, 2), + EmotionModel(Emotion.INSIGHT, 2), + EmotionModel(Emotion.ETC, 2), + ) + val analysisResult = remember(seedsStats) { analyzeEmotions(seedsStats) } + val topEmotion = analysisResult.topEmotions.firstOrNull() + + Column( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = ReedTheme.spacing.spacing5) + .clip(RoundedCornerShape(ReedTheme.radius.md)) + .background(ReedTheme.colors.baseSecondary) + .padding(ReedTheme.spacing.spacing4), + ) { + CollectedSeedsHeader( + topEmotion = topEmotion, + isExpanded = isExpanded, + onToggleClick = { isExpanded = !isExpanded }, + ) + + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + HorizontalDivider( + color = ReedTheme.colors.dividerSm, + thickness = 1.dp, + ) + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5)) + + EmotionRatioBar(seedsStats = seedsStats) + + Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.spacedBy(ReedTheme.spacing.spacing1), + ) { + Emotion.entries.forEach { emotion -> + val emotionModel = seedsStats.find { it.name == emotion } + ?: EmotionModel(emotion, 0) + EmotionStatCard( + emotion = emotionModel, + modifier = Modifier.weight(1f), + ) + } + } + } + } +} diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt index 0814df96..6248aeda 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt @@ -32,6 +32,7 @@ import com.ninecraft.booket.core.designsystem.R as designR @Composable internal fun RecordItem( recordInfo: ReadingRecordModel, + onRecordClick: () -> Unit, onRecordMenuClick: (ReadingRecordModel) -> Unit, modifier: Modifier = Modifier, ) { @@ -39,6 +40,7 @@ internal fun RecordItem( modifier = modifier .fillMaxSize() .clip(RoundedCornerShape(ReedTheme.radius.md)) + .clickable { onRecordClick() } .background(ReedTheme.colors.baseSecondary) .padding( start = ReedTheme.spacing.spacing5, @@ -104,6 +106,7 @@ fun getEmotionImageResourceByDisplayName(displayName: String): Int { "즐거움" -> R.drawable.img_joy "슬픔" -> R.drawable.img_sad "깨달음" -> R.drawable.img_insight + "기타" -> R.drawable.img_warm // TODO: ETC 이미지 리소스 추가 필요 else -> R.drawable.img_warm } } @@ -119,6 +122,7 @@ private fun RecordItemPreview() { pageNumber = 12, createdAt = "2025-06-25T10:30:00.000000", ), + onRecordClick = {}, onRecordMenuClick = {}, ) } diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/SeedItem.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/SeedItem.kt index ebeaf2a4..b35e4965 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/SeedItem.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/SeedItem.kt @@ -70,6 +70,7 @@ private fun getEmotionImageResource(emotion: Emotion): Int { Emotion.JOY -> R.drawable.img_joy Emotion.SAD -> R.drawable.img_sad Emotion.INSIGHT -> R.drawable.img_insight + Emotion.ETC -> R.drawable.img_etc } } diff --git a/feature/detail/src/main/res/drawable/img_etc.webp b/feature/detail/src/main/res/drawable/img_etc.webp new file mode 100644 index 0000000000000000000000000000000000000000..0672c24317eb43a8cb17e4e11ca9cf01b9dc94b1 GIT binary patch literal 7194 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 literal 0 HcmV?d00001 diff --git a/feature/detail/src/main/res/drawable/img_insight.webp b/feature/detail/src/main/res/drawable/img_insight.webp index 77d816fdbf4b5198b146478ef756cf65fa3fb418..b86a84417cbab281bd0111f80833dbc2e98ec93c 100644 GIT binary patch literal 7648 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 F6cyBU7h_bwxPb&q%d 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 A#{d8T diff --git a/feature/detail/src/main/res/drawable/img_joy.webp b/feature/detail/src/main/res/drawable/img_joy.webp index 00414f16c88a72f1e345158d9d9fc982dd94ec97..ab3c16844de95e36f61ca0c4d7dac300dbf4dabf 100644 GIT binary patch literal 7640 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 diff --git a/feature/detail/src/main/res/drawable/img_sad.webp b/feature/detail/src/main/res/drawable/img_sad.webp index 439e3224e87b5f5c8fa13dbcff0d02b88ad020c6..72e11cf4f7fa19180ebce5d589b7bcf5e6840fde 100644 GIT binary patch literal 7508 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 diff --git a/feature/detail/src/main/res/drawable/img_warm.webp b/feature/detail/src/main/res/drawable/img_warm.webp index a432f9e6fc65408792d58f641339802e014bf539..636b5a41239113c28829dea017e0baada04a0a72 100644 GIT binary patch literal 7686 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 A@Bjb+ literal 84038 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�uvTXObTs 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 From dfa39e32cc466d68220b17d34425b971fb749183 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 21:38:18 +0900 Subject: [PATCH 04/16] =?UTF-8?q?[BOOK-481]=20chore:=20=EB=8B=A4=ED=81=AC?= =?UTF-8?q?=20=EB=AA=A8=EB=93=9C=20=ED=94=84=EB=A6=AC=EB=B7=B0=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 다크 모드 현재는 지원 X, 똑같은거 두개라 프리뷰 보기 힘듬 --- .../ninecraft/booket/core/designsystem/ComponentPreview.kt | 6 ------ .../ninecraft/booket/core/designsystem/DevicePreview.kt | 7 ------- 2 files changed, 13 deletions(-) diff --git a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/ComponentPreview.kt b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/ComponentPreview.kt index 06580453..48885540 100644 --- a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/ComponentPreview.kt +++ b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/ComponentPreview.kt @@ -1,7 +1,6 @@ package com.ninecraft.booket.core.designsystem import android.content.res.Configuration.UI_MODE_NIGHT_NO -import android.content.res.Configuration.UI_MODE_NIGHT_YES import androidx.compose.ui.tooling.preview.Preview @Preview( @@ -9,9 +8,4 @@ import androidx.compose.ui.tooling.preview.Preview showBackground = true, uiMode = UI_MODE_NIGHT_NO, ) -@Preview( - name = "Dark", - showBackground = true, - uiMode = UI_MODE_NIGHT_YES, -) annotation class ComponentPreview diff --git a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/DevicePreview.kt b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/DevicePreview.kt index 8dbd713d..ad9b39ac 100644 --- a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/DevicePreview.kt +++ b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/DevicePreview.kt @@ -1,7 +1,6 @@ package com.ninecraft.booket.core.designsystem import android.content.res.Configuration.UI_MODE_NIGHT_NO -import android.content.res.Configuration.UI_MODE_NIGHT_YES import androidx.compose.ui.tooling.preview.Preview @Preview( @@ -10,10 +9,4 @@ import androidx.compose.ui.tooling.preview.Preview uiMode = UI_MODE_NIGHT_NO, device = "spec:width=360dp,height=800dp,dpi=411", ) -@Preview( - name = "Dark", - showBackground = true, - uiMode = UI_MODE_NIGHT_YES, - device = "spec:width=360dp,height=800dp,dpi=411", -) annotation class DevicePreview From 2760a1c336ccb7ae0856762d29ae75cd6b5e138b Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 21:54:48 +0900 Subject: [PATCH 05/16] =?UTF-8?q?[BOOK-481]=20feat:=20=EB=8F=84=EC=84=9C?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=ED=99=94=EB=A9=B4=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=ED=95=98=EB=8A=94=20API=20=EB=B2=84=EC=A0=80?= =?UTF-8?q?=EB=8B=9D=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v1 -> v2 --- .../com/ninecraft/booket/core/network/service/ReedService.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt b/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt index f3926e64..bd801d14 100644 --- a/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt +++ b/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt @@ -122,12 +122,12 @@ interface ReedService { @Query("size") size: Int = 20, ): ReadingRecordsResponse - @GET("api/v1/reading-records/{userBookId}/seed/stats") + @GET("api/v2/reading-records/{userBookId}/seed/stats") suspend fun getSeedsStats( @Path("userBookId") userBookId: String, ): SeedResponse - @GET("api/v1/reading-records/detail/{readingRecordId}") + @GET("api/v2/reading-records/detail/{readingRecordId}") suspend fun getRecordDetail( @Path("readingRecordId") readingRecordId: String, ): RecordDetailResponse From 38bc93f79025341111379398385dc87423b7489f Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 22:53:11 +0900 Subject: [PATCH 06/16] =?UTF-8?q?[BOOK-481]=20refactor:=20=EC=94=A8?= =?UTF-8?q?=EC=95=97=20=ED=86=B5=EA=B3=84=20Preview=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/book/BookDetailPresenter.kt | 6 ++ .../feature/detail/book/BookDetailUi.kt | 8 +- .../feature/detail/book/BookDetailUiState.kt | 2 + .../detail/book/component/CollectedSeeds.kt | 95 ++++++++----------- 4 files changed, 52 insertions(+), 59 deletions(-) diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt index c49bd0d5..7d9ca442 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailPresenter.kt @@ -79,6 +79,7 @@ class BookDetailPresenter( var footerState by rememberRetained { mutableStateOf(FooterState.Idle) } var bookDetail by rememberRetained { mutableStateOf(BookDetailModel()) } var seedsStates by rememberRetained { mutableStateOf>(persistentListOf()) } + var isStatsExpanded by rememberRetained { mutableStateOf(false) } var readingRecords by rememberRetained { mutableStateOf(persistentListOf()) } var readingRecordsTotalCount by rememberRetained { mutableIntStateOf(0) } var currentStartIndex by rememberRetained { mutableIntStateOf(START_INDEX) } @@ -398,6 +399,10 @@ class BookDetailPresenter( initialLoad() } } + + is BookDetailUiEvent.OnStatsToggleClick -> { + isStatsExpanded = event.flag + } } } @@ -410,6 +415,7 @@ class BookDetailPresenter( footerState = footerState, bookDetail = bookDetail, seedsStats = seedsStates, + isStatsExpanded = isStatsExpanded, readingRecords = readingRecords, readingRecordsTotalCount = readingRecordsTotalCount, isBookUpdateBottomSheetVisible = isBookUpdateBottomSheetVisible, diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt index d0e3a389..68f9e358 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt @@ -283,7 +283,13 @@ internal fun BookDetailContent( item { if (state.hasEmotionData()) { - CollectedSeeds(seedsStats = state.seedsStats) + CollectedSeeds( + seedsStats = state.seedsStats, + isStatsExpanded = state.isStatsExpanded, + onToggleClick = { + state.eventSink(BookDetailUiEvent.OnStatsToggleClick(!state.isStatsExpanded)) + }, + ) } else { Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing10)) } diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt index 550d0ee1..9ad28d89 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt @@ -27,6 +27,7 @@ data class BookDetailUiState( val isLoading: Boolean = false, val bookDetail: BookDetailModel = BookDetailModel(), val seedsStats: ImmutableList = persistentListOf(), + val isStatsExpanded: Boolean = false, val readingRecords: ImmutableList = persistentListOf(), val readingRecordsTotalCount: Int = 0, val currentStartIndex: Int = 1, @@ -84,6 +85,7 @@ sealed interface BookDetailUiEvent : CircuitUiEvent { data class OnRecordItemClick(val recordId: String) : BookDetailUiEvent data object OnLoadMore : BookDetailUiEvent data object OnRetryClick : BookDetailUiEvent + data class OnStatsToggleClick(val flag: Boolean): BookDetailUiEvent } enum class RecordSort(val value: String) { diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt index 41305e01..67e6ac94 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/CollectedSeeds.kt @@ -22,10 +22,7 @@ import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.Text 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 androidx.compose.ui.draw.clip @@ -47,9 +44,10 @@ import com.ninecraft.booket.core.designsystem.R as designR @Composable internal fun CollectedSeeds( seedsStats: ImmutableList, + isStatsExpanded: Boolean, + onToggleClick: () -> Unit, modifier: Modifier = Modifier, ) { - var isExpanded by remember { mutableStateOf(false) } val analysisResult = remember(seedsStats) { analyzeEmotions(seedsStats) } val topEmotion = analysisResult.topEmotions.firstOrNull() @@ -68,12 +66,12 @@ internal fun CollectedSeeds( ) { CollectedSeedsHeader( topEmotion = topEmotion, - isExpanded = isExpanded, - onToggleClick = { isExpanded = !isExpanded }, + isStatsExpanded = isStatsExpanded, + onToggleClick = onToggleClick, ) AnimatedVisibility( - visible = isExpanded, + visible = isStatsExpanded, enter = expandVertically(), exit = shrinkVertically(), ) { @@ -110,7 +108,7 @@ internal fun CollectedSeeds( @Composable private fun CollectedSeedsHeader( topEmotion: EmotionModel?, - isExpanded: Boolean, + isStatsExpanded: Boolean, onToggleClick: () -> Unit, modifier: Modifier = Modifier, ) { @@ -153,9 +151,9 @@ private fun CollectedSeedsHeader( Icon( imageVector = ImageVector.vectorResource( - if (isExpanded) designR.drawable.ic_chevron_up else designR.drawable.ic_chevron_down, + if (isStatsExpanded) designR.drawable.ic_chevron_up else designR.drawable.ic_chevron_down, ), - contentDescription = if (isExpanded) "Collapse" else "Expand", + contentDescription = if (isStatsExpanded) "Collapse" else "Expand", modifier = Modifier.size(24.dp), tint = ReedTheme.colors.contentTertiary, ) @@ -241,6 +239,8 @@ private fun CollectedSeedsCollapsedPreview() { EmotionModel(Emotion.INSIGHT, 2), EmotionModel(Emotion.ETC, 2), ), + isStatsExpanded = false, + onToggleClick = {}, ) } } @@ -249,55 +249,34 @@ private fun CollectedSeedsCollapsedPreview() { @Composable private fun CollectedSeedsExpandedPreview() { ReedTheme { - var isExpanded by remember { mutableStateOf(true) } - val seedsStats = persistentListOf( - EmotionModel(Emotion.WARM, 4), - EmotionModel(Emotion.JOY, 2), - EmotionModel(Emotion.SAD, 2), - EmotionModel(Emotion.INSIGHT, 2), - EmotionModel(Emotion.ETC, 2), + CollectedSeeds( + seedsStats = persistentListOf( + EmotionModel(Emotion.WARM, 4), + EmotionModel(Emotion.JOY, 2), + EmotionModel(Emotion.SAD, 2), + EmotionModel(Emotion.INSIGHT, 2), + EmotionModel(Emotion.ETC, 2), + ), + isStatsExpanded = true, + onToggleClick = {}, ) - val analysisResult = remember(seedsStats) { analyzeEmotions(seedsStats) } - val topEmotion = analysisResult.topEmotions.firstOrNull() - - Column( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = ReedTheme.spacing.spacing5) - .clip(RoundedCornerShape(ReedTheme.radius.md)) - .background(ReedTheme.colors.baseSecondary) - .padding(ReedTheme.spacing.spacing4), - ) { - CollectedSeedsHeader( - topEmotion = topEmotion, - isExpanded = isExpanded, - onToggleClick = { isExpanded = !isExpanded }, - ) - - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) - HorizontalDivider( - color = ReedTheme.colors.dividerSm, - thickness = 1.dp, - ) - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing5)) - - EmotionRatioBar(seedsStats = seedsStats) - - Spacer(modifier = Modifier.height(ReedTheme.spacing.spacing4)) + } +} - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.spacedBy(ReedTheme.spacing.spacing1), - ) { - Emotion.entries.forEach { emotion -> - val emotionModel = seedsStats.find { it.name == emotion } - ?: EmotionModel(emotion, 0) - EmotionStatCard( - emotion = emotionModel, - modifier = Modifier.weight(1f), - ) - } - } - } +@ComponentPreview +@Composable +private fun CollectedSeedsExpandedDuplicatedPreview() { + ReedTheme { + CollectedSeeds( + seedsStats = persistentListOf( + EmotionModel(Emotion.WARM, 4), + EmotionModel(Emotion.JOY, 4), + EmotionModel(Emotion.SAD, 2), + EmotionModel(Emotion.INSIGHT, 2), + EmotionModel(Emotion.ETC, 2), + ), + isStatsExpanded = true, + onToggleClick = {}, + ) } } From f27801e8a7047a3350e7969f59939d4ff33d6bd8 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 22:53:27 +0900 Subject: [PATCH 07/16] =?UTF-8?q?[BOOK-481]=20refactor:=20=EC=94=A8?= =?UTF-8?q?=EC=95=97=20=ED=86=B5=EA=B3=84=20API=20=EB=B2=84=EC=A0=84=20?= =?UTF-8?q?=EC=9B=90=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ninecraft/booket/core/network/service/ReedService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt b/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt index bd801d14..0521ac59 100644 --- a/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt +++ b/core/network/src/main/kotlin/com/ninecraft/booket/core/network/service/ReedService.kt @@ -122,7 +122,7 @@ interface ReedService { @Query("size") size: Int = 20, ): ReadingRecordsResponse - @GET("api/v2/reading-records/{userBookId}/seed/stats") + @GET("api/v1/reading-records/{userBookId}/seed/stats") suspend fun getSeedsStats( @Path("userBookId") userBookId: String, ): SeedResponse From 4609583221fb216ee88ee8df14d4a38c7c7773c8 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 22:56:33 +0900 Subject: [PATCH 08/16] [BOOK-481] chore: code style, stability check success --- core/ui/stability/ui.stability | 24 ---- .../feature/detail/book/BookDetailUiState.kt | 2 +- feature/detail/stability/detail.stability | 127 +++--------------- feature/edit/stability/edit.stability | 18 --- feature/home/stability/home.stability | 30 ----- feature/library/stability/library.stability | 30 ----- feature/login/stability/login.stability | 18 --- .../onboarding/stability/onboarding.stability | 22 +-- feature/record/stability/record.stability | 66 --------- feature/screens/stability/screens.stability | 6 - feature/search/stability/search.stability | 60 --------- feature/settings/stability/settings.stability | 42 ------ feature/splash/stability/splash.stability | 6 - feature/webview/stability/webview.stability | 6 - 14 files changed, 24 insertions(+), 433 deletions(-) diff --git a/core/ui/stability/ui.stability b/core/ui/stability/ui.stability index 964ce26c..0305109d 100644 --- a/core/ui/stability/ui.stability +++ b/core/ui/stability/ui.stability @@ -64,12 +64,6 @@ public fun com.ninecraft.booket.core.ui.component.ReedBottomSheet(onDismissReque - sheetState: STABLE (marked @Stable or @Immutable) - content: STABLE (composable function type) -@Composable -private fun com.ninecraft.booket.core.ui.component.ReedBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.core.ui.component.ReedCloseTopAppBar(modifier: androidx.compose.ui.Modifier, isDark: kotlin.Boolean, title: kotlin.String, onClose: kotlin.Function0): kotlin.Unit skippable: true @@ -119,24 +113,6 @@ public fun com.ninecraft.booket.core.ui.component.ReedLoadingIndicator(modifier: - modifier: STABLE (marked @Stable or @Immutable) - delayMillis: STABLE (primitive type) -@Composable -private fun com.ninecraft.booket.core.ui.component.ReedLoadingIndicatorPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.core.ui.component.ReedNetworkErrorUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.core.ui.component.ReedServerErrorUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.core.ui.component.ReedTopAppBar(modifier: androidx.compose.ui.Modifier, isDark: kotlin.Boolean, title: kotlin.String, startIconRes: kotlin.Int?, startIconDescription: kotlin.String, startIconOnClick: kotlin.Function0, endIconRes: kotlin.Int?, endIconDescription: kotlin.String, endIconOnClick: kotlin.Function0): kotlin.Unit skippable: true diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt index 9ad28d89..2d0246ce 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUiState.kt @@ -85,7 +85,7 @@ sealed interface BookDetailUiEvent : CircuitUiEvent { data class OnRecordItemClick(val recordId: String) : BookDetailUiEvent data object OnLoadMore : BookDetailUiEvent data object OnRetryClick : BookDetailUiEvent - data class OnStatsToggleClick(val flag: Boolean): BookDetailUiEvent + data class OnStatsToggleClick(val flag: Boolean) : BookDetailUiEvent } enum class RecordSort(val value: String) { diff --git a/feature/detail/stability/detail.stability b/feature/detail/stability/detail.stability index 4866c078..b7345b54 100644 --- a/feature/detail/stability/detail.stability +++ b/feature/detail/stability/detail.stability @@ -20,12 +20,6 @@ public fun com.ninecraft.booket.feature.detail.book.BookDetailPresenter.present( restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.detail.book.BookDetailPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.book.BookDetailUi(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -50,12 +44,6 @@ internal fun com.ninecraft.booket.feature.detail.book.component.BookItem(bookDet - bookDetail: STABLE (marked @Stable or @Immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.BookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.detail.book.component.BookStatusItem(item: com.ninecraft.booket.core.common.constants.BookStatus, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -82,29 +70,23 @@ internal fun com.ninecraft.booket.feature.detail.book.component.BookUpdateBottom - modifier: STABLE (marked @Stable or @Immutable) @Composable -private fun com.ninecraft.booket.feature.detail.book.component.BookUpdateBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.ChoiceBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.CollectedSeedPreview(): kotlin.Unit +internal fun com.ninecraft.booket.feature.detail.book.component.CollectedSeeds(seedsStats: kotlinx.collections.immutable.ImmutableList, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: + - seedsStats: STABLE (known stable type) + - isStatsExpanded: STABLE (primitive type) + - onToggleClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) @Composable -internal fun com.ninecraft.booket.feature.detail.book.component.CollectedSeeds(seedsStats: kotlinx.collections.immutable.ImmutableList, modifier: androidx.compose.ui.Modifier): kotlin.Unit +private fun com.ninecraft.booket.feature.detail.book.component.CollectedSeedsHeader(topEmotion: com.ninecraft.booket.core.model.EmotionModel?, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: - - seedsStats: STABLE (known stable type) + - topEmotion: STABLE (marked @Stable or @Immutable) + - isStatsExpanded: STABLE (primitive type) + - onToggleClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) @Composable @@ -141,42 +123,41 @@ internal fun com.ninecraft.booket.feature.detail.book.component.EmotionAnalysisR - regularTextStyle: STABLE (marked @Stable or @Immutable) @Composable -private fun com.ninecraft.booket.feature.detail.book.component.EmotionTextAllCasesPreview(): kotlin.Unit +private fun com.ninecraft.booket.feature.detail.book.component.EmotionRatioBar(seedsStats: kotlinx.collections.immutable.ImmutableList, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: + - seedsStats: STABLE (known stable type) + - modifier: STABLE (marked @Stable or @Immutable) @Composable -internal fun com.ninecraft.booket.feature.detail.book.component.ReadingRecordsHeader(totalCount: kotlin.Int, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onReadingRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit +private fun com.ninecraft.booket.feature.detail.book.component.EmotionStatCard(emotion: com.ninecraft.booket.core.model.EmotionModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: - - totalCount: STABLE (primitive type) - - currentRecordSort: STABLE (class with no mutable properties) - - onReadingRecordClick: STABLE (function type) + - emotion: STABLE (marked @Stable or @Immutable) - modifier: STABLE (marked @Stable or @Immutable) @Composable -private fun com.ninecraft.booket.feature.detail.book.component.ReadingRecordsHeaderPreview(): kotlin.Unit +internal fun com.ninecraft.booket.feature.detail.book.component.ReadingRecordsHeader(totalCount: kotlin.Int, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onReadingRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: + - totalCount: STABLE (primitive type) + - currentRecordSort: STABLE (class with no mutable properties) + - onReadingRecordClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) @Composable -internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recordInfo: com.ninecraft.booket.core.model.ReadingRecordModel, onRecordMenuClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit +internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recordInfo: com.ninecraft.booket.core.model.ReadingRecordModel, onRecordClick: kotlin.Function0, onRecordMenuClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: - recordInfo: STABLE (marked @Stable or @Immutable) + - onRecordClick: STABLE (function type) - onRecordMenuClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.RecordItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.book.component.RecordSortBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, recordSortItems: kotlinx.collections.immutable.ImmutableList, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onItemSelected: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -190,12 +171,6 @@ internal fun com.ninecraft.booket.feature.detail.book.component.RecordSortBottom - onItemSelected: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.RecordSortBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.detail.book.component.RecordSortItem(item: com.ninecraft.booket.feature.detail.book.RecordSort, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -214,12 +189,6 @@ internal fun com.ninecraft.booket.feature.detail.book.component.SeedItem(emotion - emotion: STABLE (marked @Stable or @Immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.SeedItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.card.HandleRecordCardSideEffects(state: com.ninecraft.booket.feature.detail.card.RecordCardUiState, recordCardGraphicsLayer: androidx.compose.ui.graphics.layer.GraphicsLayer, eventSink: kotlin.Function1): kotlin.Unit skippable: false @@ -243,12 +212,6 @@ internal fun com.ninecraft.booket.feature.detail.card.RecordCardUi(state: com.ni - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.card.RecordCardUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.card.component.RecordCard(quote: kotlin.String, bookTitle: kotlin.String, emotion: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -259,12 +222,6 @@ internal fun com.ninecraft.booket.feature.detail.card.component.RecordCard(quote - emotion: STABLE (String is immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.card.component.RecordCardPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.record.HandleRecordDetailSideEffects(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState): kotlin.Unit skippable: true @@ -294,18 +251,6 @@ internal fun com.ninecraft.booket.feature.detail.record.RecordDetailUi(state: co - state: STABLE (class with no mutable properties) - 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 - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -317,24 +262,6 @@ internal fun com.ninecraft.booket.feature.detail.record.component.BookItem(image - publisher: STABLE (String is immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.detail.record.component.BookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.detail.record.component.ChoiceBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.detail.record.component.QuoteBoxPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.record.component.QuoteItem(quote: kotlin.String, page: kotlin.Int, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -368,18 +295,6 @@ 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 - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.detail.record.component.ReviewItem(emotion: kotlin.String, createdAt: kotlin.String, review: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true diff --git a/feature/edit/stability/edit.stability b/feature/edit/stability/edit.stability index b44dddd0..5543c7f9 100644 --- a/feature/edit/stability/edit.stability +++ b/feature/edit/stability/edit.stability @@ -26,12 +26,6 @@ internal fun com.ninecraft.booket.feature.edit.emotion.EmotionEditUi(state: com. - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.edit.emotion.EmotionEditUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable private fun com.ninecraft.booket.feature.edit.emotion.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, onClick: kotlin.Function0, isSelected: kotlin.Boolean, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -70,12 +64,6 @@ internal fun com.ninecraft.booket.feature.edit.record.RecordEditUi(state: com.ni - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.edit.record.RecordEditUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.edit.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -87,9 +75,3 @@ internal fun com.ninecraft.booket.feature.edit.record.component.BookItem(imageUr - publisher: STABLE (String is immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.edit.record.component.BookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/home/stability/home.stability b/feature/home/stability/home.stability index d30e4f8b..7c83f45e 100644 --- a/feature/home/stability/home.stability +++ b/feature/home/stability/home.stability @@ -25,12 +25,6 @@ public fun com.ninecraft.booket.feature.home.HomePresenter.present(): com.ninecr restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.home.HomePreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.home.HomeUi(state: com.ninecraft.booket.feature.home.HomeUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -49,12 +43,6 @@ public fun com.ninecraft.booket.feature.home.component.BookCard(recentBookInfo: - onRecordButtonClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.home.component.BookCardPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.home.component.EmptyBookCard(onBookRegisterClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -63,12 +51,6 @@ public fun com.ninecraft.booket.feature.home.component.EmptyBookCard(onBookRegis - onBookRegisterClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.home.component.EmptyBookCardPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.home.component.HomeBanner(onBookRegisterClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -77,12 +59,6 @@ public fun com.ninecraft.booket.feature.home.component.HomeBanner(onBookRegister - onBookRegisterClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.home.component.HomeBannerPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.home.component.HomeHeader(onSettingsClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -91,9 +67,3 @@ public fun com.ninecraft.booket.feature.home.component.HomeHeader(onSettingsClic - onSettingsClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.home.component.HomeHeaderPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/library/stability/library.stability b/feature/library/stability/library.stability index 73e10888..1138df11 100644 --- a/feature/library/stability/library.stability +++ b/feature/library/stability/library.stability @@ -32,12 +32,6 @@ public fun com.ninecraft.booket.feature.library.LibraryPresenter.present(): com. restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.library.LibraryPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.library.LibraryUi(state: com.ninecraft.booket.feature.library.LibraryUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -46,12 +40,6 @@ internal fun com.ninecraft.booket.feature.library.LibraryUi(state: com.ninecraft - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.library.component.ChipPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.library.component.FilterChip(option: com.ninecraft.booket.feature.library.LibraryFilterOption, count: kotlin.Int, isSelected: kotlin.Boolean, onChipClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -73,12 +61,6 @@ public fun com.ninecraft.booket.feature.library.component.FilterChipGroup(filter - onChipClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.library.component.FilterChipGroupPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.library.component.LibraryBookItem(book: com.ninecraft.booket.core.model.LibraryBookSummaryModel, onBookClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -88,12 +70,6 @@ public fun com.ninecraft.booket.feature.library.component.LibraryBookItem(book: - onBookClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.library.component.LibraryBookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.library.component.LibraryHeader(onSearchClick: kotlin.Function0, onSettingClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -103,9 +79,3 @@ public fun com.ninecraft.booket.feature.library.component.LibraryHeader(onSearch - onSettingClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.library.component.LibraryHeaderPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/login/stability/login.stability b/feature/login/stability/login.stability index 43c486b5..005d619f 100644 --- a/feature/login/stability/login.stability +++ b/feature/login/stability/login.stability @@ -18,12 +18,6 @@ public fun com.ninecraft.booket.feature.login.LoginPresenter.present(): com.nine restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.login.LoginPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.login.LoginUi(state: com.ninecraft.booket.feature.login.LoginUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -45,12 +39,6 @@ public fun com.ninecraft.booket.feature.termsagreement.TermsAgreementPresenter.p restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.termsagreement.TermsAgreementPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.termsagreement.TermsAgreementUi(state: com.ninecraft.booket.feature.termsagreement.TermsAgreementUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -71,9 +59,3 @@ internal fun com.ninecraft.booket.feature.termsagreement.component.TermItem(titl - hasDetailAction: STABLE (primitive type) - onDetailClick: STABLE (function type) -@Composable -private fun com.ninecraft.booket.feature.termsagreement.component.TermItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/onboarding/stability/onboarding.stability b/feature/onboarding/stability/onboarding.stability index 4a020e64..cf927d4c 100644 --- a/feature/onboarding/stability/onboarding.stability +++ b/feature/onboarding/stability/onboarding.stability @@ -10,12 +10,6 @@ public fun com.ninecraft.booket.feature.onboarding.OnboardingPresenter.present() restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.onboarding.OnboardingScreenPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.onboarding.OnboardingUi(state: com.ninecraft.booket.feature.onboarding.OnboardingUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -25,22 +19,16 @@ internal fun com.ninecraft.booket.feature.onboarding.OnboardingUi(state: com.nin - modifier: STABLE (marked @Stable or @Immutable) @Composable -internal fun com.ninecraft.booket.feature.onboarding.component.OnboardingPage(imageRes: kotlin.Int, titleRes: kotlin.Int, highlightTextRes: kotlin.Int, descriptionRes: kotlin.Int, modifier: androidx.compose.ui.Modifier): kotlin.Unit +internal fun com.ninecraft.booket.feature.onboarding.component.OnboardingPage(imageRes: kotlin.Int, titleRes: kotlin.Int, highlightTextRes: kotlin.Int?, descriptionRes: kotlin.Int, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: - imageRes: STABLE (primitive type) - titleRes: STABLE (primitive type) - - highlightTextRes: STABLE (primitive type) + - highlightTextRes: STABLE (class with no mutable properties) - descriptionRes: STABLE (primitive type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.onboarding.component.OnboardingPagePreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.onboarding.component.PagerIndicator(pageCount: kotlin.Int, pagerState: androidx.compose.foundation.pager.PagerState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -50,9 +38,3 @@ internal fun com.ninecraft.booket.feature.onboarding.component.PagerIndicator(pa - pagerState: STABLE (marked @Stable or @Immutable) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.onboarding.component.PagerIndicatorPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/record/stability/record.stability b/feature/record/stability/record.stability index 0198cadd..36b849c3 100644 --- a/feature/record/stability/record.stability +++ b/feature/record/stability/record.stability @@ -11,12 +11,6 @@ internal fun com.ninecraft.booket.feature.record.component.CustomTooltipBox(mess params: - messageResId: STABLE (primitive type) -@Composable -private fun com.ninecraft.booket.feature.record.component.CustomTooltipBoxPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, impressionState: androidx.compose.foundation.text.input.TextFieldState, impressionGuideList: kotlinx.collections.immutable.ImmutableList, beforeSelectedImpressionGuide: kotlin.String, selectedImpressionGuide: kotlin.String, onGuideClick: kotlin.Function1, onCloseButtonClick: kotlin.Function0, onSelectionConfirmButtonClick: kotlin.Function0): kotlin.Unit skippable: true @@ -32,12 +26,6 @@ public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSh - onCloseButtonClick: STABLE (function type) - onSelectionConfirmButtonClick: STABLE (function type) -@Composable -private fun com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBox(onClick: kotlin.Function0, impressionText: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit skippable: true @@ -48,12 +36,6 @@ public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBox(onCl - modifier: STABLE (marked @Stable or @Immutable) - isSelected: STABLE (primitive type) -@Composable -private fun com.ninecraft.booket.feature.record.component.ImpressionGuideBoxPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable private fun com.ninecraft.booket.feature.record.ocr.CameraPreview(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -62,12 +44,6 @@ private fun com.ninecraft.booket.feature.record.ocr.CameraPreview(state: com.nin - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.ocr.CameraPreviewPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.ocr.HandleOcrSideEffects(state: com.ninecraft.booket.feature.record.ocr.OcrUiState): kotlin.Unit skippable: true @@ -89,12 +65,6 @@ internal fun com.ninecraft.booket.feature.record.ocr.OcrUi(state: com.ninecraft. - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.ocr.TextRecognitionResultPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable private fun com.ninecraft.booket.feature.record.ocr.TextScanResult(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -110,12 +80,6 @@ public fun com.ninecraft.booket.feature.record.ocr.component.CameraFrame(modifie params: - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.ocr.component.CameraFramePreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.record.ocr.component.SentenceBox(onClick: kotlin.Function0, sentence: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit skippable: true @@ -126,12 +90,6 @@ public fun com.ninecraft.booket.feature.record.ocr.component.SentenceBox(onClick - modifier: STABLE (marked @Stable or @Immutable) - isSelected: STABLE (primitive type) -@Composable -private fun com.ninecraft.booket.feature.record.ocr.component.SentenceBoxPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.register.HandleRecordRegisterSideEffects(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState): kotlin.Unit skippable: true @@ -145,12 +103,6 @@ public fun com.ninecraft.booket.feature.record.register.RecordRegisterPresenter. restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.record.register.RecordRegisterPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.register.RecordRegisterUi(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -185,12 +137,6 @@ public fun com.ninecraft.booket.feature.record.step.ImpressionStep(state: com.ni - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step.ImpressionStepPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.step.QuoteStep(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -199,15 +145,3 @@ internal fun com.ninecraft.booket.feature.record.step.QuoteStep(state: com.ninec - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step.QuoteStepPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.record.step.RecordRegisterPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/screens/stability/screens.stability b/feature/screens/stability/screens.stability index a47d75b1..70f3502d 100644 --- a/feature/screens/stability/screens.stability +++ b/feature/screens/stability/screens.stability @@ -23,9 +23,3 @@ private fun com.ninecraft.booket.feature.screens.component.MainBottomBarItem(tab - selected: STABLE (primitive type) - onClick: STABLE (function type) -@Composable -private fun com.ninecraft.booket.feature.screens.component.MainBottomBarPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/search/stability/search.stability b/feature/search/stability/search.stability index 6756f3dc..89be1232 100644 --- a/feature/search/stability/search.stability +++ b/feature/search/stability/search.stability @@ -18,12 +18,6 @@ public fun com.ninecraft.booket.feature.search.book.BookSearchPresenter.present( restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.search.book.BookSearchPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.search.book.BookSearchUi(state: com.ninecraft.booket.feature.search.book.BookSearchUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -50,12 +44,6 @@ public fun com.ninecraft.booket.feature.search.book.component.BookItem(book: com - modifier: STABLE (marked @Stable or @Immutable) - enabled: STABLE (primitive type) -@Composable -private fun com.ninecraft.booket.feature.search.book.component.BookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.search.book.component.BookRegisterBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, bookStatuses: kotlinx.collections.immutable.ImmutableList, currentBookStatus: com.ninecraft.booket.core.common.constants.BookStatus?, onItemSelected: kotlin.Function1, onBookRegisterButtonClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -70,18 +58,6 @@ public fun com.ninecraft.booket.feature.search.book.component.BookRegisterBottom - onBookRegisterButtonClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.book.component.BookRegisterBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.search.book.component.BookRegisterSuccessBeforeReadingBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.search.book.component.BookRegisterSuccessBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, upsertedBookStatus: com.ninecraft.booket.core.common.constants.BookStatus, onCancelButtonClick: kotlin.Function0, onOKButtonClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -94,18 +70,6 @@ public fun com.ninecraft.booket.feature.search.book.component.BookRegisterSucces - onOKButtonClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.book.component.BookRegisterSuccessCompletedBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.search.book.component.BookRegisterSuccessReadingBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.search.book.component.BookStatusItem(item: com.ninecraft.booket.core.common.constants.BookStatus, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -123,12 +87,6 @@ internal fun com.ninecraft.booket.feature.search.common.component.RecentSearchTi params: - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.common.component.RecentSearchTitlePreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.search.common.component.SearchItem(query: kotlin.String, onQueryClick: kotlin.Function1, onDeleteIconClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -139,12 +97,6 @@ public fun com.ninecraft.booket.feature.search.common.component.SearchItem(query - onDeleteIconClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.common.component.SearchItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.search.library.HandlingLibrarySearchSideEffect(state: com.ninecraft.booket.feature.search.library.LibrarySearchUiState): kotlin.Unit skippable: true @@ -167,12 +119,6 @@ public fun com.ninecraft.booket.feature.search.library.LibrarySearchPresenter.pr restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.search.library.LibrarySearchPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.search.library.LibrarySearchUi(state: com.ninecraft.booket.feature.search.library.LibrarySearchUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -190,9 +136,3 @@ public fun com.ninecraft.booket.feature.search.library.component.LibraryBookItem - onBookClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.library.component.LibraryBookItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/settings/stability/settings.stability b/feature/settings/stability/settings.stability index 1d72f777..8fdafda6 100644 --- a/feature/settings/stability/settings.stability +++ b/feature/settings/stability/settings.stability @@ -18,12 +18,6 @@ public fun com.ninecraft.booket.feature.settings.SettingsPresenter.present(): co restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.settings.SettingsScreenPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.settings.SettingsUi(state: com.ninecraft.booket.feature.settings.SettingsUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -41,12 +35,6 @@ internal fun com.ninecraft.booket.feature.settings.component.ReedSwitch(checked: - onCheckedChange: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.settings.component.ReedSwitchPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.settings.component.SettingItem(title: kotlin.String, modifier: androidx.compose.ui.Modifier, isClickable: kotlin.Boolean, onItemClick: kotlin.Function0, action: @[Composable] androidx.compose.runtime.internal.ComposableFunction0, description: @[Composable] androidx.compose.runtime.internal.ComposableFunction0): kotlin.Unit skippable: true @@ -59,12 +47,6 @@ internal fun com.ninecraft.booket.feature.settings.component.SettingItem(title: - action: STABLE (composable function type) - description: STABLE (composable function type) -@Composable -private fun com.ninecraft.booket.feature.settings.component.SettingItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.settings.component.ToggleItem(title: kotlin.String, description: kotlin.String, isChecked: kotlin.Boolean, onCheckedChange: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -76,12 +58,6 @@ internal fun com.ninecraft.booket.feature.settings.component.ToggleItem(title: k - onCheckedChange: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.settings.component.ToggleItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.settings.component.WithdrawConfirmationBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, isCheckBoxChecked: kotlin.Boolean, onCheckBoxCheckedChange: kotlin.Function0, onCancelButtonClick: kotlin.Function0, onWithdrawButtonClick: kotlin.Function0): kotlin.Unit skippable: true @@ -94,12 +70,6 @@ public fun com.ninecraft.booket.feature.settings.component.WithdrawConfirmationB - onCancelButtonClick: STABLE (function type) - onWithdrawButtonClick: STABLE (function type) -@Composable -private fun com.ninecraft.booket.feature.settings.component.WithdrawConfirmationBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.settings.notification.HandleNotificationSideEffects(state: com.ninecraft.booket.feature.settings.notification.NotificationUiState, eventSink: kotlin.Function1): kotlin.Unit skippable: true @@ -130,12 +100,6 @@ internal fun com.ninecraft.booket.feature.settings.notification.NotificationUi(s - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.settings.notification.NotificationUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable private fun com.ninecraft.booket.feature.settings.osslicenses.OssLicenseItem(name: kotlin.String, license: kotlin.String, url: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -160,9 +124,3 @@ public fun com.ninecraft.booket.feature.settings.osslicenses.OssLicensesPresente restartable: true params: -@Composable -private fun com.ninecraft.booket.feature.settings.osslicenses.OssLicensesScreenPreview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/splash/stability/splash.stability b/feature/splash/stability/splash.stability index bc5f1e0e..0791787f 100644 --- a/feature/splash/stability/splash.stability +++ b/feature/splash/stability/splash.stability @@ -18,12 +18,6 @@ public fun com.ninecraft.booket.splash.SplashPresenter.present(): com.ninecraft. restartable: true params: -@Composable -private fun com.ninecraft.booket.splash.SplashPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.splash.SplashUi(state: com.ninecraft.booket.splash.SplashUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true diff --git a/feature/webview/stability/webview.stability b/feature/webview/stability/webview.stability index 20982550..5a8b8867 100644 --- a/feature/webview/stability/webview.stability +++ b/feature/webview/stability/webview.stability @@ -27,9 +27,3 @@ internal fun com.ninecraft.booket.feature.webview.WebViewUi(state: com.ninecraft - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.webview.WebViewUiPreview(): kotlin.Unit - skippable: true - restartable: true - params: - From cc7651080010f251bbf429987575b5a1e32a557d Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 23:13:20 +0900 Subject: [PATCH 09/16] =?UTF-8?q?[BOOK-481]=20chore:=20Emotion=20Item=20?= =?UTF-8?q?=EA=B8=B0=ED=83=80=20=EA=B0=90=EC=A0=95=20=EC=9E=84=EC=8B=9C=20?= =?UTF-8?q?=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../booket/core/designsystem/Emotion.kt | 4 +++- .../designsystem/src/main/res/values/strings.xml | 1 + .../booket/feature/record/step_v2/EmotionItem.kt | 16 +++++++++------- gradle/libs.versions.toml | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt index 2f299a9d..52bb4fdb 100644 --- a/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt +++ b/core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/Emotion.kt @@ -54,12 +54,13 @@ val Emotion.ratioBarColor: Color Emotion.ETC -> Neutral300 } -val Emotion.graphicResV2: Int +val Emotion.graphicResV2: Int? get() = when (this) { Emotion.WARM -> R.drawable.img_category_warm Emotion.JOY -> R.drawable.img_category_joy Emotion.SAD -> R.drawable.img_category_sad Emotion.INSIGHT -> R.drawable.img_category_insight + Emotion.ETC -> null } val Emotion.descriptionRes: Int @@ -68,4 +69,5 @@ val Emotion.descriptionRes: Int Emotion.JOY -> R.string.emotion_joy_description Emotion.SAD -> R.string.emotion_sad_description Emotion.INSIGHT -> R.string.emotion_insight_description + Emotion.ETC -> R.string.emotion_etc_description } diff --git a/core/designsystem/src/main/res/values/strings.xml b/core/designsystem/src/main/res/values/strings.xml index 674c8c55..1bc404a7 100644 --- a/core/designsystem/src/main/res/values/strings.xml +++ b/core/designsystem/src/main/res/values/strings.xml @@ -8,4 +8,5 @@ 흥미롭고 유쾌한 순간 눈물이 고인 순간 생각이 깊어지는 순간 + 네 가지 감정으로 표현하기 어려울 때 diff --git a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/step_v2/EmotionItem.kt b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/step_v2/EmotionItem.kt index 8311cbd6..022e66ea 100644 --- a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/step_v2/EmotionItem.kt +++ b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/step_v2/EmotionItem.kt @@ -73,13 +73,15 @@ internal fun EmotionItem( ), ) { Row(verticalAlignment = Alignment.CenterVertically) { - Image( - painter = painterResource(emotion.graphicResV2), - contentDescription = "Emotion Image", - modifier = Modifier - .size(60.dp) - .clip(CircleShape), - ) + if (emotion.graphicResV2 != null) { + Image( + painter = painterResource(emotion.graphicResV2!!), + contentDescription = "Emotion Image", + modifier = Modifier + .size(60.dp) + .clip(CircleShape), + ) + } Spacer(modifier = Modifier.width(ReedTheme.spacing.spacing4)) Column { Text( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b3f5690b..5e1377b6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ androidx-compose-material3 = "1.4.0" compose-stable-marker = "1.0.7" compose-effects = "0.1.4" compose-shadow = "2.0.4" -compose-stability-analyzer = "0.5.2" +compose-stability-analyzer = "0.6.6" ## Kotlin Symbol Processing ksp = "2.3.0" From cbc36d744ccb3913d640b6f91b1e6eca7bbd005d Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 23:15:51 +0900 Subject: [PATCH 10/16] [BOOK-481] chore: stability check success compose stability analyzer version update --- app/stability/app.stability | 2 +- .../stability/designsystem.stability | 80 +++++++++---------- feature/record/stability/record.stability | 36 --------- feature/search/stability/search.stability | 12 --- 4 files changed, 41 insertions(+), 89 deletions(-) diff --git a/app/stability/app.stability b/app/stability/app.stability index dc1f99ee..93818f14 100644 --- a/app/stability/app.stability +++ b/app/stability/app.stability @@ -9,7 +9,7 @@ public fun com.ninecraft.booket.di.CrossFadeNavDecorator.Decoration(targetState: skippable: false restartable: true params: - - targetState: RUNTIME (requires runtime check) + - targetState: UNSTABLE (has mutable properties or unstable members) - innerContent: STABLE (composable function type) @Composable diff --git a/core/designsystem/stability/designsystem.stability b/core/designsystem/stability/designsystem.stability index 9261a073..7a2aa49f 100644 --- a/core/designsystem/stability/designsystem.stability +++ b/core/designsystem/stability/designsystem.stability @@ -42,43 +42,53 @@ public fun com.ninecraft.booket.core.designsystem.component.ResourceImage(imageR - contentScale: STABLE (marked @Stable or @Immutable) @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButton(onClick: kotlin.Function0, text: kotlin.String, sizeStyle: com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle, colorStyle: com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle, modifier: androidx.compose.ui.Modifier, enabled: kotlin.Boolean, leadingIcon: @[Composable] androidx.compose.runtime.internal.ComposableFunction0?, trailingIcon: @[Composable] androidx.compose.runtime.internal.ComposableFunction0?, multipleEventsCutterEnabled: kotlin.Boolean): kotlin.Unit skippable: true restartable: true params: + - onClick: STABLE (function type) + - text: STABLE (String is immutable) + - sizeStyle: STABLE (class with no mutable properties) + - colorStyle: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + - enabled: STABLE (primitive type) + - leadingIcon: STABLE (composable function type) + - trailingIcon: STABLE (composable function type) + - multipleEventsCutterEnabled: STABLE (primitive type) @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.borderStroke(): androidx.compose.foundation.BorderStroke? skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.containerColor(isPressed: kotlin.Boolean): androidx.compose.ui.graphics.Color skippable: true restartable: true params: + - isPressed: STABLE (primitive type) @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.contentColor(): androidx.compose.ui.graphics.Color skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.disabledContainerColor(): androidx.compose.ui.graphics.Color skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle +public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.disabledContentColor(): androidx.compose.ui.graphics.Color skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButton(onClick: kotlin.Function0, text: kotlin.String, sizeStyle: com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle, colorStyle: com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle, modifier: androidx.compose.ui.Modifier, enabled: kotlin.Boolean, leadingIcon: @[Composable] androidx.compose.runtime.internal.ComposableFunction0?, trailingIcon: @[Composable] androidx.compose.runtime.internal.ComposableFunction0?, multipleEventsCutterEnabled: kotlin.Boolean): kotlin.Unit +public fun com.ninecraft.booket.core.designsystem.component.button.ReedTextButton(onClick: kotlin.Function0, text: kotlin.String, sizeStyle: com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle, colorStyle: com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle, modifier: androidx.compose.ui.Modifier, enabled: kotlin.Boolean, multipleEventsCutterEnabled: kotlin.Boolean): kotlin.Unit skippable: true restartable: true params: @@ -88,53 +98,43 @@ public fun com.ninecraft.booket.core.designsystem.component.button.ReedButton(on - colorStyle: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) - enabled: STABLE (primitive type) - - leadingIcon: STABLE (composable function type) - - trailingIcon: STABLE (composable function type) - multipleEventsCutterEnabled: STABLE (primitive type) @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.borderStroke(): androidx.compose.foundation.BorderStroke? +public fun com.ninecraft.booket.core.designsystem.component.button.largeButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.containerColor(isPressed: kotlin.Boolean): androidx.compose.ui.graphics.Color +public fun com.ninecraft.booket.core.designsystem.component.button.largeRoundedButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: - - isPressed: STABLE (primitive type) @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.contentColor(): androidx.compose.ui.graphics.Color +public fun com.ninecraft.booket.core.designsystem.component.button.mediumButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.disabledContainerColor(): androidx.compose.ui.graphics.Color +public fun com.ninecraft.booket.core.designsystem.component.button.mediumRoundedButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle.disabledContentColor(): androidx.compose.ui.graphics.Color +public fun com.ninecraft.booket.core.designsystem.component.button.smallButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.component.button.ReedTextButton(onClick: kotlin.Function0, text: kotlin.String, sizeStyle: com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle, colorStyle: com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle, modifier: androidx.compose.ui.Modifier, enabled: kotlin.Boolean, multipleEventsCutterEnabled: kotlin.Boolean): kotlin.Unit +public fun com.ninecraft.booket.core.designsystem.component.button.smallRoundedButtonStyle(): com.ninecraft.booket.core.designsystem.component.button.ButtonSizeStyle skippable: true restartable: true params: - - onClick: STABLE (function type) - - text: STABLE (String is immutable) - - sizeStyle: STABLE (class with no mutable properties) - - colorStyle: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - - enabled: STABLE (primitive type) - - multipleEventsCutterEnabled: STABLE (primitive type) @Composable public fun com.ninecraft.booket.core.designsystem.component.checkbox.CircleCheckBox(checked: kotlin.Boolean, onCheckedChange: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit @@ -163,18 +163,6 @@ public fun com.ninecraft.booket.core.designsystem.component.checkbox.TickOnlyChe - onCheckedChange: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -public fun com.ninecraft.booket.core.designsystem.component.chip.(): com.ninecraft.booket.core.designsystem.component.chip.ChipSizeStyle - skippable: true - restartable: true - params: - -@Composable -public fun com.ninecraft.booket.core.designsystem.component.chip.(): com.ninecraft.booket.core.designsystem.component.chip.ChipSizeStyle - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.core.designsystem.component.chip.ReedRemovableChip(label: kotlin.String, chipSizeStyle: com.ninecraft.booket.core.designsystem.component.chip.ChipSizeStyle, onRemove: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -196,6 +184,18 @@ public fun com.ninecraft.booket.core.designsystem.component.chip.ReedSelectableC - onClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) +@Composable +public fun com.ninecraft.booket.core.designsystem.component.chip.mediumChipStyle(): com.ninecraft.booket.core.designsystem.component.chip.ChipSizeStyle + skippable: true + restartable: true + params: + +@Composable +public fun com.ninecraft.booket.core.designsystem.component.chip.smallChipStyle(): com.ninecraft.booket.core.designsystem.component.chip.ChipSizeStyle + skippable: true + restartable: true + params: + @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?, onNext: kotlin.Function0, 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: true @@ -240,31 +240,31 @@ public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme(content: @[Com - content: STABLE (composable function type) @Composable -public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.(): com.ninecraft.booket.core.designsystem.theme.ReedBorder +public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.border(): com.ninecraft.booket.core.designsystem.theme.ReedBorder skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.(): com.ninecraft.booket.core.designsystem.theme.ReedColorScheme +public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.colors(): com.ninecraft.booket.core.designsystem.theme.ReedColorScheme skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.(): com.ninecraft.booket.core.designsystem.theme.ReedRadius +public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.radius(): com.ninecraft.booket.core.designsystem.theme.ReedRadius skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.(): com.ninecraft.booket.core.designsystem.theme.ReedSpacing +public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.spacing(): com.ninecraft.booket.core.designsystem.theme.ReedSpacing skippable: true restartable: true params: @Composable -public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.(): com.ninecraft.booket.core.designsystem.theme.ReedTypography +public fun com.ninecraft.booket.core.designsystem.theme.ReedTheme.typography(): com.ninecraft.booket.core.designsystem.theme.ReedTypography skippable: true restartable: true params: diff --git a/feature/record/stability/record.stability b/feature/record/stability/record.stability index 5d81c267..a78da72a 100644 --- a/feature/record/stability/record.stability +++ b/feature/record/stability/record.stability @@ -145,18 +145,6 @@ internal fun com.ninecraft.booket.feature.record.step.QuoteStep(state: com.ninec - state: RUNTIME (requires runtime check) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step.QuoteStepPreview(): kotlin.Unit - skippable: true - restartable: true - params: - -@Composable -private fun com.ninecraft.booket.feature.record.step.RecordRegisterPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.step_v2.EmotionDetailBottomSheet(emotion: com.ninecraft.booket.core.model.Emotion, emotionDetails: kotlinx.collections.immutable.ImmutableList, selectedEmotionDetail: kotlinx.collections.immutable.ImmutableList, onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, onEmotionDetailToggled: kotlin.Function1, onSkipButtonClick: kotlin.Function0, onConfirmButtonClick: kotlin.Function0): kotlin.Unit skippable: true @@ -172,12 +160,6 @@ internal fun com.ninecraft.booket.feature.record.step_v2.EmotionDetailBottomShee - onSkipButtonClick: STABLE (function type) - onConfirmButtonClick: STABLE (function type) -@Composable -private fun com.ninecraft.booket.feature.record.step_v2.EmotionDetailBottomSheetPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.step_v2.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, selectedEmotionDetails: kotlinx.collections.immutable.ImmutableList, onClick: kotlin.Function0, isSelected: kotlin.Boolean, onEmotionDetailRemove: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -190,12 +172,6 @@ internal fun com.ninecraft.booket.feature.record.step_v2.EmotionItem(emotion: co - onEmotionDetailRemove: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step_v2.EmotionItemPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.step_v2.EmotionStepV2(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: false @@ -204,12 +180,6 @@ internal fun com.ninecraft.booket.feature.record.step_v2.EmotionStepV2(state: co - state: RUNTIME (requires runtime check) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step_v2.EmotionStepV2Preview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.record.step_v2.QuoteStepV2(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: false @@ -218,9 +188,3 @@ internal fun com.ninecraft.booket.feature.record.step_v2.QuoteStepV2(state: com. - state: RUNTIME (requires runtime check) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.record.step_v2.QuoteStepV2Preview(): kotlin.Unit - skippable: true - restartable: true - params: - diff --git a/feature/search/stability/search.stability b/feature/search/stability/search.stability index 4111c6c9..89be1232 100644 --- a/feature/search/stability/search.stability +++ b/feature/search/stability/search.stability @@ -4,12 +4,6 @@ // Do not edit this file directly. To update it, run: // ./gradlew :search:stabilityDump -@Composable -private fun com.ninecraft.booket.feature.search.book.BookRecentSearchPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable internal fun com.ninecraft.booket.feature.search.book.BookSearchContent(state: com.ninecraft.booket.feature.search.book.BookSearchUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -18,12 +12,6 @@ internal fun com.ninecraft.booket.feature.search.book.BookSearchContent(state: c - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -private fun com.ninecraft.booket.feature.search.book.BookSearchEmptyResultPreview(): kotlin.Unit - skippable: true - restartable: true - params: - @Composable public fun com.ninecraft.booket.feature.search.book.BookSearchPresenter.present(): com.ninecraft.booket.feature.search.book.BookSearchUiState skippable: true From 0654c04bd89c1b8b7f537b9b82b523c1e3c9f024 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 23:34:25 +0900 Subject: [PATCH 11/16] [BOOK-481] refactor: record.stability unstable -> stable --- .../register/RecordRegisterPresenter.kt | 15 +- .../record/register/RecordRegisterUiState.kt | 6 +- feature/record/stability/record.stability | 137 ++---------------- 3 files changed, 24 insertions(+), 134 deletions(-) diff --git a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterPresenter.kt b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterPresenter.kt index 8a01ac5c..2f9e225d 100644 --- a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterPresenter.kt +++ b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterPresenter.kt @@ -32,6 +32,7 @@ import dev.zacsweers.metro.Assisted import dev.zacsweers.metro.AssistedFactory import dev.zacsweers.metro.AssistedInject import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.PersistentMap import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentMapOf import kotlinx.collections.immutable.toPersistentList @@ -96,9 +97,9 @@ class RecordRegisterPresenter( val emotions by rememberRetained { mutableStateOf(Emotion.entries.toPersistentList()) } var emotionDetails by rememberRetained { mutableStateOf(persistentListOf()) } var selectedEmotion by rememberRetained { mutableStateOf(null) } - var selectedEmotionDetails by rememberRetained { mutableStateOf>>(emptyMap()) } + var selectedEmotionDetails by rememberRetained { mutableStateOf>>(persistentMapOf()) } var committedEmotion by rememberRetained { mutableStateOf(null) } - var committedEmotionDetails by rememberRetained { mutableStateOf>>(emptyMap()) } + var committedEmotionDetails by rememberRetained { mutableStateOf>>(persistentMapOf()) } var isEmotionDetailBottomSheetVisible by rememberRetained { mutableStateOf(false) } var savedRecordId by rememberRetained { mutableStateOf("") } var isExitDialogVisible by rememberRetained { mutableStateOf(false) } @@ -243,7 +244,7 @@ class RecordRegisterPresenter( currentDetails + event.detail } - selectedEmotionDetails = selectedEmotionDetails + (emotionKey to updatedDetails.toPersistentList()) + selectedEmotionDetails = selectedEmotionDetails.put(emotionKey, updatedDetails.toPersistentList()) } is RecordRegisterUiEvent.OnEmotionDetailRemoved -> { @@ -251,8 +252,8 @@ class RecordRegisterPresenter( val currentDetails = committedEmotionDetails[selectedEmotion].orEmpty() val updatedDetails = currentDetails - event.detail - committedEmotionDetails = committedEmotionDetails + (emotionKey to updatedDetails.toPersistentList()) - selectedEmotionDetails = selectedEmotionDetails + (emotionKey to updatedDetails.toPersistentList()) + committedEmotionDetails = committedEmotionDetails.put(emotionKey, updatedDetails.toPersistentList()) + selectedEmotionDetails = selectedEmotionDetails.put(emotionKey, updatedDetails.toPersistentList()) } is RecordRegisterUiEvent.OnEmotionDetailSkipped -> { @@ -268,8 +269,8 @@ class RecordRegisterPresenter( val details = selectedEmotionDetails[emotionKey] ?: persistentListOf() committedEmotion = emotionKey - committedEmotionDetails = mapOf(emotionKey to details) - selectedEmotionDetails = mapOf(emotionKey to details) + committedEmotionDetails = persistentMapOf(emotionKey to details) + selectedEmotionDetails = persistentMapOf(emotionKey to details) isEmotionDetailBottomSheetVisible = false } diff --git a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterUiState.kt b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterUiState.kt index 2aed1fe4..8989a371 100644 --- a/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterUiState.kt +++ b/feature/record/src/main/kotlin/com/ninecraft/booket/feature/record/register/RecordRegisterUiState.kt @@ -7,7 +7,9 @@ import com.ninecraft.booket.core.model.Emotion import com.slack.circuit.runtime.CircuitUiEvent import com.slack.circuit.runtime.CircuitUiState import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.PersistentMap import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.persistentMapOf import java.util.UUID data class RecordRegisterUiState( @@ -20,9 +22,9 @@ data class RecordRegisterUiState( val emotions: ImmutableList = persistentListOf(), val emotionDetails: ImmutableList = persistentListOf(), val selectedEmotion: Emotion? = null, - val selectedEmotionDetails: Map> = emptyMap(), + val selectedEmotionDetails: PersistentMap> = persistentMapOf(), val committedEmotion: Emotion? = null, - val committedEmotionDetails: Map> = emptyMap(), + val committedEmotionDetails: PersistentMap> = persistentMapOf(), val isEmotionDetailBottomSheetVisible: Boolean = false, val impressionState: TextFieldState = TextFieldState(), val impressionGuideList: ImmutableList = persistentListOf(), diff --git a/feature/record/stability/record.stability b/feature/record/stability/record.stability index a78da72a..f889fa34 100644 --- a/feature/record/stability/record.stability +++ b/feature/record/stability/record.stability @@ -5,97 +5,11 @@ // ./gradlew :record:stabilityDump @Composable -internal fun com.ninecraft.booket.feature.record.component.CustomTooltipBox(messageResId: kotlin.Int): kotlin.Unit - skippable: true - restartable: true - params: - - messageResId: STABLE (primitive type) - -@Composable -public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, impressionState: androidx.compose.foundation.text.input.TextFieldState, impressionGuideList: kotlinx.collections.immutable.ImmutableList, beforeSelectedImpressionGuide: kotlin.String, selectedImpressionGuide: kotlin.String, onGuideClick: kotlin.Function1, onCloseButtonClick: kotlin.Function0, onSelectionConfirmButtonClick: kotlin.Function0): kotlin.Unit - skippable: true - restartable: true - params: - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - impressionState: STABLE (marked @Stable or @Immutable) - - impressionGuideList: STABLE (known stable type) - - beforeSelectedImpressionGuide: STABLE (String is immutable) - - selectedImpressionGuide: STABLE (String is immutable) - - onGuideClick: STABLE (function type) - - onCloseButtonClick: STABLE (function type) - - onSelectionConfirmButtonClick: STABLE (function type) - -@Composable -public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBox(onClick: kotlin.Function0, impressionText: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit - skippable: true - restartable: true - params: - - onClick: STABLE (function type) - - impressionText: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - - isSelected: STABLE (primitive type) - -@Composable -private fun com.ninecraft.booket.feature.record.ocr.CameraPreview(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.record.ocr.HandleOcrSideEffects(state: com.ninecraft.booket.feature.record.ocr.OcrUiState): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - -@Composable -public fun com.ninecraft.booket.feature.record.ocr.OcrPresenter.present(): com.ninecraft.booket.feature.record.ocr.OcrUiState - skippable: true - restartable: true - params: - -@Composable -internal fun com.ninecraft.booket.feature.record.ocr.OcrUi(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.record.ocr.TextScanResult(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit +internal fun com.ninecraft.booket.feature.record.register.HandleRecordRegisterSideEffects(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState): kotlin.Unit skippable: true restartable: true params: - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.record.ocr.component.CameraFrame(modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.record.ocr.component.SentenceBox(onClick: kotlin.Function0, sentence: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit - skippable: true - restartable: true - params: - - onClick: STABLE (function type) - - sentence: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - - isSelected: STABLE (primitive type) - -@Composable -internal fun com.ninecraft.booket.feature.record.register.HandleRecordRegisterSideEffects(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState): kotlin.Unit - skippable: false - restartable: true - params: - - state: RUNTIME (requires runtime check) @Composable public fun com.ninecraft.booket.feature.record.register.RecordRegisterPresenter.present(): com.ninecraft.booket.feature.record.register.RecordRegisterUiState @@ -105,10 +19,10 @@ public fun com.ninecraft.booket.feature.record.register.RecordRegisterPresenter. @Composable internal fun com.ninecraft.booket.feature.record.register.RecordRegisterUi(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false + skippable: true restartable: true params: - - state: RUNTIME (requires runtime check) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) @Composable @@ -123,68 +37,41 @@ private fun com.ninecraft.booket.feature.record.step.EmotionItem(emotion: com.ni @Composable public fun com.ninecraft.booket.feature.record.step.EmotionStep(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false + skippable: true restartable: true params: - - state: RUNTIME (requires runtime check) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) @Composable public fun com.ninecraft.booket.feature.record.step.ImpressionStep(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false + skippable: true restartable: true params: - - state: RUNTIME (requires runtime check) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) @Composable internal fun com.ninecraft.booket.feature.record.step.QuoteStep(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false - restartable: true - params: - - state: RUNTIME (requires runtime check) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.record.step_v2.EmotionDetailBottomSheet(emotion: com.ninecraft.booket.core.model.Emotion, emotionDetails: kotlinx.collections.immutable.ImmutableList, selectedEmotionDetail: kotlinx.collections.immutable.ImmutableList, onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, onEmotionDetailToggled: kotlin.Function1, onSkipButtonClick: kotlin.Function0, onConfirmButtonClick: kotlin.Function0): kotlin.Unit - skippable: true - restartable: true - params: - - emotion: STABLE (class with no mutable properties) - - emotionDetails: STABLE (known stable type) - - selectedEmotionDetail: STABLE (known stable type) - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - onCloseButtonClick: STABLE (function type) - - onEmotionDetailToggled: STABLE (function type) - - onSkipButtonClick: STABLE (function type) - - onConfirmButtonClick: STABLE (function type) - -@Composable -internal fun com.ninecraft.booket.feature.record.step_v2.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, selectedEmotionDetails: kotlinx.collections.immutable.ImmutableList, onClick: kotlin.Function0, isSelected: kotlin.Boolean, onEmotionDetailRemove: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true restartable: true params: - - emotion: STABLE (class with no mutable properties) - - selectedEmotionDetails: STABLE (known stable type) - - onClick: STABLE (function type) - - isSelected: STABLE (primitive type) - - onEmotionDetailRemove: STABLE (function type) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) @Composable internal fun com.ninecraft.booket.feature.record.step_v2.EmotionStepV2(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false + skippable: true restartable: true params: - - state: RUNTIME (requires runtime check) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) @Composable internal fun com.ninecraft.booket.feature.record.step_v2.QuoteStepV2(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: false + skippable: true restartable: true params: - - state: RUNTIME (requires runtime check) + - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) From 7a650daf8a9be2b5e3bb4e43cd7abf5cffdbded0 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sat, 3 Jan 2026 23:49:15 +0900 Subject: [PATCH 12/16] [BOOK-481] refactor: detail.stability check stable --- .../booket/core/model/ReadingRecordsModel.kt | 4 +- .../feature/detail/book/BookDetailUi.kt | 58 +++- feature/detail/stability/detail.stability | 267 ------------------ feature/edit/stability/edit.stability | 65 ----- 4 files changed, 58 insertions(+), 336 deletions(-) diff --git a/core/model/src/main/kotlin/com/ninecraft/booket/core/model/ReadingRecordsModel.kt b/core/model/src/main/kotlin/com/ninecraft/booket/core/model/ReadingRecordsModel.kt index 1c6356e1..6bf289d1 100644 --- a/core/model/src/main/kotlin/com/ninecraft/booket/core/model/ReadingRecordsModel.kt +++ b/core/model/src/main/kotlin/com/ninecraft/booket/core/model/ReadingRecordsModel.kt @@ -1,6 +1,6 @@ package com.ninecraft.booket.core.model -import androidx.compose.runtime.Stable +import androidx.compose.runtime.Immutable data class ReadingRecordsModel( val lastPage: Boolean = true, @@ -10,7 +10,7 @@ data class ReadingRecordsModel( val readingRecords: List = emptyList(), ) -@Stable +@Immutable data class ReadingRecordModel( val id: String = "", val userBookId: String = "", diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt index 68f9e358..83c7e25c 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/BookDetailUi.kt @@ -374,7 +374,7 @@ internal fun BookDetailContent( @ComponentPreview @Composable -private fun BookDetailPreview() { +private fun BookDetailEmptyPreview() { ReedTheme { BookDetailUi( state = BookDetailUiState( @@ -394,7 +394,7 @@ private fun BookDetailPreview() { @ComponentPreview @Composable -private fun BookDetailWithSeedsPreview() { +private fun BookDetailSeedStatsPreview() { ReedTheme { BookDetailUi( state = BookDetailUiState( @@ -444,3 +444,57 @@ private fun BookDetailWithSeedsPreview() { ) } } + +@ComponentPreview +@Composable +private fun BookDetailSeedsStatsExpandedPreview() { + ReedTheme { + BookDetailUi( + state = BookDetailUiState( + uiState = UiState.Success, + bookDetail = BookDetailModel( + title = "데미안", + author = "헤르만 헤세", + publisher = "민음사", + pubDate = "2023-01-01", + coverImageUrl = "", + ), + seedsStats = persistentListOf( + EmotionModel(name = Emotion.WARM, count = 5), + EmotionModel(name = Emotion.JOY, count = 3), + EmotionModel(name = Emotion.SAD, count = 2), + EmotionModel(name = Emotion.INSIGHT, count = 7), + ), + isStatsExpanded = true, + readingRecords = persistentListOf( + ReadingRecordModel( + id = "1", + pageNumber = 42, + quote = "새는 알에서 나오려고 투쟁한다. 알은 세계이다.", + review = "정말 인상 깊은 구절이었다.", + emotionTags = listOf("깨달음", "따뜻함"), + createdAt = "2024-01-15T10:30:00.000000", + ), + ReadingRecordModel( + id = "2", + pageNumber = 78, + quote = "나는 더 이상 꿈을 꾸지 않으려 했다.", + review = "성장통을 느끼는 부분", + emotionTags = listOf("슬픔"), + createdAt = "2024-01-20T14:20:00.000000", + ), + ReadingRecordModel( + id = "3", + pageNumber = 156, + quote = "운명과 성향은 같은 개념의 두 이름이다.", + review = "내 삶을 돌아보게 되었다.", + emotionTags = listOf("깨달음", "즐거움"), + createdAt = "2024-01-25T09:15:00.000000", + ), + ), + readingRecordsTotalCount = 3, + eventSink = {}, + ), + ) + } +} diff --git a/feature/detail/stability/detail.stability b/feature/detail/stability/detail.stability index b7345b54..4edcb71e 100644 --- a/feature/detail/stability/detail.stability +++ b/feature/detail/stability/detail.stability @@ -28,126 +28,6 @@ internal fun com.ninecraft.booket.feature.detail.book.BookDetailUi(state: com.ni - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -internal fun com.ninecraft.booket.feature.detail.book.HandleBookDetailSideEffects(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, eventSink: kotlin.Function1): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - eventSink: STABLE (function type) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.BookItem(bookDetail: com.ninecraft.booket.core.model.BookDetailModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - bookDetail: STABLE (marked @Stable or @Immutable) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.detail.book.component.BookStatusItem(item: com.ninecraft.booket.core.common.constants.BookStatus, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - item: STABLE (class with no mutable properties) - - selected: STABLE (primitive type) - - onClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.BookUpdateBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, bookStatuses: kotlinx.collections.immutable.ImmutableList, currentBookStatus: com.ninecraft.booket.core.common.constants.BookStatus?, selectedBookStatus: com.ninecraft.booket.core.common.constants.BookStatus, onItemSelected: kotlin.Function1, onBookUpdateButtonClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - onCloseButtonClick: STABLE (function type) - - bookStatuses: STABLE (known stable type) - - currentBookStatus: STABLE (class with no mutable properties) - - selectedBookStatus: STABLE (class with no mutable properties) - - onItemSelected: STABLE (function type) - - onBookUpdateButtonClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.CollectedSeeds(seedsStats: kotlinx.collections.immutable.ImmutableList, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - seedsStats: STABLE (known stable type) - - isStatsExpanded: STABLE (primitive type) - - onToggleClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.CollectedSeedsHeader(topEmotion: com.ninecraft.booket.core.model.EmotionModel?, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - topEmotion: STABLE (marked @Stable or @Immutable) - - isStatsExpanded: STABLE (primitive type) - - onToggleClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.DetailMenuBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onDeleteBookClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - onDeleteBookClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.DetailMenuItem(iconResId: kotlin.Int, iconDescription: kotlin.String, label: kotlin.String, color: androidx.compose.ui.graphics.Color, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - iconResId: STABLE (primitive type) - - iconDescription: STABLE (String is immutable) - - label: STABLE (String is immutable) - - color: STABLE (marked @Stable or @Immutable) - - onClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.EmotionAnalysisResultText(emotions: kotlinx.collections.immutable.ImmutableList, brandColor: androidx.compose.ui.graphics.Color, secondaryColor: androidx.compose.ui.graphics.Color, emotionTextStyle: androidx.compose.ui.text.TextStyle, regularTextStyle: androidx.compose.ui.text.TextStyle): androidx.compose.ui.text.AnnotatedString? - skippable: true - restartable: true - params: - - emotions: STABLE (known stable type) - - brandColor: STABLE (marked @Stable or @Immutable) - - secondaryColor: STABLE (marked @Stable or @Immutable) - - emotionTextStyle: STABLE (marked @Stable or @Immutable) - - regularTextStyle: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.EmotionRatioBar(seedsStats: kotlinx.collections.immutable.ImmutableList, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - seedsStats: STABLE (known stable type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.detail.book.component.EmotionStatCard(emotion: com.ninecraft.booket.core.model.EmotionModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - emotion: STABLE (marked @Stable or @Immutable) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.ReadingRecordsHeader(totalCount: kotlin.Int, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onReadingRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - totalCount: STABLE (primitive type) - - currentRecordSort: STABLE (class with no mutable properties) - - onReadingRecordClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - @Composable internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recordInfo: com.ninecraft.booket.core.model.ReadingRecordModel, onRecordClick: kotlin.Function0, onRecordMenuClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -158,150 +38,3 @@ internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recor - onRecordMenuClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.RecordSortBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, recordSortItems: kotlinx.collections.immutable.ImmutableList, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onItemSelected: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - onCloseButtonClick: STABLE (function type) - - recordSortItems: STABLE (known stable type) - - currentRecordSort: STABLE (class with no mutable properties) - - onItemSelected: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.detail.book.component.RecordSortItem(item: com.ninecraft.booket.feature.detail.book.RecordSort, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - item: STABLE (class with no mutable properties) - - selected: STABLE (primitive type) - - onClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.component.SeedItem(emotion: com.ninecraft.booket.core.model.EmotionModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - emotion: STABLE (marked @Stable or @Immutable) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.card.HandleRecordCardSideEffects(state: com.ninecraft.booket.feature.detail.card.RecordCardUiState, recordCardGraphicsLayer: androidx.compose.ui.graphics.layer.GraphicsLayer, eventSink: kotlin.Function1): kotlin.Unit - skippable: false - restartable: true - params: - - state: STABLE (class with no mutable properties) - - recordCardGraphicsLayer: UNSTABLE (has mutable properties or unstable members) - - eventSink: STABLE (function type) - -@Composable -public fun com.ninecraft.booket.feature.detail.card.RecordCardPresenter.present(): com.ninecraft.booket.feature.detail.card.RecordCardUiState - skippable: true - restartable: true - params: - -@Composable -internal fun com.ninecraft.booket.feature.detail.card.RecordCardUi(state: com.ninecraft.booket.feature.detail.card.RecordCardUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.card.component.RecordCard(quote: kotlin.String, bookTitle: kotlin.String, emotion: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - quote: STABLE (String is immutable) - - bookTitle: STABLE (String is immutable) - - emotion: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.HandleRecordDetailSideEffects(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - -@Composable -private fun com.ninecraft.booket.feature.detail.record.RecordDetailContent(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.detail.record.RecordDetailPresenter.present(): com.ninecraft.booket.feature.detail.record.RecordDetailUiState - skippable: true - restartable: true - params: - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.RecordDetailUi(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - imageUrl: STABLE (String is immutable) - - bookTitle: STABLE (String is immutable) - - author: STABLE (String is immutable) - - publisher: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.component.QuoteItem(quote: kotlin.String, page: kotlin.Int, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - quote: STABLE (String is immutable) - - page: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.component.RecordMenuBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onShareRecordClick: kotlin.Function0, onEditRecordClick: kotlin.Function0, onDeleteRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - onDismissRequest: STABLE (function type) - - sheetState: STABLE (marked @Stable or @Immutable) - - onShareRecordClick: STABLE (function type) - - onEditRecordClick: STABLE (function type) - - onDeleteRecordClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.detail.record.component.RecordMenuItem(iconResId: kotlin.Int, iconDescription: kotlin.String, label: kotlin.String, color: androidx.compose.ui.graphics.Color, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - iconResId: STABLE (primitive type) - - iconDescription: STABLE (String is immutable) - - label: STABLE (String is immutable) - - color: STABLE (marked @Stable or @Immutable) - - onClick: STABLE (function type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.detail.record.component.ReviewItem(emotion: kotlin.String, createdAt: kotlin.String, review: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - emotion: STABLE (String is immutable) - - createdAt: STABLE (String is immutable) - - review: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - diff --git a/feature/edit/stability/edit.stability b/feature/edit/stability/edit.stability index 5543c7f9..d0169220 100644 --- a/feature/edit/stability/edit.stability +++ b/feature/edit/stability/edit.stability @@ -4,74 +4,9 @@ // Do not edit this file directly. To update it, run: // ./gradlew :edit:stabilityDump -@Composable -private fun com.ninecraft.booket.feature.edit.emotion.EmotionEditContent(state: com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.edit.emotion.EmotionEditPresenter.present(): com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState - skippable: true - restartable: true - params: - -@Composable -internal fun com.ninecraft.booket.feature.edit.emotion.EmotionEditUi(state: com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -private fun com.ninecraft.booket.feature.edit.emotion.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, onClick: kotlin.Function0, isSelected: kotlin.Boolean, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - emotion: STABLE (class with no mutable properties) - - onClick: STABLE (function type) - - isSelected: STABLE (primitive type) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.edit.record.HandleRecordEditSideEffects(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - -@Composable -private fun com.ninecraft.booket.feature.edit.record.RecordEditContent(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - @Composable public fun com.ninecraft.booket.feature.edit.record.RecordEditPresenter.present(): com.ninecraft.booket.feature.edit.record.RecordEditUiState skippable: true restartable: true params: -@Composable -internal fun com.ninecraft.booket.feature.edit.record.RecordEditUi(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - -@Composable -internal fun com.ninecraft.booket.feature.edit.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - imageUrl: STABLE (String is immutable) - - bookTitle: STABLE (String is immutable) - - author: STABLE (String is immutable) - - publisher: STABLE (String is immutable) - - modifier: STABLE (marked @Stable or @Immutable) - From 5014318fb27b9a6a226ebe5380e8c18668b463e7 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Sun, 4 Jan 2026 00:56:44 +0900 Subject: [PATCH 13/16] =?UTF-8?q?[BOOK-481]=20chore:=20=ED=86=A0=EB=81=BC?= =?UTF-8?q?=20=EB=A6=AC=EB=B7=B0=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compose stability check success --- .../detail/book/component/RecordItem.kt | 2 +- feature/detail/stability/detail.stability | 24 ------------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt index 6248aeda..a5f8f05e 100644 --- a/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt +++ b/feature/detail/src/main/kotlin/com/ninecraft/booket/feature/detail/book/component/RecordItem.kt @@ -106,7 +106,7 @@ fun getEmotionImageResourceByDisplayName(displayName: String): Int { "즐거움" -> R.drawable.img_joy "슬픔" -> R.drawable.img_sad "깨달음" -> R.drawable.img_insight - "기타" -> R.drawable.img_warm // TODO: ETC 이미지 리소스 추가 필요 + "기타" -> R.drawable.img_etc else -> R.drawable.img_warm } } diff --git a/feature/detail/stability/detail.stability b/feature/detail/stability/detail.stability index 4edcb71e..99210261 100644 --- a/feature/detail/stability/detail.stability +++ b/feature/detail/stability/detail.stability @@ -4,30 +4,6 @@ // Do not edit this file directly. To update it, run: // ./gradlew :detail:stabilityDump -@Composable -internal fun com.ninecraft.booket.feature.detail.book.BookDetailContent(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, innerPadding: androidx.compose.foundation.layout.PaddingValues, modifier: androidx.compose.ui.Modifier, lazyListState: androidx.compose.foundation.lazy.LazyListState): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - innerPadding: STABLE (marked @Stable or @Immutable) - - modifier: STABLE (marked @Stable or @Immutable) - - lazyListState: STABLE (marked @Stable or @Immutable) - -@Composable -public fun com.ninecraft.booket.feature.detail.book.BookDetailPresenter.present(): com.ninecraft.booket.feature.detail.book.BookDetailUiState - skippable: true - restartable: true - params: - -@Composable -internal fun com.ninecraft.booket.feature.detail.book.BookDetailUi(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit - skippable: true - restartable: true - params: - - state: STABLE (class with no mutable properties) - - modifier: STABLE (marked @Stable or @Immutable) - @Composable internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recordInfo: com.ninecraft.booket.core.model.ReadingRecordModel, onRecordClick: kotlin.Function0, onRecordMenuClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true From 6f3ff774cbb9f5740e8749ea9c2d6323bf139f24 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Fri, 9 Jan 2026 11:43:11 +0900 Subject: [PATCH 14/16] [BOOK-481] chore: apply stabilityDump --- feature/detail/stability/detail.stability | 291 ++++++++++++++++++++++ feature/edit/stability/edit.stability | 65 +++++ feature/record/stability/record.stability | 113 +++++++++ 3 files changed, 469 insertions(+) diff --git a/feature/detail/stability/detail.stability b/feature/detail/stability/detail.stability index 99210261..b7345b54 100644 --- a/feature/detail/stability/detail.stability +++ b/feature/detail/stability/detail.stability @@ -4,6 +4,150 @@ // Do not edit this file directly. To update it, run: // ./gradlew :detail:stabilityDump +@Composable +internal fun com.ninecraft.booket.feature.detail.book.BookDetailContent(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, innerPadding: androidx.compose.foundation.layout.PaddingValues, modifier: androidx.compose.ui.Modifier, lazyListState: androidx.compose.foundation.lazy.LazyListState): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - innerPadding: STABLE (marked @Stable or @Immutable) + - modifier: STABLE (marked @Stable or @Immutable) + - lazyListState: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.detail.book.BookDetailPresenter.present(): com.ninecraft.booket.feature.detail.book.BookDetailUiState + skippable: true + restartable: true + params: + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.BookDetailUi(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.HandleBookDetailSideEffects(state: com.ninecraft.booket.feature.detail.book.BookDetailUiState, eventSink: kotlin.Function1): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - eventSink: STABLE (function type) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.BookItem(bookDetail: com.ninecraft.booket.core.model.BookDetailModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - bookDetail: STABLE (marked @Stable or @Immutable) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.detail.book.component.BookStatusItem(item: com.ninecraft.booket.core.common.constants.BookStatus, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - item: STABLE (class with no mutable properties) + - selected: STABLE (primitive type) + - onClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.BookUpdateBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, bookStatuses: kotlinx.collections.immutable.ImmutableList, currentBookStatus: com.ninecraft.booket.core.common.constants.BookStatus?, selectedBookStatus: com.ninecraft.booket.core.common.constants.BookStatus, onItemSelected: kotlin.Function1, onBookUpdateButtonClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - onCloseButtonClick: STABLE (function type) + - bookStatuses: STABLE (known stable type) + - currentBookStatus: STABLE (class with no mutable properties) + - selectedBookStatus: STABLE (class with no mutable properties) + - onItemSelected: STABLE (function type) + - onBookUpdateButtonClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.CollectedSeeds(seedsStats: kotlinx.collections.immutable.ImmutableList, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - seedsStats: STABLE (known stable type) + - isStatsExpanded: STABLE (primitive type) + - onToggleClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.detail.book.component.CollectedSeedsHeader(topEmotion: com.ninecraft.booket.core.model.EmotionModel?, isStatsExpanded: kotlin.Boolean, onToggleClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - topEmotion: STABLE (marked @Stable or @Immutable) + - isStatsExpanded: STABLE (primitive type) + - onToggleClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.DetailMenuBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onDeleteBookClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - onDeleteBookClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.detail.book.component.DetailMenuItem(iconResId: kotlin.Int, iconDescription: kotlin.String, label: kotlin.String, color: androidx.compose.ui.graphics.Color, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - iconResId: STABLE (primitive type) + - iconDescription: STABLE (String is immutable) + - label: STABLE (String is immutable) + - color: STABLE (marked @Stable or @Immutable) + - onClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.EmotionAnalysisResultText(emotions: kotlinx.collections.immutable.ImmutableList, brandColor: androidx.compose.ui.graphics.Color, secondaryColor: androidx.compose.ui.graphics.Color, emotionTextStyle: androidx.compose.ui.text.TextStyle, regularTextStyle: androidx.compose.ui.text.TextStyle): androidx.compose.ui.text.AnnotatedString? + skippable: true + restartable: true + params: + - emotions: STABLE (known stable type) + - brandColor: STABLE (marked @Stable or @Immutable) + - secondaryColor: STABLE (marked @Stable or @Immutable) + - emotionTextStyle: STABLE (marked @Stable or @Immutable) + - regularTextStyle: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.detail.book.component.EmotionRatioBar(seedsStats: kotlinx.collections.immutable.ImmutableList, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - seedsStats: STABLE (known stable type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.detail.book.component.EmotionStatCard(emotion: com.ninecraft.booket.core.model.EmotionModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (marked @Stable or @Immutable) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.ReadingRecordsHeader(totalCount: kotlin.Int, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onReadingRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - totalCount: STABLE (primitive type) + - currentRecordSort: STABLE (class with no mutable properties) + - onReadingRecordClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + @Composable internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recordInfo: com.ninecraft.booket.core.model.ReadingRecordModel, onRecordClick: kotlin.Function0, onRecordMenuClick: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true @@ -14,3 +158,150 @@ internal fun com.ninecraft.booket.feature.detail.book.component.RecordItem(recor - onRecordMenuClick: STABLE (function type) - modifier: STABLE (marked @Stable or @Immutable) +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.RecordSortBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, recordSortItems: kotlinx.collections.immutable.ImmutableList, currentRecordSort: com.ninecraft.booket.feature.detail.book.RecordSort, onItemSelected: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - onCloseButtonClick: STABLE (function type) + - recordSortItems: STABLE (known stable type) + - currentRecordSort: STABLE (class with no mutable properties) + - onItemSelected: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.detail.book.component.RecordSortItem(item: com.ninecraft.booket.feature.detail.book.RecordSort, selected: kotlin.Boolean, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - item: STABLE (class with no mutable properties) + - selected: STABLE (primitive type) + - onClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.book.component.SeedItem(emotion: com.ninecraft.booket.core.model.EmotionModel, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (marked @Stable or @Immutable) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.card.HandleRecordCardSideEffects(state: com.ninecraft.booket.feature.detail.card.RecordCardUiState, recordCardGraphicsLayer: androidx.compose.ui.graphics.layer.GraphicsLayer, eventSink: kotlin.Function1): kotlin.Unit + skippable: false + restartable: true + params: + - state: STABLE (class with no mutable properties) + - recordCardGraphicsLayer: UNSTABLE (has mutable properties or unstable members) + - eventSink: STABLE (function type) + +@Composable +public fun com.ninecraft.booket.feature.detail.card.RecordCardPresenter.present(): com.ninecraft.booket.feature.detail.card.RecordCardUiState + skippable: true + restartable: true + params: + +@Composable +internal fun com.ninecraft.booket.feature.detail.card.RecordCardUi(state: com.ninecraft.booket.feature.detail.card.RecordCardUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.card.component.RecordCard(quote: kotlin.String, bookTitle: kotlin.String, emotion: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - quote: STABLE (String is immutable) + - bookTitle: STABLE (String is immutable) + - emotion: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.HandleRecordDetailSideEffects(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + +@Composable +private fun com.ninecraft.booket.feature.detail.record.RecordDetailContent(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.detail.record.RecordDetailPresenter.present(): com.ninecraft.booket.feature.detail.record.RecordDetailUiState + skippable: true + restartable: true + params: + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.RecordDetailUi(state: com.ninecraft.booket.feature.detail.record.RecordDetailUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - imageUrl: STABLE (String is immutable) + - bookTitle: STABLE (String is immutable) + - author: STABLE (String is immutable) + - publisher: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.component.QuoteItem(quote: kotlin.String, page: kotlin.Int, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - quote: STABLE (String is immutable) + - page: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.component.RecordMenuBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onShareRecordClick: kotlin.Function0, onEditRecordClick: kotlin.Function0, onDeleteRecordClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - onShareRecordClick: STABLE (function type) + - onEditRecordClick: STABLE (function type) + - onDeleteRecordClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.detail.record.component.RecordMenuItem(iconResId: kotlin.Int, iconDescription: kotlin.String, label: kotlin.String, color: androidx.compose.ui.graphics.Color, onClick: kotlin.Function0, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - iconResId: STABLE (primitive type) + - iconDescription: STABLE (String is immutable) + - label: STABLE (String is immutable) + - color: STABLE (marked @Stable or @Immutable) + - onClick: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.detail.record.component.ReviewItem(emotion: kotlin.String, createdAt: kotlin.String, review: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (String is immutable) + - createdAt: STABLE (String is immutable) + - review: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + diff --git a/feature/edit/stability/edit.stability b/feature/edit/stability/edit.stability index d0169220..5543c7f9 100644 --- a/feature/edit/stability/edit.stability +++ b/feature/edit/stability/edit.stability @@ -4,9 +4,74 @@ // Do not edit this file directly. To update it, run: // ./gradlew :edit:stabilityDump +@Composable +private fun com.ninecraft.booket.feature.edit.emotion.EmotionEditContent(state: com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.edit.emotion.EmotionEditPresenter.present(): com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState + skippable: true + restartable: true + params: + +@Composable +internal fun com.ninecraft.booket.feature.edit.emotion.EmotionEditUi(state: com.ninecraft.booket.feature.edit.emotion.EmotionEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.edit.emotion.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, onClick: kotlin.Function0, isSelected: kotlin.Boolean, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (class with no mutable properties) + - onClick: STABLE (function type) + - isSelected: STABLE (primitive type) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.edit.record.HandleRecordEditSideEffects(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + +@Composable +private fun com.ninecraft.booket.feature.edit.record.RecordEditContent(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + @Composable public fun com.ninecraft.booket.feature.edit.record.RecordEditPresenter.present(): com.ninecraft.booket.feature.edit.record.RecordEditUiState skippable: true restartable: true params: +@Composable +internal fun com.ninecraft.booket.feature.edit.record.RecordEditUi(state: com.ninecraft.booket.feature.edit.record.RecordEditUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.edit.record.component.BookItem(imageUrl: kotlin.String, bookTitle: kotlin.String, author: kotlin.String, publisher: kotlin.String, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - imageUrl: STABLE (String is immutable) + - bookTitle: STABLE (String is immutable) + - author: STABLE (String is immutable) + - publisher: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + diff --git a/feature/record/stability/record.stability b/feature/record/stability/record.stability index f889fa34..f0302675 100644 --- a/feature/record/stability/record.stability +++ b/feature/record/stability/record.stability @@ -4,6 +4,92 @@ // Do not edit this file directly. To update it, run: // ./gradlew :record:stabilityDump +@Composable +internal fun com.ninecraft.booket.feature.record.component.CustomTooltipBox(messageResId: kotlin.Int): kotlin.Unit + skippable: true + restartable: true + params: + - messageResId: STABLE (primitive type) + +@Composable +public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBottomSheet(onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, impressionState: androidx.compose.foundation.text.input.TextFieldState, impressionGuideList: kotlinx.collections.immutable.ImmutableList, beforeSelectedImpressionGuide: kotlin.String, selectedImpressionGuide: kotlin.String, onGuideClick: kotlin.Function1, onCloseButtonClick: kotlin.Function0, onSelectionConfirmButtonClick: kotlin.Function0): kotlin.Unit + skippable: true + restartable: true + params: + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - impressionState: STABLE (marked @Stable or @Immutable) + - impressionGuideList: STABLE (known stable type) + - beforeSelectedImpressionGuide: STABLE (String is immutable) + - selectedImpressionGuide: STABLE (String is immutable) + - onGuideClick: STABLE (function type) + - onCloseButtonClick: STABLE (function type) + - onSelectionConfirmButtonClick: STABLE (function type) + +@Composable +public fun com.ninecraft.booket.feature.record.component.ImpressionGuideBox(onClick: kotlin.Function0, impressionText: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit + skippable: true + restartable: true + params: + - onClick: STABLE (function type) + - impressionText: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + - isSelected: STABLE (primitive type) + +@Composable +private fun com.ninecraft.booket.feature.record.ocr.CameraPreview(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +internal fun com.ninecraft.booket.feature.record.ocr.HandleOcrSideEffects(state: com.ninecraft.booket.feature.record.ocr.OcrUiState): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + +@Composable +public fun com.ninecraft.booket.feature.record.ocr.OcrPresenter.present(): com.ninecraft.booket.feature.record.ocr.OcrUiState + skippable: true + restartable: true + params: + +@Composable +internal fun com.ninecraft.booket.feature.record.ocr.OcrUi(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +private fun com.ninecraft.booket.feature.record.ocr.TextScanResult(state: com.ninecraft.booket.feature.record.ocr.OcrUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - state: STABLE (class with no mutable properties) + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.record.ocr.component.CameraFrame(modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - modifier: STABLE (marked @Stable or @Immutable) + +@Composable +public fun com.ninecraft.booket.feature.record.ocr.component.SentenceBox(onClick: kotlin.Function0, sentence: kotlin.String, modifier: androidx.compose.ui.Modifier, isSelected: kotlin.Boolean): kotlin.Unit + skippable: true + restartable: true + params: + - onClick: STABLE (function type) + - sentence: STABLE (String is immutable) + - modifier: STABLE (marked @Stable or @Immutable) + - isSelected: STABLE (primitive type) + @Composable internal fun com.ninecraft.booket.feature.record.register.HandleRecordRegisterSideEffects(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState): kotlin.Unit skippable: true @@ -59,6 +145,33 @@ internal fun com.ninecraft.booket.feature.record.step.QuoteStep(state: com.ninec - state: STABLE (class with no mutable properties) - modifier: STABLE (marked @Stable or @Immutable) +@Composable +internal fun com.ninecraft.booket.feature.record.step_v2.EmotionDetailBottomSheet(emotion: com.ninecraft.booket.core.model.Emotion, emotionDetails: kotlinx.collections.immutable.ImmutableList, selectedEmotionDetail: kotlinx.collections.immutable.ImmutableList, onDismissRequest: kotlin.Function0, sheetState: androidx.compose.material3.SheetState, onCloseButtonClick: kotlin.Function0, onEmotionDetailToggled: kotlin.Function1, onSkipButtonClick: kotlin.Function0, onConfirmButtonClick: kotlin.Function0): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (class with no mutable properties) + - emotionDetails: STABLE (known stable type) + - selectedEmotionDetail: STABLE (known stable type) + - onDismissRequest: STABLE (function type) + - sheetState: STABLE (marked @Stable or @Immutable) + - onCloseButtonClick: STABLE (function type) + - onEmotionDetailToggled: STABLE (function type) + - onSkipButtonClick: STABLE (function type) + - onConfirmButtonClick: STABLE (function type) + +@Composable +internal fun com.ninecraft.booket.feature.record.step_v2.EmotionItem(emotion: com.ninecraft.booket.core.model.Emotion, selectedEmotionDetails: kotlinx.collections.immutable.ImmutableList, onClick: kotlin.Function0, isSelected: kotlin.Boolean, onEmotionDetailRemove: kotlin.Function1, modifier: androidx.compose.ui.Modifier): kotlin.Unit + skippable: true + restartable: true + params: + - emotion: STABLE (class with no mutable properties) + - selectedEmotionDetails: STABLE (known stable type) + - onClick: STABLE (function type) + - isSelected: STABLE (primitive type) + - onEmotionDetailRemove: STABLE (function type) + - modifier: STABLE (marked @Stable or @Immutable) + @Composable internal fun com.ninecraft.booket.feature.record.step_v2.EmotionStepV2(state: com.ninecraft.booket.feature.record.register.RecordRegisterUiState, modifier: androidx.compose.ui.Modifier): kotlin.Unit skippable: true From 8451e75c8f3eddb67cd81b7ecf4c1993884b489f Mon Sep 17 00:00:00 2001 From: easyhooon Date: Fri, 9 Jan 2026 11:51:22 +0900 Subject: [PATCH 15/16] =?UTF-8?q?[BOOK-481]=20chore:=20ci=20=EA=B3=BC?= =?UTF-8?q?=EC=A0=95=EB=82=B4=EC=97=90=20stabilityDump=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/android-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index f3e8862f..50a4d03d 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -84,5 +84,8 @@ jobs: - name: Generate google-services.json run: echo '${{ secrets.GOOGLE_SERVICES }}' | base64 -d > ./app/google-services.json + - name: Compose Stability Dump + run: ./gradlew stabilityDump + - name: Compose Stability Check run: ./gradlew stabilityCheck From 135ab716355877684359779fce18bb8e96381bb0 Mon Sep 17 00:00:00 2001 From: easyhooon Date: Mon, 12 Jan 2026 22:14:15 +0900 Subject: [PATCH 16/16] =?UTF-8?q?[BOOK-481]=20chore:=20=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EB=B2=84=EC=A0=84=20=EC=B5=9C?= =?UTF-8?q?=EC=8B=A0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compose stability check success --- gradle/libs.versions.toml | 26 ++++++++++++------------ gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5e1377b6..03a0fc80 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,18 +8,18 @@ versionCode = "9" packageName = "com.ninecraft.booket" ## Android gradle plugin -android-gradle-plugin = "8.9.3" +android-gradle-plugin = "8.12.0" ## AndroidX androidx-core = "1.16.0" androidx-activity-compose = "1.10.1" androidx-startup = "1.2.0" androidx-splash = "1.2.0" -androidx-datastore = "1.1.7" -androidx-camera = "1.5.1" +androidx-datastore = "1.2.0" +androidx-camera = "1.5.2" ## Compose -androidx-compose-bom = "2025.07.00" +androidx-compose-bom = "2025.12.01" androidx-compose-material3 = "1.4.0" compose-stable-marker = "1.0.7" compose-effects = "0.1.4" @@ -27,19 +27,19 @@ compose-shadow = "2.0.4" compose-stability-analyzer = "0.6.6" ## Kotlin Symbol Processing -ksp = "2.3.0" +ksp = "2.3.4" ## Kotlin -kotlin = "2.2.21" +kotlin = "2.3.0" kotlinx-coroutines = "1.10.2" kotlinx-serialization-json = "1.9.0" kotlinx-collections-immutable = "0.4.0" ## Metro -metro = "0.7.7" +metro = "0.9.4" ## Network -okhttp = "5.1.0" +okhttp = "5.3.2" retrofit = "3.0.0" ## Circuit @@ -70,13 +70,13 @@ kotlin-ktlint-gradle = "11.6.1" kotlin-ktlint-source = "0.50.0" ## Test -androidx-test-ext-junit = "1.2.1" -androidx-test-runner = "1.6.2" +androidx-test-ext-junit = "1.3.0" +androidx-test-runner = "1.7.0" ## Firebase -google-service = "4.4.3" -firebase-bom = "34.1.0" -firebase-crashlytics = "3.0.4" +google-service = "4.4.4" +firebase-bom = "34.7.0" +firebase-crashlytics = "3.0.6" [libraries] android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-gradle-plugin" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8f89fa56..70a31fa7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Fri Jun 13 20:04:35 KST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists