diff --git a/i18n/src/main/res/values-de/strings.xml b/i18n/src/main/res/values-de/strings.xml index 840e4793..165ec4f4 100644 --- a/i18n/src/main/res/values-de/strings.xml +++ b/i18n/src/main/res/values-de/strings.xml @@ -378,7 +378,7 @@ Rahmenstärke Deckkraft Haftungsausschluss - Wechselkurse so wie sie einmal täglich von der Europäischen Zentralbank herausgegeben werden. Alle Angaben sind ohne Gewähr. Es wird keine Haftung für die hier dargestellten Informationen übernommen. + Wechselkurse so wie sie einmal täglich von der Europäischen Zentralbank herausgegeben werden. Alle Angaben sind ohne Gewähr. Es wird keine Haftung für die hier dargestellten Informationen übernommen.\n\nLetzte Aktualisierung: %1$s Alle anzeigen Hintergrund Standard diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml index 03911f30..77f7e27e 100644 --- a/i18n/src/main/res/values/strings.xml +++ b/i18n/src/main/res/values/strings.xml @@ -378,7 +378,7 @@ Stroke width Opacity Disclaimer - "Exchange rates as published once per day by the European Central Bank. All information is provided \"as is\" without any kind of guarantee. No liability is assumed for these information." + "Exchange rates as published once per day by the European Central Bank. All information is provided \"as is\" without any kind of guarantee. No liability is assumed for these information.\n\nLast update: %1$s" Show all Background Default diff --git a/ui/src/main/java/de/mm20/launcher2/ui/search/UnitConverterItem.kt b/ui/src/main/java/de/mm20/launcher2/ui/search/UnitConverterItem.kt index 2275f7f9..16afb610 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/search/UnitConverterItem.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/search/UnitConverterItem.kt @@ -1,5 +1,7 @@ package de.mm20.launcher2.ui.search +import android.icu.text.DateFormat +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons @@ -14,9 +16,12 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog +import de.mm20.launcher2.search.data.CurrencyUnitConverter import de.mm20.launcher2.search.data.UnitConverter import de.mm20.launcher2.ui.R import de.mm20.launcher2.unitconverter.Dimension +import java.util.* @Composable fun UnitConverterItem( @@ -89,14 +94,52 @@ fun UnitConverterItem( } } - if (!showAll && unitConverter.values.size > 5) { - TextButton( - onClick = { showAll = true }, + Row( + horizontalArrangement = Arrangement.End, + verticalAlignment = Alignment.CenterVertically + ) { + Row( modifier = Modifier - .align(Alignment.End) - .padding(horizontal = 12.dp) + .weight(1f) + .padding(horizontal = 16.dp, vertical = 8.dp) ) { - Text(text = stringResource(id = R.string.unit_converter_show_all)) + var showDisclaimer by remember { mutableStateOf(false) } + (unitConverter as? CurrencyUnitConverter)?.let { + val df = DateFormat.getDateInstance(DateFormat.SHORT) + Text( + text = "${df.format(Date(it.updateTimestamp))} • ", + style = MaterialTheme.typography.labelSmall, + ) + Text( + text = stringResource(id = R.string.disclaimer), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.primary, + modifier = Modifier.clickable { + showDisclaimer = true + } + ) + if (showDisclaimer) { + AlertDialog( + onDismissRequest = { showDisclaimer = false }, + confirmButton = { + TextButton(onClick = { showDisclaimer = false }) { + Text(text = stringResource(id = R.string.close)) + } + }, + title = { Text(stringResource(id = R.string.disclaimer)) }, + text = { Text(stringResource(id = R.string.disclaimer_currency_converter, df.format(Date(it.updateTimestamp)))) } + ) + } + } + } + if (!showAll && unitConverter.values.size > 5) { + TextButton( + onClick = { showAll = true }, + modifier = Modifier + .padding(horizontal = 12.dp) + ) { + Text(text = stringResource(id = R.string.unit_converter_show_all)) + } } } }