Skip to content

Commit 8d44ea6

Browse files
authored
Merge pull request #90 from YAPP-Github/release/release-1.0.1
Release/release 1.0.1 -> release merge
2 parents b15863a + 85a7bbd commit 8d44ea6

13 files changed

Lines changed: 210 additions & 43 deletions

File tree

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ android {
3030
applicationId = "com.moneymong.moneymong"
3131
minSdk = 24
3232
targetSdk = 34
33-
versionCode = 9
34-
versionName = "1.0.0"
33+
versionCode = 10
34+
versionName = "1.0.1"
3535

3636
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
3737
vectorDrawables {

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
android:exported="true"
3232
android:label="${appLabel}"
3333
android:windowSoftInputMode="adjustResize"
34-
android:theme="@style/Theme.Moneymongandroid">
34+
android:theme="@style/Theme.Moneymongandroid"
35+
android:screenOrientation="portrait">
3536
<intent-filter>
3637
<action android:name="android.intent.action.MAIN" />
3738

core/design-system/src/main/java/com/moneymong/moneymong/design_system/component/textfield/BaseTextField.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.compose.foundation.text.KeyboardOptions
99
import androidx.compose.runtime.Composable
1010
import androidx.compose.ui.Modifier
1111
import androidx.compose.ui.platform.LocalFocusManager
12+
import androidx.compose.ui.text.AnnotatedString
1213
import androidx.compose.ui.text.input.TextFieldValue
1314
import androidx.compose.ui.text.input.VisualTransformation
1415
import androidx.compose.ui.unit.dp
@@ -22,7 +23,7 @@ internal fun MDSBaseTextField(
2223
modifier: Modifier = Modifier,
2324
value: TextFieldValue,
2425
onValueChange: (TextFieldValue) -> Unit,
25-
title: String,
26+
title: AnnotatedString,
2627
placeholder: String,
2728
isFilled: Boolean,
2829
isError: Boolean = false,

core/design-system/src/main/java/com/moneymong/moneymong/design_system/component/textfield/NumberTextField.kt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.compose.runtime.setValue
1414
import androidx.compose.ui.Modifier
1515
import androidx.compose.ui.focus.onFocusChanged
1616
import androidx.compose.ui.platform.LocalFocusManager
17+
import androidx.compose.ui.text.AnnotatedString
1718
import androidx.compose.ui.text.input.KeyboardType
1819
import androidx.compose.ui.text.input.TextFieldValue
1920
import androidx.compose.ui.text.input.VisualTransformation
@@ -41,6 +42,38 @@ fun MDSNumberTextField(
4142
keyboardActions: KeyboardActions = KeyboardActions.Default,
4243
) {
4344

45+
MDSBaseTextField(
46+
modifier = modifier,
47+
value = value,
48+
onValueChange = { original ->
49+
onValueChange(original.copy(text = original.text.filter { char -> char.isDigit() }))
50+
},
51+
title = AnnotatedString(text = title),
52+
placeholder = placeholder,
53+
isFilled = isFilled,
54+
singleLine = singleLine,
55+
icon = MDSTextFieldIcons.Clear,
56+
onIconClick = onIconClick,
57+
visualTransformation = visualTransformation,
58+
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
59+
keyboardActions = keyboardActions,
60+
)
61+
}
62+
63+
@Composable
64+
fun MDSNumberTextField(
65+
modifier: Modifier = Modifier,
66+
value: TextFieldValue,
67+
onValueChange: (TextFieldValue) -> Unit,
68+
title: AnnotatedString,
69+
placeholder: String,
70+
isFilled: Boolean,
71+
onIconClick: (() -> Unit),
72+
singleLine: Boolean = true,
73+
visualTransformation: VisualTransformation = VisualTransformation.None,
74+
keyboardActions: KeyboardActions = KeyboardActions.Default,
75+
) {
76+
4477
MDSBaseTextField(
4578
modifier = modifier,
4679
value = value,

core/design-system/src/main/java/com/moneymong/moneymong/design_system/component/textfield/TextField.kt

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,15 @@ import androidx.compose.runtime.setValue
1212
import androidx.compose.ui.Modifier
1313
import androidx.compose.ui.focus.onFocusChanged
1414
import androidx.compose.ui.platform.LocalFocusManager
15+
import androidx.compose.ui.text.AnnotatedString
16+
import androidx.compose.ui.text.SpanStyle
17+
import androidx.compose.ui.text.buildAnnotatedString
1518
import androidx.compose.ui.text.input.TextFieldValue
1619
import androidx.compose.ui.text.input.VisualTransformation
20+
import androidx.compose.ui.text.withStyle
1721
import androidx.compose.ui.tooling.preview.Preview
1822
import com.moneymong.moneymong.design_system.component.textfield.util.MDSTextFieldIcons
23+
import com.moneymong.moneymong.design_system.theme.Red03
1924

2025

2126
@Composable
@@ -38,6 +43,46 @@ fun MDSTextField(
3843
keyboardActions: KeyboardActions = KeyboardActions.Default
3944
) {
4045

46+
MDSBaseTextField(
47+
modifier = modifier,
48+
value = value,
49+
onValueChange = onValueChange,
50+
title = AnnotatedString(text = title),
51+
placeholder = placeholder,
52+
isFilled = isFilled,
53+
isError = isError,
54+
helperText = helperText,
55+
maxCount = maxCount,
56+
singleLine = singleLine,
57+
minLines = minLines,
58+
icon = icon,
59+
onIconClick = onIconClick,
60+
visualTransformation = visualTransformation,
61+
keyboardOptions = keyboardOptions,
62+
keyboardActions = keyboardActions
63+
)
64+
}
65+
66+
@Composable
67+
fun MDSTextField(
68+
modifier: Modifier = Modifier,
69+
value: TextFieldValue,
70+
onValueChange: (TextFieldValue) -> Unit,
71+
title: AnnotatedString,
72+
placeholder: String,
73+
isFilled: Boolean,
74+
isError: Boolean = false,
75+
helperText: String? = null,
76+
maxCount: Int? = null,
77+
singleLine: Boolean,
78+
minLines: Int = 1,
79+
icon: MDSTextFieldIcons? = null,
80+
onIconClick: (() -> Unit) = {},
81+
visualTransformation: VisualTransformation = VisualTransformation.None,
82+
keyboardOptions: KeyboardOptions = KeyboardOptions.Default,
83+
keyboardActions: KeyboardActions = KeyboardActions.Default
84+
) {
85+
4186
MDSBaseTextField(
4287
modifier = modifier,
4388
value = value,
@@ -78,7 +123,12 @@ fun MDSTextFieldPreview() {
78123
.onFocusChanged { isFilled = !it.isFocused },
79124
value = userInput,
80125
onValueChange = { userInput = it },
81-
title = "title",
126+
title = buildAnnotatedString {
127+
append("title")
128+
withStyle(style = SpanStyle(color = Red03)) {
129+
append("*")
130+
}
131+
},
82132
placeholder = "placeholder",
83133
isFilled = isFilled,
84134
isError = isError,

core/design-system/src/main/java/com/moneymong/moneymong/design_system/component/textfield/util/TextFieldContainer.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.compose.material3.Text
1414
import androidx.compose.runtime.Composable
1515
import androidx.compose.ui.Modifier
1616
import androidx.compose.ui.res.painterResource
17+
import androidx.compose.ui.text.AnnotatedString
1718
import androidx.compose.ui.text.style.TextAlign
1819
import androidx.compose.ui.unit.dp
1920
import com.moneymong.moneymong.design_system.theme.Body2
@@ -24,7 +25,7 @@ import com.moneymong.moneymong.design_system.theme.Caption
2425
internal fun MDSTextFieldContainer(
2526
modifier: Modifier = Modifier,
2627
state: MDSTextFieldState,
27-
title: String,
28+
title: AnnotatedString,
2829
count: Int,
2930
placeholder: String,
3031
icon: MDSTextFieldIcons?,
@@ -59,7 +60,7 @@ internal fun MDSTextFieldContainer(
5960

6061
@Composable
6162
private fun MDSTextFieldContainerTop(
62-
title: String,
63+
title: AnnotatedString,
6364
state: MDSTextFieldState
6465
) {
6566
Text(

feature/ledgerdetail/src/main/java/com/moneymong/moneymong/ledgerdetail/LedgerDetailScreen.kt

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,11 @@ import androidx.compose.ui.layout.ContentScale
3535
import androidx.compose.ui.platform.LocalContext
3636
import androidx.compose.ui.platform.LocalFocusManager
3737
import androidx.compose.ui.res.painterResource
38+
import androidx.compose.ui.text.SpanStyle
39+
import androidx.compose.ui.text.buildAnnotatedString
3840
import androidx.compose.ui.text.input.KeyboardType
3941
import androidx.compose.ui.text.input.TextFieldValue
42+
import androidx.compose.ui.text.withStyle
4043
import androidx.compose.ui.tooling.preview.Preview
4144
import androidx.compose.ui.unit.dp
4245
import androidx.hilt.navigation.compose.hiltViewModel
@@ -68,6 +71,7 @@ import com.moneymong.moneymong.design_system.theme.Gray03
6871
import com.moneymong.moneymong.design_system.theme.Gray06
6972
import com.moneymong.moneymong.design_system.theme.Gray10
7073
import com.moneymong.moneymong.design_system.theme.MMHorizontalSpacing
74+
import com.moneymong.moneymong.design_system.theme.Red03
7175
import com.moneymong.moneymong.design_system.theme.White
7276
import com.moneymong.moneymong.ledgerdetail.view.LedgerDetailTopbarView
7377
import org.orbitmvi.orbit.compose.collectAsState
@@ -183,7 +187,7 @@ fun LedgerDetailScreen(
183187
.background(Gray01)
184188
.padding(it)
185189
) {
186-
Spacer(modifier = Modifier.height(12.dp))
190+
Spacer(modifier = Modifier.height(4.dp))
187191
Box(
188192
modifier = Modifier
189193
.fillMaxSize()
@@ -203,7 +207,12 @@ fun LedgerDetailScreen(
203207
modifier = Modifier.fillMaxWidth(),
204208
value = state.storeNameValue,
205209
onValueChange = viewModel::onChangeStoreNameValue,
206-
title = "수입·지출 출처",
210+
title = buildAnnotatedString {
211+
append("수입·지출 출처")
212+
withStyle(SpanStyle(color = Red03)) {
213+
append("*")
214+
}
215+
},
207216
placeholder = "",
208217
isFilled = false,
209218
isError = state.isStoreNameError,
@@ -239,7 +248,12 @@ fun LedgerDetailScreen(
239248
modifier = Modifier.fillMaxWidth(),
240249
value = state.totalPriceValue,
241250
onValueChange = viewModel::onChangeTotalPriceValue,
242-
title = "${state.fundTypeText} 금액",
251+
title = buildAnnotatedString {
252+
append("${state.fundTypeText} 금액")
253+
withStyle(SpanStyle(color = Red03)) {
254+
append("*")
255+
}
256+
},
243257
placeholder = "",
244258
isFilled = false,
245259
isError = state.isTotalPriceError,
@@ -276,7 +290,12 @@ fun LedgerDetailScreen(
276290
modifier = Modifier.fillMaxWidth(),
277291
value = state.paymentDateValue,
278292
onValueChange = viewModel::onChangePaymentDateValue,
279-
title = "날짜",
293+
title = buildAnnotatedString {
294+
append("날짜")
295+
withStyle(SpanStyle(color = Red03)) {
296+
append("*")
297+
}
298+
},
280299
placeholder = "2024/01/01",
281300
isFilled = false,
282301
isError = state.isPaymentDateError,
@@ -313,7 +332,12 @@ fun LedgerDetailScreen(
313332
modifier = Modifier.fillMaxWidth(),
314333
value = state.paymentTimeValue,
315334
onValueChange = viewModel::onChangePaymentTimeValue,
316-
title = "시간",
335+
title = buildAnnotatedString {
336+
append("시간")
337+
withStyle(SpanStyle(color = Red03)) {
338+
append("*")
339+
}
340+
},
317341
placeholder = "00:00:00",
318342
isFilled = false,
319343
isError = state.isPaymentTimeError,
@@ -541,20 +565,20 @@ fun LedgerDetailScreen(
541565
MDSButton(
542566
modifier = Modifier
543567
.fillMaxWidth()
544-
.padding(vertical = 24.dp, horizontal = 20.dp),
568+
.padding(vertical = 12.dp, horizontal = 20.dp),
545569
text = "완료하기",
546570
enabled = state.enabledEdit,
547-
size = MDSButtonSize.MEDIUM,
571+
size = MDSButtonSize.LARGE,
548572
type = MDSButtonType.PRIMARY,
549573
onClick = { viewModel.eventEmit(LedgerDetailSideEffect.LedgerDetailEditDone) }
550574
)
551575
} else {
552576
MDSButton(
553577
modifier = Modifier
554578
.fillMaxWidth()
555-
.padding(vertical = 24.dp, horizontal = 20.dp),
579+
.padding(vertical = 12.dp, horizontal = 20.dp),
556580
text = "수정하기",
557-
size = MDSButtonSize.MEDIUM,
581+
size = MDSButtonSize.LARGE,
558582
type = MDSButtonType.PRIMARY,
559583
onClick = { viewModel.eventEmit(LedgerDetailSideEffect.LedgerDetailEdit) }
560584
)

feature/ledgerdetail/src/main/java/com/moneymong/moneymong/ledgerdetail/view/LedgerDetailTopbarView.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ fun LedgerDetailTopbarView(
4343
.noRippleClickable {
4444
onClickPrev()
4545
}
46-
.padding(vertical = 10.dp, horizontal = MMHorizontalSpacing)
46+
.padding(vertical = 18.dp, horizontal = MMHorizontalSpacing)
4747
.align(Alignment.CenterStart),
4848
painter = painterResource(id = drawable.ic_chevron_left),
4949
contentDescription = null,
5050
tint = Gray07
5151
)
5252
Text(
5353
modifier = Modifier
54-
.padding(vertical = 8.dp)
54+
.padding(vertical = 16.dp)
5555
.align(Alignment.Center),
5656
text = title,
5757
style = Heading1,
@@ -75,7 +75,7 @@ fun LedgerDetailTopbarView(
7575
.noRippleClickable {
7676
onClickDelete()
7777
}
78-
.padding(vertical = 10.dp, horizontal = MMHorizontalSpacing)
78+
.padding(vertical = 18.dp, horizontal = MMHorizontalSpacing)
7979
.align(Alignment.CenterEnd),
8080
painter = painterResource(id = drawable.ic_delete),
8181
contentDescription = null,

0 commit comments

Comments
 (0)