Skip to content

Commit

Permalink
refactor(MyKSuiteTheme): Delete object MyKSuiteTheme
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 5, 2025
1 parent 27f6479 commit a55c115
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.tooling.preview.Preview
import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme

Expand All @@ -42,7 +43,7 @@ fun MyKSuiteChip(modifier: Modifier = Modifier, tier: MyKSuiteTier) {
Image(
modifier = modifier
.background(
color = MyKSuiteTheme.colors.chipBackground,
color = LocalMyKSuiteColors.current.chipBackground,
shape = CircleShape,
)
.padding(horizontal = Margin.Mini, vertical = Margin.Micro),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,9 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.components.*
import com.infomaniak.core.myksuite.ui.components.MyKSuitePrimaryButton
import com.infomaniak.core.myksuite.ui.components.myKSuiteGradient
import com.infomaniak.core.myksuite.ui.screens.components.*
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.*
import com.infomaniak.core.myksuite.ui.theme.Typography

@Composable
fun MyKSuiteDashboardScreen(
Expand All @@ -53,7 +49,7 @@ fun MyKSuiteDashboardScreen(
MyKSuiteTheme {
Scaffold(
topBar = { TopAppBar(onClose) },
containerColor = MyKSuiteTheme.colors.onPrimaryButton,
containerColor = LocalMyKSuiteColors.current.onPrimaryButton,
) { paddingValues ->
Box(
Modifier
Expand Down Expand Up @@ -83,6 +79,7 @@ fun MyKSuiteDashboardScreen(
@Composable
private fun TopAppBar(onClose: () -> Unit) {
val localColors = LocalMyKSuiteColors.current

CenterAlignedTopAppBar(
colors = TopAppBarDefaults.topAppBarColors(
containerColor = localColors.topAppBarBackground,
Expand All @@ -100,7 +97,7 @@ private fun TopAppBar(onClose: () -> Unit) {
title = {
Text(
text = stringResource(R.string.myKSuiteDashboardTitle),
style = MyKSuiteTheme.typography.h2,
style = Typography.h2,
)
}
)
Expand All @@ -113,12 +110,14 @@ private fun SubscriptionInfoCard(
userName: String,
dailySendingLimit: String,
) {
val localColors = LocalMyKSuiteColors.current

Card(
modifier = paddedModifier.padding(top = Margin.Medium),
shape = RoundedCornerShape(Dimens.largeCornerRadius),
colors = CardDefaults.cardColors(containerColor = MyKSuiteTheme.colors.background),
colors = CardDefaults.cardColors(containerColor = localColors.background),
elevation = CardDefaults.elevatedCardElevation(defaultElevation = Dimens.cardElevation),
border = if (isSystemInDarkTheme()) BorderStroke(1.dp, MyKSuiteTheme.colors.cardBorderColor) else null,
border = if (isSystemInDarkTheme()) BorderStroke(1.dp, localColors.cardBorderColor) else null,
) {
Row(
modifier = paddedModifier.padding(top = Margin.Medium),
Expand All @@ -128,8 +127,8 @@ private fun SubscriptionInfoCard(
UserAvatar(avatarUri)
Text(
modifier = Modifier.weight(1.0f),
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.bodyRegular,
color = localColors.primaryTextColor,
text = userName,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
Expand Down Expand Up @@ -159,6 +158,8 @@ private fun PaddedDivider(modifier: Modifier) {
// TODO: Add this when we'll have in-app payments
@Composable
private fun MyKSuitePlusPromotionCard(modifier: Modifier = Modifier, onButtonClicked: () -> Unit) {
val localColors = LocalMyKSuiteColors.current

Card(
modifier = modifier,
shape = RoundedCornerShape(Dimens.largeCornerRadius),
Expand All @@ -177,22 +178,21 @@ private fun MyKSuitePlusPromotionCard(modifier: Modifier = Modifier, onButtonCli
WeightOneSpacer(minWidth = Margin.Large)
Text(
text = stringResource(R.string.myKSuiteDashboardFreeTrialTitle),
style = MyKSuiteTheme.typography.labelMedium,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.labelMedium,
color = localColors.primaryTextColor,
modifier = Modifier
.background(
color = MyKSuiteTheme.colors.secondaryBackground,
color = localColors.secondaryBackground,
shape = RoundedCornerShape(Dimens.largeCornerRadius),
)
.padding(horizontal = Margin.Mini, vertical = Margin.Micro),
)
}
Text(
text = stringResource(R.string.myKSuiteDashboardFreeTrialDescription),
style = MyKSuiteTheme.typography.bodySmallRegular,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.bodySmallRegular,
color = localColors.primaryTextColor,
)
val localColors = LocalMyKSuiteColors.current
MyKSuitePrimaryButton(
modifier = Modifier.fillMaxWidth(),
text = stringResource(R.string.myKSuiteDashboardFreeTrialButton),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,8 @@ import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.components.MyKSuitePrimaryButton
import com.infomaniak.core.myksuite.ui.screens.components.ButtonType
import com.infomaniak.core.myksuite.ui.screens.components.UpgradeFeature
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.*
import com.infomaniak.core.myksuite.ui.theme.Typography

@OptIn(ExperimentalMaterial3Api::class)
@Composable
Expand All @@ -62,6 +61,8 @@ private fun UpgradeBottomSheetContent(
style: ButtonType,
onButtonClicked: () -> Unit,
) {
val localColors = LocalMyKSuiteColors.current

Column(
modifier = Modifier
.fillMaxWidth()
Expand All @@ -80,23 +81,23 @@ private fun UpgradeBottomSheetContent(
modifier = paddedModifier,
text = stringResource(R.string.myKSuiteUpgradeTitle),
textAlign = TextAlign.Center,
style = MyKSuiteTheme.typography.h2,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.h2,
color = localColors.primaryTextColor,
)
Spacer(Modifier.height(Margin.Medium))
Text(
modifier = paddedModifier,
text = stringResource(R.string.myKSuiteUpgradeDescription),
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.secondaryTextColor,
style = Typography.bodyRegular,
color = localColors.secondaryTextColor,
)
Spacer(Modifier.height(Margin.Medium))
UpgradeFeatures(customFeatures, paddedModifier)
Text(
modifier = paddedModifier,
text = stringResource(R.string.myKSuiteUpgradeDetails),
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.secondaryTextColor,
style = Typography.bodyRegular,
color = localColors.secondaryTextColor,
)
Spacer(Modifier.height(Margin.Huge))
MyKSuitePrimaryButton(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.infomaniak.core.myksuite.ui.components.WeightOneSpacer
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.Typography

@Composable
fun AppStorageQuotas(modifier: Modifier) {
Expand All @@ -42,18 +44,19 @@ fun AppStorageQuotas(modifier: Modifier) {

@Composable
private fun AppStorageQuota(modifier: Modifier = Modifier, app: KSuiteApp) {
val localColors = LocalMyKSuiteColors.current
Column(modifier) {
Row(verticalAlignment = Alignment.CenterVertically) {
Text(
text = app.displayName,
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.bodyRegular,
color = localColors.primaryTextColor,
)
WeightOneSpacer(minWidth = Margin.Medium)
Text(
text = "0.2 Go / 20 Go", // TODO: Use real data
style = MyKSuiteTheme.typography.bodySmallRegular,
color = MyKSuiteTheme.colors.secondaryTextColor,
style = Typography.bodySmallRegular,
color = localColors.secondaryTextColor,
)
}
Spacer(Modifier.height(Margin.Mini))
Expand All @@ -63,7 +66,7 @@ private fun AppStorageQuota(modifier: Modifier = Modifier, app: KSuiteApp) {
.height(progressIndicatorHeight)
.fillMaxWidth(),
color = app.color(),
trackColor = MyKSuiteTheme.colors.chipBackground,
trackColor = localColors.chipBackground,
strokeCap = StrokeCap.Round,
gapSize = -progressIndicatorHeight,
progress = { 0.5f }, // TODO: Use real values
Expand All @@ -73,7 +76,7 @@ private fun AppStorageQuota(modifier: Modifier = Modifier, app: KSuiteApp) {
}

private enum class KSuiteApp(val displayName: String, val color: @Composable () -> Color) {
Mail("Mail", { MyKSuiteTheme.colors.mail }), Drive("kDrive", { MyKSuiteTheme.colors.drive })
Mail("Mail", { LocalMyKSuiteColors.current.mail }), Drive("kDrive", { LocalMyKSuiteColors.current.drive })
}

@Preview(name = "(1) Light")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,25 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.unit.dp
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors

enum class ButtonType(val colors: @Composable () -> MyKSuiteButtonColors, val shape: Shape) {
Mail(
colors = {
val localColors = LocalMyKSuiteColors.current
MyKSuiteButtonColors(
containerColor = MyKSuiteTheme.colors.mailButton,
contentColor = MyKSuiteTheme.colors.onMailButton,
containerColor = localColors.mailButton,
contentColor = localColors.onMailButton,
)
},
shape = RoundedCornerShape(Dimens.largeCornerRadius),
),
Drive(
colors = {
val localColors = LocalMyKSuiteColors.current
MyKSuiteButtonColors(
containerColor = MyKSuiteTheme.colors.primaryButton,
contentColor = MyKSuiteTheme.colors.onPrimaryButton,
containerColor = localColors.primaryButton,
contentColor = localColors.onPrimaryButton,
)
},
shape = RoundedCornerShape(10.dp),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,7 @@ import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.*

@Composable
fun ExpendableActionItem(
Expand All @@ -48,6 +46,8 @@ fun ExpendableActionItem(

var isExpanded by remember { mutableStateOf(false) }

val localColors = LocalMyKSuiteColors.current

Column {
Row(
modifier = Modifier
Expand All @@ -64,20 +64,20 @@ fun ExpendableActionItem(
modifier = Modifier.size(Dimens.smallIconSize),
imageVector = ImageVector.vectorResource(iconRes),
contentDescription = null,
tint = MyKSuiteTheme.colors.iconColor,
tint = localColors.iconColor,
)
Text(
modifier = Modifier.weight(1.0f),
text = stringResource(textRes),
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.primaryTextColor,
style = Typography.bodyRegular,
color = localColors.primaryTextColor,
)
expendedView?.let {
val icon = ImageVector.vectorResource(if (isExpanded) R.drawable.ic_chevron_up else R.drawable.ic_chevron_down)
Icon(
imageVector = icon,
contentDescription = null, // TODO
tint = MyKSuiteTheme.colors.iconColor,
tint = localColors.iconColor,
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.Typography

@Composable
fun LimitedFunctionalities(paddedModifier: Modifier, dailySendingLimit: String) {
Expand All @@ -43,7 +45,7 @@ fun LimitedFunctionalities(paddedModifier: Modifier, dailySendingLimit: String)
Text(
modifier = Modifier.padding(start = Margin.Mini),
text = dailySendingLimit,
style = MyKSuiteTheme.typography.bodySmallMedium,
style = Typography.bodySmallMedium,
)
}
LimitedFunctionalityLabel(textRes = R.string.myKSuiteDashboardFunctionalityCustomReminders)
Expand All @@ -55,8 +57,8 @@ private fun LimitedFunctionalityLabel(modifier: Modifier = Modifier, @StringRes
Text(
modifier = modifier.fillMaxWidth(0.9f),
text = stringResource(textRes),
style = MyKSuiteTheme.typography.bodySmallRegular,
color = MyKSuiteTheme.colors.secondaryTextColor,
style = Typography.bodySmallRegular,
color = LocalMyKSuiteColors.current.secondaryTextColor,
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,11 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.tooling.preview.Preview
import com.infomaniak.core.myksuite.ui.screens.MyKSuiteUpgradeFeatures
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.Margin
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme
import com.infomaniak.core.myksuite.ui.theme.*

@Composable
fun ColumnScope.UpgradeFeature(customFeature: MyKSuiteUpgradeFeatures, modifier: Modifier = Modifier) {
val localColors = LocalMyKSuiteColors.current
Row(
modifier = modifier
.padding(vertical = Margin.Mini)
Expand All @@ -47,13 +45,13 @@ fun ColumnScope.UpgradeFeature(customFeature: MyKSuiteUpgradeFeatures, modifier:
modifier = Modifier.size(Dimens.iconSize),
imageVector = ImageVector.vectorResource(customFeature.icon),
contentDescription = null,
tint = LocalMyKSuiteColors.current.secondaryTextColor,
tint = localColors.iconColor,
)
Spacer(Modifier.width(Margin.Mini))
Text(
text = stringResource(customFeature.title),
style = MyKSuiteTheme.typography.bodyRegular,
color = MyKSuiteTheme.colors.secondaryTextColor,
style = Typography.bodyRegular,
color = localColors.secondaryTextColor,
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import coil3.request.crossfade
import com.infomaniak.core.myksuite.R
import com.infomaniak.core.myksuite.ui.components.myKSuiteGradient
import com.infomaniak.core.myksuite.ui.theme.Dimens
import com.infomaniak.core.myksuite.ui.theme.LocalMyKSuiteColors
import com.infomaniak.core.myksuite.ui.theme.MyKSuiteTheme

@Composable
Expand Down Expand Up @@ -79,7 +80,7 @@ private fun DefaultAvatar() {
modifier = Modifier.size(Dimens.iconSize),
imageVector = ImageVector.vectorResource(R.drawable.ic_person),
contentDescription = null,
tint = MyKSuiteTheme.colors.iconColor,
tint = LocalMyKSuiteColors.current.iconColor,
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,6 @@ internal fun MyKSuiteTheme(
}
}

// TODO Remove this object and use Directly Typography and Color
internal object MyKSuiteTheme {
val typography = Typography
val colors: MyKSuiteColors
@Composable
get() = LocalMyKSuiteColors.current
}

@Immutable
internal data class MyKSuiteColors(
val primaryTextColor: Color = Color.Unspecified,
Expand Down

0 comments on commit a55c115

Please sign in to comment.