Skip to content

Commit

Permalink
Add vietnamese translation, add new key string for some hardcode text… (
Browse files Browse the repository at this point in the history
#3095)

* Add vietnamese translation, add new key string for some hardcode text, remove redundant key, fix padding and text style

* Fix Detekt

* Fix detekt by using @Suppress
  • Loading branch information
isaacnguyen0809 committed Apr 6, 2024
1 parent 8700f83 commit 4d55e4d
Show file tree
Hide file tree
Showing 25 changed files with 702 additions and 152 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ private fun SelectTypeButton(
)

Text(
text = stringResource(R.string.selected),
text = stringResource(R.string.selected_text),
style = UI.typo.b2.style(
fontWeight = FontWeight.SemiBold,
color = textSelectedColor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ private fun BoxWithConstraintsScope.UI(

ProgressModal(
title = stringResource(R.string.confirm_account_change),
description = stringResource(R.string.account_change_recalculating),
description = stringResource(R.string.confirm_account_loan_change),
visible = waitModalVisible
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextRange
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.TextFieldValue
Expand All @@ -37,17 +39,18 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import com.ivy.design.l0_system.UI
import com.ivy.design.l0_system.colorAs
import com.ivy.design.l0_system.style
import com.ivy.design.utils.thenIf
import com.ivy.importdata.csvimport.flow.ImportProcessing
import com.ivy.importdata.csvimport.flow.ImportResultUI
import com.ivy.legacy.ivyWalletCtx
import com.ivy.design.utils.thenIf
import com.ivy.navigation.CSVScreen
import com.ivy.onboarding.viewmodel.OnboardingViewModel
import com.ivy.ui.R
import kotlin.math.abs

@Composable
fun CSVScreen(
screen: CSVScreen
screen: CSVScreen,
) {
val viewModel: CSVViewModel = viewModel()
val state = viewModel.uiState()
Expand Down Expand Up @@ -82,7 +85,7 @@ fun CSVScreen(
private fun ImportUI(
state: CSVState,
launchedFromOnboarding: Boolean,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit,
onEvent: (CSVEvent) -> Unit,
) {
LazyColumn(
modifier = Modifier
Expand All @@ -94,27 +97,26 @@ private fun ImportUI(
)
) {
item(key = "import_btn") {
Spacer8()
Spacer8()
ImportButton(
onFilePicked = {
onEvent(com.ivy.importdata.csv.CSVEvent.FilePicked(it))
onEvent(CSVEvent.FilePicked(it))
}
)
if (!launchedFromOnboarding) {
Spacer8()
Text(
text = """
!!!⚠️WARNING: Importing may duplicate transactions!!!
Duplicate transactions can NOT be easily deleted and you'll need to remove manually each one of them!
Reason: We can't parse transaction ids because Ivy Wallet works only with UUID and other apps don't.
If you're starting fresh, no worries - kindly ignore this message.
""".trimIndent(),
text = stringResource(R.string.warning_import_csv_file).trimIndent(),
style = UI.typo.c.colorAs(UI.colors.red),
fontWeight = FontWeight.Bold,
)
} else {
Spacer8()
Spacer8()
Text(
text = "Import a CSV file to continue.",
modifier = Modifier.padding(horizontal = 8.dp),
text = stringResource(R.string.import_a_csv_file_to_continue),
style = UI.typo.b2,
fontWeight = FontWeight.SemiBold,
)
Expand Down Expand Up @@ -152,7 +154,13 @@ private fun ImportButton(
}
}
) {
Text(text = "Import CSV")
Text(
text = stringResource(R.string.import_csv_file),
style = UI.typo.b2.style(
fontWeight = FontWeight.Bold,
color = Color.White
),
)
}
}

Expand All @@ -172,7 +180,7 @@ fun Spacer8(horizontal: Boolean = false) {
}

private fun LazyListScope.csvTable(
csv: List<CSVRow>
csv: List<CSVRow>,
) {
item {
Column(
Expand Down Expand Up @@ -209,7 +217,7 @@ private fun CSVRow(
private fun CSVCell(
text: String,
header: Boolean,
even: Boolean
even: Boolean,
) {
val medium = UI.colors.medium
Text(
Expand Down Expand Up @@ -315,7 +323,7 @@ fun LazyListScope.sectionDivider(text: String) {
fun LazyListScope.importantFields(
columns: CSVRow,
importantFields: ImportantFields,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit
onEvent: (CSVEvent) -> Unit,
) {
sectionDivider("Important")
mappingRow(
Expand All @@ -324,23 +332,23 @@ fun LazyListScope.importantFields(
status = importantFields.amountStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapAmount(
CSVEvent.MapAmount(
index,
name
)
)
},
metadataContent = { multiplier ->
AmountMetadata(multiplier = multiplier, onMetaChange = {
onEvent(com.ivy.importdata.csv.CSVEvent.AmountMultiplier(it))
onEvent(CSVEvent.AmountMultiplier(it))
})
}
)
mappingRow(
columns = columns,
mapping = importantFields.type,
status = importantFields.typeStatus,
onMapTo = { index, name -> onEvent(com.ivy.importdata.csv.CSVEvent.MapType(index, name)) },
onMapTo = { index, name -> onEvent(CSVEvent.MapType(index, name)) },
metadataContent = {
TypeMetadata(metadata = it, onEvent = onEvent)
}
Expand All @@ -349,7 +357,7 @@ fun LazyListScope.importantFields(
columns = columns,
mapping = importantFields.date,
status = importantFields.dateStatus,
onMapTo = { index, name -> onEvent(com.ivy.importdata.csv.CSVEvent.MapDate(index, name)) },
onMapTo = { index, name -> onEvent(CSVEvent.MapDate(index, name)) },
metadataContent = {
DateMetadataUI(metadata = it, onEvent = onEvent)
}
Expand All @@ -360,7 +368,7 @@ fun LazyListScope.importantFields(
status = importantFields.accountStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapAccount(
CSVEvent.MapAccount(
index,
name
)
Expand All @@ -373,7 +381,7 @@ fun LazyListScope.importantFields(
status = importantFields.accountCurrencyStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapAccountCurrency(
CSVEvent.MapAccountCurrency(
index,
name
)
Expand Down Expand Up @@ -430,10 +438,10 @@ private fun AmountMetadata(
@Composable
private fun TypeMetadata(
metadata: TrnTypeMetadata,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit
onEvent: (CSVEvent) -> Unit,
) {
val onTypeMetaEvent = { newMeta: TrnTypeMetadata ->
onEvent(com.ivy.importdata.csv.CSVEvent.TypeMetaChange(newMeta))
onEvent(CSVEvent.TypeMetaChange(newMeta))
}

LabelContainsField(
Expand Down Expand Up @@ -491,23 +499,23 @@ fun LabelContainsField(
@Composable
private fun DateMetadataUI(
metadata: DateMetadata,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit,
onEvent: (CSVEvent) -> Unit,
) {
Text(text = "Which is first in the format?")
Row {
EnabledButton(
enabled = metadata == DateMetadata.DateFirst,
text = "Date/Day (1,2,3...31)",
onClick = {
onEvent(com.ivy.importdata.csv.CSVEvent.DataMetaChange(DateMetadata.DateFirst))
onEvent(CSVEvent.DataMetaChange(DateMetadata.DateFirst))
}
)
Spacer8(horizontal = true)
EnabledButton(
enabled = metadata == DateMetadata.MonthFirst,
text = "Month (1,2..12 / Jan, Feb..Dec)",
onClick = {
onEvent(com.ivy.importdata.csv.CSVEvent.DataMetaChange(DateMetadata.MonthFirst))
onEvent(CSVEvent.DataMetaChange(DateMetadata.MonthFirst))
}
)
}
Expand Down Expand Up @@ -535,7 +543,7 @@ private fun EnabledButton(
fun LazyListScope.transferFields(
columns: CSVRow,
transferFields: TransferFields,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit
onEvent: (CSVEvent) -> Unit,
) {
sectionDivider("Transfer fields")
mappingRow(
Expand All @@ -544,7 +552,7 @@ fun LazyListScope.transferFields(
status = transferFields.toAccountStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapToAccount(
CSVEvent.MapToAccount(
index,
name
)
Expand All @@ -557,7 +565,7 @@ fun LazyListScope.transferFields(
status = transferFields.toAccountCurrencyStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapToAccountCurrency(
CSVEvent.MapToAccountCurrency(
index,
name
)
Expand All @@ -570,7 +578,7 @@ fun LazyListScope.transferFields(
status = transferFields.toAmountStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapToAmount(
CSVEvent.MapToAmount(
index,
name
)
Expand All @@ -580,7 +588,7 @@ fun LazyListScope.transferFields(
AmountMetadata(
multiplier = multiplier,
onMetaChange = {
onEvent(com.ivy.importdata.csv.CSVEvent.ToAmountMetaChange(it))
onEvent(CSVEvent.ToAmountMetaChange(it))
}
)
}
Expand All @@ -590,7 +598,7 @@ fun LazyListScope.transferFields(
fun LazyListScope.optionalFields(
columns: CSVRow,
optionalFields: OptionalFields,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit
onEvent: (CSVEvent) -> Unit,
) {
sectionDivider("Optional fields")
mappingRow(
Expand All @@ -599,7 +607,7 @@ fun LazyListScope.optionalFields(
status = optionalFields.categoryStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapCategory(
CSVEvent.MapCategory(
index,
name
)
Expand All @@ -610,15 +618,15 @@ fun LazyListScope.optionalFields(
columns = columns,
mapping = optionalFields.title,
status = optionalFields.titleStatus,
onMapTo = { index, name -> onEvent(com.ivy.importdata.csv.CSVEvent.MapTitle(index, name)) },
onMapTo = { index, name -> onEvent(CSVEvent.MapTitle(index, name)) },
)
mappingRow(
columns = columns,
mapping = optionalFields.description,
status = optionalFields.descriptionStatus,
onMapTo = { index, name ->
onEvent(
com.ivy.importdata.csv.CSVEvent.MapDescription(
CSVEvent.MapDescription(
index,
name
)
Expand All @@ -629,7 +637,7 @@ fun LazyListScope.optionalFields(

private fun LazyListScope.continueButton(
enabled: Boolean,
onEvent: (com.ivy.importdata.csv.CSVEvent) -> Unit
onEvent: (CSVEvent) -> Unit,
) {
item {
Spacer8()
Expand All @@ -640,10 +648,16 @@ private fun LazyListScope.continueButton(
.height(48.dp),
enabled = enabled,
onClick = {
onEvent(com.ivy.importdata.csv.CSVEvent.Continue)
onEvent(CSVEvent.Continue)
}
) {
Text(text = "Continue")
Text(
text = stringResource(R.string.import_csv_continue),
style = UI.typo.b2.style(
fontWeight = FontWeight.Bold,
color = Color.White
),
)
}
Spacer8()
Spacer8()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,15 @@ fun BoxWithConstraintsScope.ImportFrom(
nav.navigateTo(CSVScreen(launchedFromOnboarding))
}
) {
Text(text = "Manual CSV import")
Text(
text = stringResource(id = R.string.manual_csv_import),
style = UI.typo.b2.style(
fontWeight = FontWeight.Bold,
color = Color.White
)
)
}
Spacer(Modifier.height(16.dp))
}

item {
Expand Down Expand Up @@ -115,7 +122,7 @@ fun BoxWithConstraintsScope.ImportFrom(
@Composable
private fun ImportOption(
importType: ImportType,
onImportFrom: (ImportType) -> Unit
onImportFrom: (ImportType) -> Unit,
) {
Row(
modifier = Modifier
Expand Down
Loading

0 comments on commit 4d55e4d

Please sign in to comment.