Skip to content

Commit 747ddbd

Browse files
committed
REFACTOR: 루틴 작성/수정 화면 리디자인 UI 반영
1 parent 6b7299c commit 747ddbd

19 files changed

Lines changed: 987 additions & 460 deletions

File tree

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/WriteRoutineScreen.kt

Lines changed: 176 additions & 214 deletions
Large diffs are not rendered by default.

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/WriteRoutineViewModel.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,6 @@ class WriteRoutineViewModel @AssistedInject constructor(
155155
},
156156
)
157157
}
158-
is WriteRoutineIntent.SetPeriodWeek -> {
159-
return state.copy(
160-
periodWeek = intent.periodWeek,
161-
)
162-
}
163158
is WriteRoutineIntent.SetRepeatType -> {
164159
return state.copy(
165160
repeatType = intent.repeatType,
Lines changed: 49 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
package com.threegap.bitnagil.presentation.writeroutine.component.atom.namefield
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.layout.Box
4+
import androidx.compose.foundation.layout.Column
55
import androidx.compose.foundation.layout.Row
6+
import androidx.compose.foundation.layout.Spacer
67
import androidx.compose.foundation.layout.fillMaxWidth
78
import androidx.compose.foundation.layout.height
89
import androidx.compose.foundation.layout.padding
9-
import androidx.compose.foundation.shape.RoundedCornerShape
10+
import androidx.compose.foundation.layout.size
1011
import androidx.compose.foundation.text.BasicTextField
12+
import androidx.compose.material3.HorizontalDivider
1113
import androidx.compose.material3.Text
1214
import androidx.compose.runtime.Composable
1315
import androidx.compose.ui.Alignment
1416
import androidx.compose.ui.Modifier
17+
import androidx.compose.ui.tooling.preview.Preview
1518
import androidx.compose.ui.unit.dp
1619
import com.threegap.bitnagil.designsystem.BitnagilTheme
1720
import com.threegap.bitnagil.designsystem.R
@@ -30,37 +33,58 @@ fun NameField(
3033
value = value,
3134
onValueChange = onValueChange,
3235
modifier = modifier
33-
.background(BitnagilTheme.colors.coolGray99, RoundedCornerShape(12.dp))
34-
.fillMaxWidth()
35-
.height(52.dp),
36+
.fillMaxWidth(),
3637
singleLine = true,
3738
textStyle = BitnagilTheme.typography.body2SemiBold,
3839
decorationBox = { innerTextField ->
39-
Row(
40-
modifier = Modifier.padding(start = 24.dp, end = 16.dp),
41-
verticalAlignment = Alignment.CenterVertically,
42-
) {
43-
Box(modifier = Modifier.weight(1f)) {
44-
if (value.isEmpty()) {
45-
Text(
46-
placeholder,
47-
style = BitnagilTheme.typography.body2SemiBold.copy(color = BitnagilTheme.colors.coolGray90),
48-
)
40+
Column {
41+
Row(
42+
verticalAlignment = Alignment.CenterVertically,
43+
) {
44+
Box(modifier = Modifier.weight(1f)) {
45+
if (value.isEmpty()) {
46+
Text(
47+
placeholder,
48+
style = BitnagilTheme.typography.title3SemiBold.copy(color = BitnagilTheme.colors.coolGray90),
49+
)
50+
}
51+
innerTextField()
4952
}
50-
innerTextField()
51-
}
5253

53-
if (onClickRemove != null) {
54-
Box(
55-
modifier = Modifier.clickableWithoutRipple(onClick = onClickRemove),
56-
) {
57-
BitnagilIcon(
58-
id = R.drawable.ic_close,
59-
tint = BitnagilTheme.colors.coolGray80,
60-
)
54+
if (onClickRemove != null) {
55+
Box(
56+
modifier = Modifier.clickableWithoutRipple(onClick = onClickRemove),
57+
contentAlignment = Alignment.Center
58+
) {
59+
BitnagilIcon(
60+
id = R.drawable.ic_close_circle,
61+
tint = null,
62+
modifier = Modifier.size(24.dp).padding(top = 4.dp, bottom = 4.dp, start = 8.dp)
63+
)
64+
}
6165
}
6266
}
67+
68+
Spacer(modifier = Modifier.height(12.dp))
69+
70+
HorizontalDivider(
71+
thickness = 2.dp,
72+
modifier = Modifier.height(2.dp),
73+
color = BitnagilTheme.colors.coolGray90,
74+
)
6375
}
6476
},
6577
)
6678
}
79+
80+
@Composable
81+
@Preview(showBackground = true, widthDp = 300, heightDp = 300)
82+
fun NameFieldPreview() {
83+
BitnagilTheme{
84+
NameField(
85+
value = "value",
86+
onValueChange = {},
87+
onClickRemove = {},
88+
)
89+
}
90+
}

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/component/atom/selectcell/SelectCell.kt

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package com.threegap.bitnagil.presentation.writeroutine.component.atom.selectcell
22

33
import androidx.compose.foundation.background
4+
import androidx.compose.foundation.border
5+
import androidx.compose.foundation.layout.Arrangement
46
import androidx.compose.foundation.layout.Box
7+
import androidx.compose.foundation.layout.Row
58
import androidx.compose.foundation.layout.height
69
import androidx.compose.foundation.shape.RoundedCornerShape
710
import androidx.compose.material3.Text
811
import androidx.compose.runtime.Composable
912
import androidx.compose.ui.Alignment
1013
import androidx.compose.ui.Modifier
11-
import androidx.compose.ui.graphics.Color
14+
import androidx.compose.ui.tooling.preview.Preview
1215
import androidx.compose.ui.unit.dp
1316
import com.threegap.bitnagil.designsystem.BitnagilTheme
1417
import com.threegap.bitnagil.designsystem.modifier.clickableWithoutRipple
@@ -24,16 +27,74 @@ fun SelectCell(
2427
modifier = modifier
2528
.height(48.dp)
2629
.background(
27-
color = if (selected) BitnagilTheme.colors.lightBlue100 else Color.Transparent,
30+
color = if (selected) BitnagilTheme.colors.orange500 else BitnagilTheme.colors.white,
2831
shape = RoundedCornerShape(12.dp),
2932
)
33+
.border(
34+
width = 1.dp,
35+
shape = RoundedCornerShape(12.dp),
36+
color = if (selected) BitnagilTheme.colors.orange500 else BitnagilTheme.colors.coolGray96,
37+
)
3038
.clickableWithoutRipple(onClick = onClick),
3139
contentAlignment = Alignment.Center,
3240
) {
3341
Text(
3442
text = text,
35-
color = BitnagilTheme.colors.navy400,
43+
color = if (selected) BitnagilTheme.colors.white else BitnagilTheme.colors.coolGray30,
3644
style = BitnagilTheme.typography.body2Medium,
3745
)
3846
}
3947
}
48+
49+
@Composable
50+
@Preview(showBackground = true, widthDp = 300, heightDp = 300)
51+
private fun SelectCellPreview() {
52+
BitnagilTheme {
53+
Row(
54+
horizontalArrangement = Arrangement.spacedBy(4.dp)
55+
) {
56+
SelectCell(
57+
text = "",
58+
selected = true,
59+
onClick = {},
60+
modifier = Modifier.weight(1f)
61+
)
62+
SelectCell(
63+
text = "",
64+
selected = false,
65+
onClick = {},
66+
modifier = Modifier.weight(1f)
67+
)
68+
SelectCell(
69+
text = "",
70+
selected = false,
71+
onClick = {},
72+
modifier = Modifier.weight(1f)
73+
)
74+
SelectCell(
75+
text = "",
76+
selected = false,
77+
onClick = {},
78+
modifier = Modifier.weight(1f)
79+
)
80+
SelectCell(
81+
text = "",
82+
selected = false,
83+
onClick = {},
84+
modifier = Modifier.weight(1f)
85+
)
86+
SelectCell(
87+
text = "",
88+
selected = false,
89+
onClick = {},
90+
modifier = Modifier.weight(1f)
91+
)
92+
SelectCell(
93+
text = "",
94+
selected = false,
95+
onClick = {},
96+
modifier = Modifier.weight(1f)
97+
)
98+
}
99+
}
100+
}

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/component/atom/tooltipbutton/TooltipButton.kt

Lines changed: 0 additions & 131 deletions
This file was deleted.

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/component/atom/tooltipbutton/model/TooltipDirection.kt

Lines changed: 0 additions & 5 deletions
This file was deleted.

presentation/src/main/java/com/threegap/bitnagil/presentation/writeroutine/component/atom/tooltipbutton/model/TooltipPositionProvider.kt

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)