@@ -20,6 +20,7 @@ import androidx.compose.ui.res.painterResource
2020import androidx.compose.ui.res.stringResource
2121import androidx.compose.ui.text.style.TextAlign
2222import androidx.compose.ui.unit.dp
23+ import com.ninecraft.booket.core.common.constants.BookStatus
2324import com.ninecraft.booket.core.designsystem.ComponentPreview
2425import com.ninecraft.booket.core.designsystem.component.button.ReedButton
2526import com.ninecraft.booket.core.designsystem.component.button.ReedButtonColorStyle
@@ -33,8 +34,10 @@ import com.ninecraft.booket.feature.search.R
3334fun BookRegisterSuccessBottomSheet (
3435 onDismissRequest : () -> Unit ,
3536 sheetState : SheetState ,
37+ upsertedBookStatus : BookStatus ,
3638 onCancelButtonClick : () -> Unit ,
3739 onOKButtonClick : () -> Unit ,
40+ modifier : Modifier = Modifier ,
3841) {
3942 ReedBottomSheet (
4043 onDismissRequest = {
@@ -43,7 +46,7 @@ fun BookRegisterSuccessBottomSheet(
4346 sheetState = sheetState,
4447 ) {
4548 Column (
46- modifier = Modifier
49+ modifier = modifier
4750 .padding(
4851 start = ReedTheme .spacing.spacing5,
4952 top = ReedTheme .spacing.spacing5,
@@ -67,38 +70,63 @@ fun BookRegisterSuccessBottomSheet(
6770 )
6871 Spacer (modifier = Modifier .height(ReedTheme .spacing.spacing1))
6972 Text (
70- text = stringResource(R .string.book_register_success_description),
73+ text = stringResource(
74+ when (upsertedBookStatus) {
75+ BookStatus .BEFORE_READING -> R .string.book_register_success_description_before_reading
76+ BookStatus .READING -> R .string.book_register_success_description
77+ BookStatus .COMPLETED -> R .string.book_register_success_description_completed
78+ },
79+ ),
7180 modifier = Modifier .fillMaxWidth(),
7281 color = ReedTheme .colors.contentSecondary,
7382 textAlign = TextAlign .Center ,
7483 style = ReedTheme .typography.body1Medium,
7584 )
7685 Spacer (modifier = Modifier .height(ReedTheme .spacing.spacing3))
77- Row (
78- modifier = Modifier
79- .fillMaxWidth()
80- .padding(vertical = ReedTheme .spacing.spacing4),
81- horizontalArrangement = Arrangement .SpaceBetween ,
82- ) {
86+
87+ if (upsertedBookStatus == BookStatus .BEFORE_READING ) {
8388 ReedButton (
8489 onClick = {
8590 onCancelButtonClick()
8691 },
8792 sizeStyle = largeButtonStyle,
88- colorStyle = ReedButtonColorStyle .SECONDARY ,
89- modifier = Modifier .weight(1f ),
90- text = stringResource(R .string.book_register_success_cancel),
91- )
92- Spacer (modifier = Modifier .width(ReedTheme .spacing.spacing2))
93- ReedButton (
94- onClick = {
95- onOKButtonClick()
96- },
97- sizeStyle = largeButtonStyle,
9893 colorStyle = ReedButtonColorStyle .PRIMARY ,
99- modifier = Modifier .weight(1f ),
100- text = stringResource(R .string.book_register_success_ok),
94+ modifier = Modifier
95+ .fillMaxWidth()
96+ .padding(vertical = ReedTheme .spacing.spacing4),
97+ text = stringResource(R .string.book_register_success_ok_before_reading),
10198 )
99+ } else {
100+ Row (
101+ modifier = Modifier
102+ .fillMaxWidth()
103+ .padding(vertical = ReedTheme .spacing.spacing4),
104+ horizontalArrangement = Arrangement .SpaceBetween ,
105+ ) {
106+ ReedButton (
107+ onClick = {
108+ onCancelButtonClick()
109+ },
110+ sizeStyle = largeButtonStyle,
111+ colorStyle = ReedButtonColorStyle .SECONDARY ,
112+ modifier = Modifier .weight(1f ),
113+ text = stringResource(R .string.book_register_success_cancel),
114+ )
115+ Spacer (modifier = Modifier .width(ReedTheme .spacing.spacing2))
116+ ReedButton (
117+ onClick = {
118+ onOKButtonClick()
119+ },
120+ sizeStyle = largeButtonStyle,
121+ colorStyle = ReedButtonColorStyle .PRIMARY ,
122+ modifier = Modifier .weight(1f ),
123+ text = if (upsertedBookStatus == BookStatus .READING ) {
124+ stringResource(R .string.book_register_success_ok)
125+ } else {
126+ stringResource(R .string.book_register_success_ok_completed)
127+ },
128+ )
129+ }
102130 }
103131 }
104132 }
@@ -107,7 +135,49 @@ fun BookRegisterSuccessBottomSheet(
107135@OptIn(ExperimentalMaterial3Api ::class )
108136@ComponentPreview
109137@Composable
110- private fun BookRegisterSuccessBottomSheetPreview () {
138+ private fun BookRegisterSuccessBeforeReadingBottomSheetPreview () {
139+ val sheetState = SheetState (
140+ skipPartiallyExpanded = true ,
141+ initialValue = SheetValue .Expanded ,
142+ positionalThreshold = { 0f },
143+ velocityThreshold = { 0f },
144+ )
145+ ReedTheme {
146+ BookRegisterSuccessBottomSheet (
147+ onDismissRequest = {},
148+ sheetState = sheetState,
149+ upsertedBookStatus = BookStatus .BEFORE_READING ,
150+ onCancelButtonClick = {},
151+ onOKButtonClick = {},
152+ )
153+ }
154+ }
155+
156+ @OptIn(ExperimentalMaterial3Api ::class )
157+ @ComponentPreview
158+ @Composable
159+ private fun BookRegisterSuccessReadingBottomSheetPreview () {
160+ val sheetState = SheetState (
161+ skipPartiallyExpanded = true ,
162+ initialValue = SheetValue .Expanded ,
163+ positionalThreshold = { 0f },
164+ velocityThreshold = { 0f },
165+ )
166+ ReedTheme {
167+ BookRegisterSuccessBottomSheet (
168+ onDismissRequest = {},
169+ sheetState = sheetState,
170+ upsertedBookStatus = BookStatus .READING ,
171+ onCancelButtonClick = {},
172+ onOKButtonClick = {},
173+ )
174+ }
175+ }
176+
177+ @OptIn(ExperimentalMaterial3Api ::class )
178+ @ComponentPreview
179+ @Composable
180+ private fun BookRegisterSuccessCompletedBottomSheetPreview () {
111181 val sheetState = SheetState (
112182 skipPartiallyExpanded = true ,
113183 initialValue = SheetValue .Expanded ,
@@ -118,6 +188,7 @@ private fun BookRegisterSuccessBottomSheetPreview() {
118188 BookRegisterSuccessBottomSheet (
119189 onDismissRequest = {},
120190 sheetState = sheetState,
191+ upsertedBookStatus = BookStatus .COMPLETED ,
121192 onCancelButtonClick = {},
122193 onOKButtonClick = {},
123194 )
0 commit comments