Skip to content

Commit c5a351e

Browse files
committed
refactor(ui): migrate tonal elevations of Material3 Cards
1 parent 13f3ad0 commit c5a351e

File tree

5 files changed

+28
-9
lines changed

5 files changed

+28
-9
lines changed

core/ui/mobile/src/main/kotlin/com/flixclusive/core/ui/mobile/component/provider/InstalledProviderCard.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.material3.HorizontalDivider
1313
import androidx.compose.material3.MaterialTheme
1414
import androidx.compose.material3.Surface
1515
import androidx.compose.material3.contentColorFor
16+
import androidx.compose.material3.surfaceColorAtElevation
1617
import androidx.compose.runtime.Composable
1718
import androidx.compose.runtime.getValue
1819
import androidx.compose.runtime.remember
@@ -43,11 +44,11 @@ fun InstalledProviderCard(
4344
displacementOffset != null
4445
}
4546

46-
val cardColor = MaterialTheme.colorScheme.surface
4747
val elevation = when {
4848
isBeingDragged && enabled && isDraggable -> 20.dp
4949
else -> 3.dp
5050
}
51+
val cardColor = MaterialTheme.colorScheme.surfaceColorAtElevation(elevation)
5152

5253
Box(
5354
modifier = Modifier
@@ -59,11 +60,9 @@ fun InstalledProviderCard(
5960
onClick = onClick,
6061
interactionSource = interactionSource,
6162
shape = MaterialTheme.shapes.medium,
62-
elevation = CardDefaults.cardElevation(
63-
defaultElevation = elevation
64-
),
63+
elevation = CardDefaults.cardElevation(defaultElevation = 20.dp),
6564
colors = CardDefaults.cardColors(
66-
containerColor = cardColor,
65+
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(elevation),
6766
contentColor = contentColorFor(
6867
backgroundColor = cardColor.copy(
6968
if (!enabled) 0.4F else 1F

core/ui/mobile/src/main/kotlin/com/flixclusive/core/ui/mobile/component/provider/ProviderCard.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ import androidx.compose.foundation.layout.height
77
import androidx.compose.foundation.layout.padding
88
import androidx.compose.foundation.layout.size
99
import androidx.compose.material3.Card
10+
import androidx.compose.material3.CardDefaults
1011
import androidx.compose.material3.CircularProgressIndicator
1112
import androidx.compose.material3.ElevatedButton
1213
import androidx.compose.material3.HorizontalDivider
1314
import androidx.compose.material3.LocalContentColor
1415
import androidx.compose.material3.MaterialTheme
1516
import androidx.compose.material3.Surface
1617
import androidx.compose.material3.Text
18+
import androidx.compose.material3.surfaceColorAtElevation
1719
import androidx.compose.runtime.Composable
1820
import androidx.compose.runtime.remember
1921
import androidx.compose.ui.Modifier
@@ -56,6 +58,9 @@ fun ProviderCard(
5658

5759
Card(
5860
shape = MaterialTheme.shapes.medium,
61+
colors = CardDefaults.cardColors(
62+
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(3.dp)
63+
),
5964
modifier = modifier
6065
.fillMaxWidth()
6166
) {

feature/mobile/provider-list/src/main/kotlin/com/flixclusive/feature/mobile/provider/component/CustomButton.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.compose.material3.ButtonDefaults
99
import androidx.compose.material3.Icon
1010
import androidx.compose.material3.MaterialTheme
1111
import androidx.compose.material3.Text
12+
import androidx.compose.material3.surfaceColorAtElevation
1213
import androidx.compose.runtime.Composable
1314
import androidx.compose.ui.Modifier
1415
import androidx.compose.ui.res.painterResource
@@ -25,10 +26,10 @@ internal fun CustomButton(
2526
Button(
2627
onClick = onClick,
2728
colors = ButtonDefaults.buttonColors(
28-
containerColor = MaterialTheme.colorScheme.surface,
29+
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(1.dp),
2930
contentColor = MaterialTheme.colorScheme.onSurface.onMediumEmphasis(0.8F)
3031
),
31-
elevation = ButtonDefaults.buttonElevation(defaultElevation = 1.dp),
32+
elevation = ButtonDefaults.buttonElevation(defaultElevation = 20.dp),
3233
contentPadding = PaddingValues(vertical = 15.dp),
3334
shape = MaterialTheme.shapes.small,
3435
modifier = modifier,

feature/mobile/repository-search/src/main/kotlin/com/flixclusive/feature/mobile/repository/search/component/AddRepositoryBar.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import androidx.compose.material3.OutlinedTextField
1818
import androidx.compose.material3.Surface
1919
import androidx.compose.material3.Text
2020
import androidx.compose.material3.TextFieldDefaults
21+
import androidx.compose.material3.surfaceColorAtElevation
2122
import androidx.compose.runtime.Composable
2223
import androidx.compose.runtime.MutableState
2324
import androidx.compose.runtime.getValue
@@ -44,8 +45,8 @@ import com.flixclusive.core.theme.FlixclusiveTheme
4445
import com.flixclusive.core.ui.common.util.createTextFieldValue
4546
import com.flixclusive.core.ui.common.util.onMediumEmphasis
4647
import com.flixclusive.feature.mobile.repository.search.util.parseGithubUrl
47-
import com.flixclusive.core.ui.common.R as UiCommonR
4848
import com.flixclusive.core.locale.R as LocaleR
49+
import com.flixclusive.core.ui.common.R as UiCommonR
4950

5051
@Composable
5152
internal fun AddRepositoryBar(
@@ -59,6 +60,9 @@ internal fun AddRepositoryBar(
5960
val keyboardController = LocalSoftwareKeyboardController.current
6061
val clipboardManager = LocalClipboardManager.current
6162

63+
val containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(3.dp)
64+
val focusedContainerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(5.dp)
65+
6266
var textFieldValue by remember {
6367
val text = clipboardManager.getText()
6468
?.text?.let(::parseGithubUrl)
@@ -103,6 +107,9 @@ internal fun AddRepositoryBar(
103107
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Go),
104108
shape = MaterialTheme.shapes.extraSmall,
105109
colors = TextFieldDefaults.colors(
110+
focusedContainerColor = focusedContainerColor,
111+
unfocusedContainerColor = containerColor,
112+
errorContainerColor = containerColor,
106113
disabledTextColor = Color.Transparent,
107114
focusedIndicatorColor = Color.Transparent,
108115
unfocusedIndicatorColor = Color.Transparent,

feature/mobile/repository-search/src/main/kotlin/com/flixclusive/feature/mobile/repository/search/component/RepositoryCard.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ import androidx.compose.foundation.layout.fillMaxWidth
1010
import androidx.compose.foundation.layout.padding
1111
import androidx.compose.foundation.layout.size
1212
import androidx.compose.material3.Card
13+
import androidx.compose.material3.CardDefaults
1314
import androidx.compose.material3.Icon
1415
import androidx.compose.material3.MaterialTheme
1516
import androidx.compose.material3.Surface
1617
import androidx.compose.material3.Text
18+
import androidx.compose.material3.surfaceColorAtElevation
1719
import androidx.compose.runtime.Composable
1820
import androidx.compose.runtime.remember
1921
import androidx.compose.ui.Alignment
@@ -28,9 +30,9 @@ import androidx.compose.ui.unit.sp
2830
import com.flixclusive.core.theme.FlixclusiveTheme
2931
import com.flixclusive.core.ui.mobile.component.ImageWithSmallPlaceholder
3032
import com.flixclusive.model.provider.Repository
33+
import com.flixclusive.core.locale.R as LocaleR
3134
import com.flixclusive.core.ui.common.R as UiCommonR
3235
import com.flixclusive.core.ui.mobile.R as UiMobileR
33-
import com.flixclusive.core.locale.R as LocaleR
3436

3537
@OptIn(ExperimentalFoundationApi::class)
3638
@Composable
@@ -48,9 +50,14 @@ internal fun RepositoryCard(
4850
else -> null
4951
}
5052
}
53+
5154
Card(
5255
shape = MaterialTheme.shapes.medium,
5356
border = border,
57+
colors = CardDefaults.cardColors(
58+
containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(6.dp)
59+
),
60+
elevation = CardDefaults.cardElevation(20.dp),
5461
modifier = modifier
5562
.fillMaxWidth()
5663
.combinedClickable(

0 commit comments

Comments
 (0)