Skip to content

Commit 933263e

Browse files
committed
Remove unnecessary Box wrapping.
1 parent 9b73dcd commit 933263e

File tree

2 files changed

+92
-96
lines changed

2 files changed

+92
-96
lines changed

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/GradientFloatingActionButton.kt

Lines changed: 41 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -59,56 +59,54 @@ fun GradientFloatingActionButton(
5959
shape: Shape = RoundedCornerShape(25),
6060
content: @Composable () -> Unit,
6161
) {
62-
Box {
63-
val linearShaderBrush = remember {
64-
object : ShaderBrush() {
65-
override fun createShader(size: Size): Shader {
66-
return LinearGradientShader(
67-
from = Offset(size.width, size.height),
68-
to = Offset(size.width, 0f),
69-
colors = listOf(
70-
LightColorTokens.colorBlue900,
71-
LightColorTokens.colorGreen700,
72-
),
73-
)
74-
}
62+
val linearShaderBrush = remember {
63+
object : ShaderBrush() {
64+
override fun createShader(size: Size): Shader {
65+
return LinearGradientShader(
66+
from = Offset(size.width, size.height),
67+
to = Offset(size.width, 0f),
68+
colors = listOf(
69+
LightColorTokens.colorBlue900,
70+
LightColorTokens.colorGreen700,
71+
),
72+
)
7573
}
7674
}
77-
val radialShaderBrush = remember {
78-
object : ShaderBrush() {
79-
override fun createShader(size: Size): Shader {
80-
return RadialGradientShader(
81-
center = size.center,
82-
radius = size.width / 2,
83-
colors = listOf(
84-
LightColorTokens.colorGreen700,
85-
LightColorTokens.colorBlue900,
86-
)
75+
}
76+
val radialShaderBrush = remember {
77+
object : ShaderBrush() {
78+
override fun createShader(size: Size): Shader {
79+
return RadialGradientShader(
80+
center = size.center,
81+
radius = size.width / 2,
82+
colors = listOf(
83+
LightColorTokens.colorGreen700,
84+
LightColorTokens.colorBlue900,
8785
)
88-
}
86+
)
8987
}
9088
}
89+
}
9190

92-
Box(
93-
modifier = modifier
94-
.minimumInteractiveComponentSize()
95-
.graphicsLayer(shape = shape, clip = false)
96-
.clip(shape)
97-
.drawBehind {
98-
drawRect(brush = radialShaderBrush, alpha = 0.4f)
99-
drawRect(brush = linearShaderBrush)
100-
}
101-
.clickable(
102-
enabled = true,
103-
onClick = onClick,
104-
interactionSource = remember { MutableInteractionSource() },
105-
indication = rememberRipple(color = Color.White)
106-
),
107-
contentAlignment = Alignment.Center
108-
) {
109-
CompositionLocalProvider(LocalContentColor provides Color.White) {
110-
content()
91+
Box(
92+
modifier = modifier
93+
.minimumInteractiveComponentSize()
94+
.graphicsLayer(shape = shape, clip = false)
95+
.clip(shape)
96+
.drawBehind {
97+
drawRect(brush = radialShaderBrush, alpha = 0.4f)
98+
drawRect(brush = linearShaderBrush)
11199
}
100+
.clickable(
101+
enabled = true,
102+
onClick = onClick,
103+
interactionSource = remember { MutableInteractionSource() },
104+
indication = rememberRipple(color = Color.White)
105+
),
106+
contentAlignment = Alignment.Center
107+
) {
108+
CompositionLocalProvider(LocalContentColor provides Color.White) {
109+
content()
112110
}
113111
}
114112
}

libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/SuperButton.kt

Lines changed: 51 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -71,64 +71,62 @@ fun SuperButton(
7171
ButtonSize.Small -> PaddingValues(horizontal = 16.dp, vertical = 5.dp)
7272
}
7373
}
74-
Box {
75-
val isLightTheme = ElementTheme.isLightTheme
76-
val colors = remember(isLightTheme) {
77-
if (isLightTheme) {
78-
listOf(
79-
LightColorTokens.colorBlue900,
80-
LightColorTokens.colorGreen1100,
81-
)
82-
} else {
83-
listOf(
84-
DarkColorTokens.colorBlue900,
85-
DarkColorTokens.colorGreen1100,
86-
)
87-
}
74+
val isLightTheme = ElementTheme.isLightTheme
75+
val colors = remember(isLightTheme) {
76+
if (isLightTheme) {
77+
listOf(
78+
LightColorTokens.colorBlue900,
79+
LightColorTokens.colorGreen1100,
80+
)
81+
} else {
82+
listOf(
83+
DarkColorTokens.colorBlue900,
84+
DarkColorTokens.colorGreen1100,
85+
)
8886
}
87+
}
8988

90-
val shaderBrush = remember(colors) {
91-
object : ShaderBrush() {
92-
override fun createShader(size: Size): Shader {
93-
return LinearGradientShader(
94-
from = Offset(0f, size.height),
95-
to = Offset(size.width, 0f),
96-
colors = colors,
97-
)
98-
}
89+
val shaderBrush = remember(colors) {
90+
object : ShaderBrush() {
91+
override fun createShader(size: Size): Shader {
92+
return LinearGradientShader(
93+
from = Offset(0f, size.height),
94+
to = Offset(size.width, 0f),
95+
colors = colors,
96+
)
9997
}
10098
}
101-
val border = if (enabled) {
102-
BorderStroke(1.dp, shaderBrush)
103-
} else {
104-
BorderStroke(1.dp, ElementTheme.colors.borderDisabled)
105-
}
106-
val backgroundColor = ElementTheme.colors.bgCanvasDefault
107-
Box(
108-
modifier = modifier
109-
.minimumInteractiveComponentSize()
110-
.graphicsLayer(shape = shape, clip = false)
111-
.clip(shape)
112-
.border(border, shape)
113-
.drawBehind {
114-
drawRect(backgroundColor)
115-
drawRect(brush = shaderBrush, alpha = 0.04f)
116-
}
117-
.clickable(
118-
enabled = enabled,
119-
onClick = onClick,
120-
interactionSource = remember { MutableInteractionSource() },
121-
indication = rememberRipple()
122-
)
123-
.padding(contentPadding),
124-
contentAlignment = Alignment.Center
125-
) {
126-
CompositionLocalProvider(
127-
LocalContentColor provides if (enabled) ElementTheme.colors.textPrimary else ElementTheme.colors.textDisabled,
128-
LocalTextStyle provides ElementTheme.typography.fontBodyLgMedium,
129-
) {
130-
content()
99+
}
100+
val border = if (enabled) {
101+
BorderStroke(1.dp, shaderBrush)
102+
} else {
103+
BorderStroke(1.dp, ElementTheme.colors.borderDisabled)
104+
}
105+
val backgroundColor = ElementTheme.colors.bgCanvasDefault
106+
Box(
107+
modifier = modifier
108+
.minimumInteractiveComponentSize()
109+
.graphicsLayer(shape = shape, clip = false)
110+
.clip(shape)
111+
.border(border, shape)
112+
.drawBehind {
113+
drawRect(backgroundColor)
114+
drawRect(brush = shaderBrush, alpha = 0.04f)
131115
}
116+
.clickable(
117+
enabled = enabled,
118+
onClick = onClick,
119+
interactionSource = remember { MutableInteractionSource() },
120+
indication = rememberRipple()
121+
)
122+
.padding(contentPadding),
123+
contentAlignment = Alignment.Center
124+
) {
125+
CompositionLocalProvider(
126+
LocalContentColor provides if (enabled) ElementTheme.colors.textPrimary else ElementTheme.colors.textDisabled,
127+
LocalTextStyle provides ElementTheme.typography.fontBodyLgMedium,
128+
) {
129+
content()
132130
}
133131
}
134132
}

0 commit comments

Comments
 (0)