|
|
@ -32,33 +32,31 @@ import androidx.compose.ui.graphics.Color |
|
|
|
import androidx.compose.ui.graphics.vector.ImageVector |
|
|
|
import androidx.compose.ui.graphics.vector.ImageVector |
|
|
|
import androidx.compose.ui.res.vectorResource |
|
|
|
import androidx.compose.ui.res.vectorResource |
|
|
|
import androidx.compose.ui.unit.dp |
|
|
|
import androidx.compose.ui.unit.dp |
|
|
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight |
|
|
|
|
|
|
|
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.theme.components.Icon |
|
|
|
import io.element.android.libraries.designsystem.theme.components.Icon |
|
|
|
import io.element.android.libraries.designsystem.theme.iconSuccessPrimaryBackground |
|
|
|
import io.element.android.libraries.designsystem.theme.iconSuccessPrimaryBackground |
|
|
|
import io.element.android.libraries.designsystem.utils.CommonDrawables |
|
|
|
import io.element.android.libraries.designsystem.utils.CommonDrawables |
|
|
|
import io.element.android.libraries.theme.ElementTheme |
|
|
|
import io.element.android.libraries.theme.ElementTheme |
|
|
|
import io.element.android.libraries.theme.compound.generated.SemanticColors |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Composable |
|
|
|
@Composable |
|
|
|
internal fun FormattingOption( |
|
|
|
internal fun FormattingOption( |
|
|
|
state: FormattingOptionState, |
|
|
|
state: FormattingOptionState, |
|
|
|
onClick: () -> Unit, |
|
|
|
onClick: () -> Unit, |
|
|
|
imageVector: ImageVector, |
|
|
|
imageVector: ImageVector, |
|
|
|
contentDescription: String, |
|
|
|
contentDescription: String?, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
modifier: Modifier = Modifier, |
|
|
|
colors: SemanticColors = ElementTheme.colors, |
|
|
|
|
|
|
|
) { |
|
|
|
) { |
|
|
|
val backgroundColor = when (state) { |
|
|
|
val backgroundColor = when (state) { |
|
|
|
FormattingOptionState.Selected -> colors.iconSuccessPrimaryBackground |
|
|
|
FormattingOptionState.Selected -> ElementTheme.colors.iconSuccessPrimaryBackground |
|
|
|
FormattingOptionState.Default, |
|
|
|
FormattingOptionState.Default, |
|
|
|
FormattingOptionState.Disabled -> Color.Transparent |
|
|
|
FormattingOptionState.Disabled -> Color.Transparent |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
val foregroundColor = when (state) { |
|
|
|
val foregroundColor = when (state) { |
|
|
|
FormattingOptionState.Selected -> colors.iconSuccessPrimary |
|
|
|
FormattingOptionState.Selected -> ElementTheme.colors.iconSuccessPrimary |
|
|
|
FormattingOptionState.Default -> colors.iconSecondary |
|
|
|
FormattingOptionState.Default -> ElementTheme.colors.iconSecondary |
|
|
|
FormattingOptionState.Disabled -> colors.iconDisabled |
|
|
|
FormattingOptionState.Disabled -> ElementTheme.colors.iconDisabled |
|
|
|
} |
|
|
|
} |
|
|
|
Box( |
|
|
|
Box( |
|
|
|
modifier = modifier |
|
|
|
modifier = modifier |
|
|
@ -98,19 +96,19 @@ internal fun FormattingButtonPreview() = ElementPreview { |
|
|
|
state = FormattingOptionState.Default, |
|
|
|
state = FormattingOptionState.Default, |
|
|
|
onClick = { }, |
|
|
|
onClick = { }, |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_bold), |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_bold), |
|
|
|
contentDescription = "", |
|
|
|
contentDescription = null, |
|
|
|
) |
|
|
|
) |
|
|
|
FormattingOption( |
|
|
|
FormattingOption( |
|
|
|
state = FormattingOptionState.Selected, |
|
|
|
state = FormattingOptionState.Selected, |
|
|
|
onClick = { }, |
|
|
|
onClick = { }, |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_italic), |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_italic), |
|
|
|
contentDescription = "", |
|
|
|
contentDescription = null, |
|
|
|
) |
|
|
|
) |
|
|
|
FormattingOption( |
|
|
|
FormattingOption( |
|
|
|
state = FormattingOptionState.Disabled, |
|
|
|
state = FormattingOptionState.Disabled, |
|
|
|
onClick = { }, |
|
|
|
onClick = { }, |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_underline), |
|
|
|
imageVector = ImageVector.vectorResource(CommonDrawables.ic_underline), |
|
|
|
contentDescription = "", |
|
|
|
contentDescription = null, |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|