Skip to content

Commit 4bd9d8e

Browse files
committed
[BOOK-473] refactor: 누락된 background -> drawBehind { drawRect() } 전환
shape가 속성의 경우 Modifier.clip으로 빼낼 수 있음 적용 후 이전과 UI가 같은지 확인 필요
1 parent 7eb465a commit 4bd9d8e

File tree

28 files changed

+88
-116
lines changed

28 files changed

+88
-116
lines changed

app/src/main/kotlin/com/ninecraft/booket/di/CircuitGraph.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.ninecraft.booket.di
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.text.BasicText
4+
import androidx.compose.ui.draw.drawBehind
55
import androidx.compose.ui.graphics.Color
66
import androidx.compose.ui.text.TextStyle
77
import com.slack.circuit.foundation.Circuit
@@ -43,7 +43,7 @@ interface CircuitGraph {
4343
All uiFactories: ${circuit?.newBuilder()?.uiFactories}
4444
"""
4545
.trimIndent(),
46-
modifier = modifier.background(Color.Red),
46+
modifier = modifier.drawBehind { drawRect(Color.Red) },
4747
style = TextStyle(color = Color.Yellow),
4848
)
4949
}

core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/component/RecordProgressBar.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.ninecraft.booket.core.designsystem.component
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.layout.Arrangement
54
import androidx.compose.foundation.layout.Box
65
import androidx.compose.foundation.layout.Row
@@ -10,6 +9,7 @@ import androidx.compose.foundation.shape.RoundedCornerShape
109
import androidx.compose.runtime.Composable
1110
import androidx.compose.ui.Modifier
1211
import androidx.compose.ui.draw.clip
12+
import androidx.compose.ui.draw.drawBehind
1313
import androidx.compose.ui.unit.dp
1414
import com.ninecraft.booket.core.designsystem.RecordStep
1515
import com.ninecraft.booket.core.designsystem.theme.ReedTheme
@@ -24,18 +24,14 @@ fun RecordProgressBar(
2424
horizontalArrangement = Arrangement.spacedBy(ReedTheme.spacing.spacing1),
2525
) {
2626
repeat(3) { index ->
27+
val bgColor = if (index <= currentStep.ordinal) ReedTheme.colors.bgPrimary else ReedTheme.colors.bgDisabled
28+
2729
Box(
2830
modifier = Modifier
2931
.weight(1f)
3032
.height(6.dp)
3133
.clip(RoundedCornerShape(ReedTheme.radius.full))
32-
.background(
33-
color = if (index <= currentStep.ordinal) {
34-
ReedTheme.colors.bgPrimary
35-
} else {
36-
ReedTheme.colors.bgDisabled
37-
},
38-
),
34+
.drawBehind { drawRect(bgColor) },
3935
)
4036
}
4137
}

core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/component/checkbox/CircleCheckBox.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.ninecraft.booket.core.designsystem.component.checkbox
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.border
54
import androidx.compose.foundation.layout.Box
65
import androidx.compose.foundation.layout.padding
@@ -14,6 +13,8 @@ import androidx.compose.runtime.remember
1413
import androidx.compose.runtime.setValue
1514
import androidx.compose.ui.Alignment
1615
import androidx.compose.ui.Modifier
16+
import androidx.compose.ui.draw.clip
17+
import androidx.compose.ui.draw.drawBehind
1718
import androidx.compose.ui.graphics.Color
1819
import androidx.compose.ui.graphics.vector.ImageVector
1920
import androidx.compose.ui.res.vectorResource
@@ -36,10 +37,8 @@ fun CircleCheckBox(
3637
Box(
3738
modifier = modifier
3839
.size(24.dp)
39-
.background(
40-
color = bgColor,
41-
shape = CircleShape,
42-
)
40+
.clip(CircleShape)
41+
.drawBehind { drawRect(bgColor) }
4342
.border(1.dp, borderColor, CircleShape)
4443
.noRippleClickable { onCheckedChange(!checked) }
4544
.padding(2.dp),

core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/component/checkbox/SquareCheckBox.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.ninecraft.booket.core.designsystem.component.checkbox
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.border
54
import androidx.compose.foundation.layout.Box
65
import androidx.compose.foundation.layout.padding
@@ -14,6 +13,8 @@ import androidx.compose.runtime.remember
1413
import androidx.compose.runtime.setValue
1514
import androidx.compose.ui.Alignment
1615
import androidx.compose.ui.Modifier
16+
import androidx.compose.ui.draw.clip
17+
import androidx.compose.ui.draw.drawBehind
1718
import androidx.compose.ui.graphics.Color
1819
import androidx.compose.ui.graphics.vector.ImageVector
1920
import androidx.compose.ui.res.vectorResource
@@ -36,10 +37,8 @@ fun SquareCheckBox(
3637
Box(
3738
modifier = modifier
3839
.size(24.dp)
39-
.background(
40-
color = bgColor,
41-
shape = RoundedCornerShape(ReedTheme.radius.xs),
42-
)
40+
.clip(RoundedCornerShape(ReedTheme.radius.xs))
41+
.drawBehind { drawRect(bgColor) }
4342
.border(1.dp, borderColor, RoundedCornerShape(ReedTheme.radius.xs))
4443
.noRippleClickable { onCheckedChange(!checked) }
4544
.padding(2.dp),

core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/component/textfield/ReedRecordTextField.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.ninecraft.booket.core.designsystem.component.textfield
22

33
import androidx.annotation.StringRes
44
import androidx.compose.foundation.BorderStroke
5-
import androidx.compose.foundation.background
65
import androidx.compose.foundation.border
76
import androidx.compose.foundation.clickable
87
import androidx.compose.foundation.layout.Box
@@ -26,6 +25,8 @@ import androidx.compose.runtime.Composable
2625
import androidx.compose.runtime.CompositionLocalProvider
2726
import androidx.compose.ui.Alignment
2827
import androidx.compose.ui.Modifier
28+
import androidx.compose.ui.draw.clip
29+
import androidx.compose.ui.draw.drawBehind
2930
import androidx.compose.ui.graphics.Color
3031
import androidx.compose.ui.graphics.vector.ImageVector
3132
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
@@ -80,7 +81,8 @@ fun ReedRecordTextField(
8081
decorator = { innerTextField ->
8182
Row(
8283
modifier = modifier
83-
.background(color = backgroundColor, shape = cornerShape)
84+
.clip(cornerShape)
85+
.drawBehind { drawRect(backgroundColor) }
8486
.border(
8587
border = if (isError) errorBorderStroke else borderStroke,
8688
shape = cornerShape,

core/designsystem/src/main/kotlin/com/ninecraft/booket/core/designsystem/component/textfield/ReedSearchTextField.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.ninecraft.booket.core.designsystem.component.textfield
22

33
import androidx.annotation.StringRes
44
import androidx.compose.foundation.BorderStroke
5-
import androidx.compose.foundation.background
65
import androidx.compose.foundation.border
76
import androidx.compose.foundation.clickable
87
import androidx.compose.foundation.layout.Box
@@ -25,6 +24,8 @@ import androidx.compose.runtime.Composable
2524
import androidx.compose.runtime.CompositionLocalProvider
2625
import androidx.compose.ui.Alignment
2726
import androidx.compose.ui.Modifier
27+
import androidx.compose.ui.draw.clip
28+
import androidx.compose.ui.draw.drawBehind
2829
import androidx.compose.ui.graphics.Color
2930
import androidx.compose.ui.graphics.vector.ImageVector
3031
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
@@ -77,7 +78,8 @@ fun ReedTextField(
7778
decorator = { innerTextField ->
7879
Row(
7980
modifier = modifier
80-
.background(color = backgroundColor, shape = cornerShape)
81+
.clip(cornerShape)
82+
.drawBehind { drawRect(backgroundColor) }
8183
.then(
8284
if (borderStroke != null) {
8385
Modifier.border(borderStroke, shape = cornerShape)

core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component/InfinityLazyColumn.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import androidx.compose.runtime.remember
3131
import androidx.compose.runtime.setValue
3232
import androidx.compose.ui.Alignment
3333
import androidx.compose.ui.Modifier
34+
import androidx.compose.ui.draw.clip
3435
import androidx.compose.ui.tooling.preview.Preview
3536
import androidx.compose.ui.unit.dp
3637
import com.ninecraft.booket.core.designsystem.theme.ReedTheme
@@ -139,10 +140,8 @@ private fun InfinityLazyColumnPreview() {
139140
modifier = Modifier
140141
.width(68.dp)
141142
.height(100.dp)
142-
.background(
143-
color = ReedTheme.colors.contentTertiary,
144-
shape = RoundedCornerShape(ReedTheme.radius.sm),
145-
),
143+
.clip(RoundedCornerShape(ReedTheme.radius.sm))
144+
.background(color = ReedTheme.colors.contentTertiary),
146145
)
147146
Spacer(Modifier.width(ReedTheme.spacing.spacing4))
148147
Column {

core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component/ReedDialog.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.material3.Text
1313
import androidx.compose.runtime.Composable
1414
import androidx.compose.ui.Alignment
1515
import androidx.compose.ui.Modifier
16+
import androidx.compose.ui.draw.clip
1617
import androidx.compose.ui.text.style.TextAlign
1718
import androidx.compose.ui.tooling.preview.Preview
1819
import androidx.compose.ui.window.Dialog
@@ -45,12 +46,8 @@ fun ReedDialog(
4546
modifier = modifier
4647
.fillMaxWidth()
4748
.padding(horizontal = ReedTheme.spacing.spacing5)
48-
.background(
49-
color = ReedTheme.colors.basePrimary,
50-
shape = RoundedCornerShape(
51-
ReedTheme.radius.lg,
52-
),
53-
)
49+
.clip(RoundedCornerShape(ReedTheme.radius.lg))
50+
.background(color = ReedTheme.colors.basePrimary)
5451
.padding(
5552
start = ReedTheme.spacing.spacing5,
5653
top = ReedTheme.spacing.spacing8,

core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component/ReedFullScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.ninecraft.booket.core.ui.component
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.clickable
54
import androidx.compose.foundation.interaction.MutableInteractionSource
65
import androidx.compose.foundation.layout.Column
@@ -10,6 +9,7 @@ import androidx.compose.foundation.layout.systemBarsPadding
109
import androidx.compose.runtime.Composable
1110
import androidx.compose.runtime.remember
1211
import androidx.compose.ui.Modifier
12+
import androidx.compose.ui.draw.drawBehind
1313
import androidx.compose.ui.graphics.Color
1414
import androidx.compose.ui.platform.LocalFocusManager
1515
import com.ninecraft.booket.core.designsystem.theme.White
@@ -31,7 +31,7 @@ fun ReedFullScreen(
3131
Column(
3232
modifier = modifier
3333
.fillMaxSize()
34-
.background(backgroundColor)
34+
.drawBehind { drawRect(backgroundColor) }
3535
.systemBarsPadding()
3636
.clickable(
3737
indication = null,

core/ui/src/main/kotlin/com/ninecraft/booket/core/ui/component/ReedTopAppBar.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.ninecraft.booket.core.ui.component
22

33
import androidx.annotation.DrawableRes
4-
import androidx.compose.foundation.background
54
import androidx.compose.foundation.layout.Arrangement
65
import androidx.compose.foundation.layout.Row
76
import androidx.compose.foundation.layout.Spacer
@@ -15,6 +14,7 @@ import androidx.compose.material3.Text
1514
import androidx.compose.runtime.Composable
1615
import androidx.compose.ui.Alignment
1716
import androidx.compose.ui.Modifier
17+
import androidx.compose.ui.draw.drawBehind
1818
import androidx.compose.ui.graphics.Color
1919
import androidx.compose.ui.res.painterResource
2020
import androidx.compose.ui.text.style.TextAlign
@@ -37,11 +37,13 @@ fun ReedTopAppBar(
3737
endIconDescription: String = "",
3838
endIconOnClick: () -> Unit = {},
3939
) {
40+
val bgColor = if (isDark) Neutral950 else White
41+
4042
Row(
4143
modifier = modifier
4244
.fillMaxWidth()
4345
.height(60.dp)
44-
.background(color = if (isDark) Neutral950 else White)
46+
.drawBehind { drawRect(bgColor) }
4547
.padding(horizontal = ReedTheme.spacing.spacing2),
4648
horizontalArrangement = Arrangement.Start,
4749
verticalAlignment = Alignment.CenterVertically,

0 commit comments

Comments
 (0)