|
17 | 17 | package com.example.jetnews.ui.interests
|
18 | 18 |
|
19 | 19 | import androidx.compose.Composable
|
| 20 | +import androidx.compose.Pivotal |
20 | 21 | import androidx.ui.core.Modifier
|
21 |
| -import androidx.ui.foundation.Box |
22 | 22 | import androidx.ui.foundation.Icon
|
23 | 23 | import androidx.ui.foundation.shape.corner.CircleShape
|
24 | 24 | import androidx.ui.layout.padding
|
25 | 25 | import androidx.ui.layout.preferredSize
|
| 26 | +import androidx.ui.material.EmphasisAmbient |
26 | 27 | import androidx.ui.material.MaterialTheme
|
27 |
| -import androidx.ui.res.vectorResource |
| 28 | +import androidx.ui.material.ProvideEmphasis |
| 29 | +import androidx.ui.material.Surface |
| 30 | +import androidx.ui.material.icons.Icons |
| 31 | +import androidx.ui.material.icons.filled.Add |
| 32 | +import androidx.ui.material.icons.filled.Done |
28 | 33 | import androidx.ui.tooling.preview.Preview
|
29 | 34 | import androidx.ui.unit.dp
|
30 |
| -import com.example.jetnews.R |
31 | 35 | import com.example.jetnews.ui.ThemedPreview
|
32 | 36 |
|
33 | 37 | @Composable
|
34 | 38 | fun SelectTopicButton(
|
35 | 39 | modifier: Modifier = Modifier,
|
36 |
| - selected: Boolean = false |
| 40 | + @Pivotal selected: Boolean = false |
37 | 41 | ) {
|
38 |
| - if (selected) { |
39 |
| - SelectTopicButtonOn(modifier.preferredSize(36.dp, 36.dp)) |
| 42 | + val icon = if (selected) Icons.Filled.Done else Icons.Filled.Add |
| 43 | + val backgroundColor = if (selected) { |
| 44 | + MaterialTheme.colors.primary |
40 | 45 | } else {
|
41 |
| - SelectTopicButtonOff(modifier.preferredSize(36.dp, 36.dp)) |
| 46 | + MaterialTheme.colors.onSurface.copy(alpha = 0.12f) |
42 | 47 | }
|
43 |
| -} |
44 |
| - |
45 |
| -@Composable |
46 |
| -private fun SelectTopicButtonOn(modifier: Modifier = Modifier) { |
47 |
| - Box( |
48 |
| - backgroundColor = MaterialTheme.colors.primary, |
49 |
| - shape = CircleShape, |
50 |
| - modifier = modifier |
51 |
| - ) { |
52 |
| - Icon( |
53 |
| - asset = vectorResource(R.drawable.ic_check), |
54 |
| - tint = MaterialTheme.colors.onPrimary |
55 |
| - ) |
56 |
| - } |
57 |
| -} |
58 |
| - |
59 |
| -@Composable |
60 |
| -private fun SelectTopicButtonOff(modifier: Modifier = Modifier) { |
61 |
| - val borderColor = MaterialTheme.colors.onSurface.copy(alpha = 0.12f) |
62 |
| - Box( |
63 |
| - backgroundColor = borderColor, |
| 48 | + Surface( |
| 49 | + color = backgroundColor, |
64 | 50 | shape = CircleShape,
|
65 |
| - modifier = modifier |
| 51 | + modifier = modifier.preferredSize(36.dp, 36.dp) |
66 | 52 | ) {
|
67 |
| - Icon(vectorResource(R.drawable.ic_add)) |
| 53 | + ProvideEmphasis(EmphasisAmbient.current.high) { |
| 54 | + Icon(icon) |
| 55 | + } |
68 | 56 | }
|
69 | 57 | }
|
70 | 58 |
|
|
0 commit comments