SuperButton
This commit is contained in:
parent
d1e04d510f
commit
aaa7e976b8
1 changed files with 8 additions and 20 deletions
|
|
@ -36,10 +36,7 @@ import androidx.compose.ui.graphics.ShaderBrush
|
||||||
import androidx.compose.ui.graphics.Shape
|
import androidx.compose.ui.graphics.Shape
|
||||||
import androidx.compose.ui.graphics.graphicsLayer
|
import androidx.compose.ui.graphics.graphicsLayer
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.annotations.CoreColorToken
|
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.compound.tokens.generated.internal.DarkColorTokens
|
|
||||||
import io.element.android.compound.tokens.generated.internal.LightColorTokens
|
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.LocalBuildMeta
|
import io.element.android.libraries.designsystem.theme.LocalBuildMeta
|
||||||
|
|
@ -47,7 +44,6 @@ import io.element.android.libraries.designsystem.theme.components.ButtonSize
|
||||||
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
|
import io.element.android.libraries.designsystem.theme.components.HorizontalDivider
|
||||||
import io.element.android.libraries.designsystem.theme.components.lowHorizontalPaddingValue
|
import io.element.android.libraries.designsystem.theme.components.lowHorizontalPaddingValue
|
||||||
|
|
||||||
@OptIn(CoreColorToken::class)
|
|
||||||
@Composable
|
@Composable
|
||||||
fun SuperButton(
|
fun SuperButton(
|
||||||
onClick: () -> Unit,
|
onClick: () -> Unit,
|
||||||
|
|
@ -66,34 +62,26 @@ fun SuperButton(
|
||||||
ButtonSize.Small -> PaddingValues(horizontal = 16.dp, vertical = 5.dp)
|
ButtonSize.Small -> PaddingValues(horizontal = 16.dp, vertical = 5.dp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val isLightTheme = ElementTheme.isLightTheme
|
|
||||||
val colors = if (LocalBuildMeta.current.isEnterpriseBuild) {
|
val colors = if (LocalBuildMeta.current.isEnterpriseBuild) {
|
||||||
listOf(
|
listOf(
|
||||||
ElementTheme.colors.textActionAccent,
|
ElementTheme.colors.textActionAccent,
|
||||||
ElementTheme.colors.textActionAccent,
|
ElementTheme.colors.textActionAccent,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
remember(isLightTheme) {
|
listOf(
|
||||||
if (isLightTheme) {
|
ElementTheme.colors.gradientActionStop1,
|
||||||
listOf(
|
ElementTheme.colors.gradientActionStop2,
|
||||||
LightColorTokens.colorBlue900,
|
ElementTheme.colors.gradientActionStop3,
|
||||||
LightColorTokens.colorGreen1100,
|
ElementTheme.colors.gradientActionStop4,
|
||||||
)
|
)
|
||||||
} else {
|
|
||||||
listOf(
|
|
||||||
DarkColorTokens.colorBlue900,
|
|
||||||
DarkColorTokens.colorGreen1100,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val shaderBrush = remember(colors) {
|
val shaderBrush = remember(colors) {
|
||||||
object : ShaderBrush() {
|
object : ShaderBrush() {
|
||||||
override fun createShader(size: Size): Shader {
|
override fun createShader(size: Size): Shader {
|
||||||
return LinearGradientShader(
|
return LinearGradientShader(
|
||||||
from = Offset(0f, size.height),
|
from = Offset(0f, 0f),
|
||||||
to = Offset(size.width, 0f),
|
to = Offset(0f, size.height),
|
||||||
colors = colors,
|
colors = colors,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue