Skip to content

Commit

Permalink
refactor(DynamicDashboard): Use MyKSuiteTextItem for quotas also
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 19, 2025
1 parent 3fca939 commit 5023452
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ private fun SubscriptionInfoCard(
)
} else {
dashboardScreenData().trialExpiryDate?.let { expiryDate ->
MyKSuitePlusTextItem(
modifier = paddedModifier,
MyKSuiteTextItem(
modifier = paddedModifier.heightIn(min = Dimens.textItemMinHeight),
title = stringResource(R.string.myKSuiteDashboardTrialPeriod),
value = stringResource(R.string.myKSuiteDashboardUntil, expiryDate.format(FORMAT_DATE_SIMPLE)),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,42 @@
*/
package com.infomaniak.core.myksuite.ui.screens.components

import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.tooling.preview.Preview
import com.infomaniak.core.FORMAT_DATE_SIMPLE
import com.infomaniak.core.format
import com.infomaniak.core.myksuite.R
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.Typography
import java.util.Date

@Composable
internal fun MyKSuitePlusTextItem(modifier: Modifier = Modifier, title: String, value: String) {
internal fun MyKSuiteTextItem(
modifier: Modifier = Modifier,
title: String,
value: String,
valueStyle: TextStyle = Typography.bodyRegular,
) {
val localColors = LocalMyKSuiteColors.current
Row(
modifier = modifier
.heightIn(min = Dimens.textItemMinHeight)
.fillMaxWidth(),
modifier = modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically,
) {
Text(text = title)
Text(text = value, color = LocalMyKSuiteColors.current.secondaryTextColor)
Text(text = title, color = localColors.primaryTextColor)
Text(text = value, color = localColors.secondaryTextColor, style = valueStyle)
}
}

Expand All @@ -53,7 +61,7 @@ internal fun MyKSuitePlusTextItem(modifier: Modifier = Modifier, title: String,
private fun Preview() {
MyKSuiteTheme {
Surface {
MyKSuitePlusTextItem(
MyKSuiteTextItem(
modifier = Modifier.padding(horizontal = Margin.Medium),
title = stringResource(R.string.myKSuiteDashboardTrialPeriod),
value = stringResource(R.string.myKSuiteDashboardUntil, Date().format(FORMAT_DATE_SIMPLE)),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,14 @@ import android.os.Parcelable
import androidx.compose.foundation.layout.*
import androidx.compose.material3.LinearProgressIndicator
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.res.stringResource
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.MyKSuiteTier
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
Expand All @@ -51,28 +48,16 @@ internal fun ProductsStorageQuotas(
}

@Composable
private fun ProductStorageQuota(
modifier: Modifier = Modifier,
myKSuiteTier: MyKSuiteTier,
product: KSuiteProductsWithQuotas,
) {
private fun ProductStorageQuota(myKSuiteTier: MyKSuiteTier, product: KSuiteProductsWithQuotas) {
val localColors = LocalMyKSuiteColors.current
val isUnlimitedMail = myKSuiteTier == MyKSuiteTier.Plus && product is KSuiteProductsWithQuotas.Mail

Column(modifier) {
Row(verticalAlignment = Alignment.CenterVertically) {
Text(
text = product.displayName,
style = Typography.bodyRegular,
color = localColors.primaryTextColor,
)
WeightOneSpacer(minWidth = Margin.Medium)
Text(
text = computeQuotasString(isUnlimitedMail, product),
style = Typography.bodySmallRegular,
color = localColors.secondaryTextColor,
)
}
Column {
MyKSuiteTextItem(
title = product.displayName,
value = computeQuotasString(isUnlimitedMail, product),
valueStyle = Typography.bodySmallRegular,
)

if (!isUnlimitedMail) {
Spacer(Modifier.height(Margin.Mini))
Expand Down

0 comments on commit 5023452

Please sign in to comment.