41 lines
1.3 KiB
Kotlin
41 lines
1.3 KiB
Kotlin
package com.jetpackduba.gitnuro.ui.components
|
|
|
|
import androidx.compose.foundation.background
|
|
import androidx.compose.foundation.layout.Box
|
|
import androidx.compose.foundation.layout.padding
|
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
|
import androidx.compose.material.MaterialTheme
|
|
import androidx.compose.material.Text
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.draw.clip
|
|
import androidx.compose.ui.graphics.Color
|
|
import androidx.compose.ui.unit.dp
|
|
import com.jetpackduba.gitnuro.extensions.handMouseClickable
|
|
|
|
|
|
@Composable
|
|
fun PrimaryButton(
|
|
modifier: Modifier = Modifier,
|
|
text: String,
|
|
enabled: Boolean = true,
|
|
backgroundColor: Color = MaterialTheme.colors.primary,
|
|
textColor: Color = MaterialTheme.colors.onPrimary,
|
|
disabledTextColor: Color = MaterialTheme.colors.onBackground,
|
|
onClick: () -> Unit,
|
|
) {
|
|
Box(
|
|
modifier = modifier
|
|
.clip(RoundedCornerShape(4.dp))
|
|
.background(backgroundColor)
|
|
.handMouseClickable {
|
|
onClick()
|
|
},
|
|
) {
|
|
Text(
|
|
text,
|
|
modifier = Modifier.padding(horizontal = 12.dp, vertical = 6.dp),
|
|
color = if (enabled) textColor else disabledTextColor
|
|
)
|
|
}
|
|
} |