diff --git a/CHANGELOG.md b/CHANGELOG.md
index a673a9c01..eb2b65070 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Mnemonic warning text transitions on reveal #857
### Changed
+- Updated design of the success screen in the manual channel setup flow #883
- Unified send flow with payment method switcher, details toggle, Lightning support for BIP21 payments, and improved fee rate defaults #863
- Settings redesigned with tabbed navigation (General/Security/Advanced) with swipe support #857
- Icons added to all settings rows for faster scanning #857
diff --git a/app/src/main/java/to/bitkit/ui/components/Button.kt b/app/src/main/java/to/bitkit/ui/components/Button.kt
index dc91fb4f8..6887ed3a3 100644
--- a/app/src/main/java/to/bitkit/ui/components/Button.kt
+++ b/app/src/main/java/to/bitkit/ui/components/Button.kt
@@ -9,7 +9,6 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
-import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
@@ -83,6 +82,7 @@ enum class ButtonSize {
Small -> 8.dp
Large -> 6.dp
}
+
fun secondaryBorder(enabled: Boolean): BorderStroke = when (this) {
Large -> BorderStroke(2.dp, if (enabled) Colors.Gray4 else Color.Transparent)
Small -> BorderStroke(1.dp, if (enabled) Colors.White16 else Color.Transparent)
@@ -183,6 +183,7 @@ fun SecondaryButton(
// and AFTER size modifiers (Haze needs to know dimensions)
val buttonShape = MaterialTheme.shapes.extraLarge
Box(
+ propagateMinConstraints = true,
modifier = modifier
.then(if (fullWidth) Modifier.fillMaxWidth() else Modifier)
.requiredHeight(size.height)
@@ -208,7 +209,6 @@ fun SecondaryButton(
colors = AppButtonDefaults.secondaryColors.copy(contentColor = contentColor),
contentPadding = contentPadding,
border = border,
- modifier = if (fullWidth) Modifier.fillMaxSize() else Modifier,
) {
if (isLoading) {
GradientCircularProgressIndicator(
@@ -488,6 +488,25 @@ private fun SecondaryButtonPreview() {
)
},
)
+ Row(
+ modifier = Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.spacedBy(8.dp)
+ ) {
+ SecondaryButton(
+ text = "Secondary",
+ fullWidth = false,
+ hazeState = hazeState,
+ onClick = {},
+ modifier = Modifier.weight(1f)
+ )
+ SecondaryButton(
+ text = "Secondary",
+ fullWidth = false,
+ hazeState = hazeState,
+ onClick = {},
+ modifier = Modifier.weight(1f)
+ )
+ }
SecondaryButton(
text = "Secondary Small",
size = ButtonSize.Small,
@@ -588,6 +607,23 @@ private fun TertiaryButtonPreview() {
},
onClick = {}
)
+ Row(
+ modifier = Modifier.fillMaxWidth(),
+ horizontalArrangement = Arrangement.spacedBy(8.dp)
+ ) {
+ TertiaryButton(
+ text = "Tertiary",
+ fullWidth = false,
+ onClick = {},
+ modifier = Modifier.weight(1f)
+ )
+ TertiaryButton(
+ text = "Tertiary",
+ fullWidth = false,
+ onClick = {},
+ modifier = Modifier.weight(1f)
+ )
+ }
TertiaryButton(
text = "Tertiary Small",
size = ButtonSize.Small,
diff --git a/app/src/main/java/to/bitkit/ui/screens/transfer/external/ExternalSuccessScreen.kt b/app/src/main/java/to/bitkit/ui/screens/transfer/external/ExternalSuccessScreen.kt
index 413e5abe0..a80182084 100644
--- a/app/src/main/java/to/bitkit/ui/screens/transfer/external/ExternalSuccessScreen.kt
+++ b/app/src/main/java/to/bitkit/ui/screens/transfer/external/ExternalSuccessScreen.kt
@@ -17,10 +17,10 @@ fun ExternalSuccessScreen(
onContinue: () -> Unit,
) {
InfoScreenContent(
- navTitle = stringResource(R.string.lightning__external__nav_title),
+ navTitle = stringResource(R.string.lightning__external_success__nav_title),
title = stringResource(R.string.lightning__external_success__title).withAccent(accentColor = Colors.Purple),
description = stringResource(R.string.lightning__external_success__text).withAccentBoldBright(),
- image = painterResource(R.drawable.switch_box),
+ image = painterResource(R.drawable.lightning),
buttonText = localizedRandom(R.string.common__ok_random),
onButtonClick = onContinue,
testTag = "ExternalSuccess",
diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/SpendingWalletScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/SpendingWalletScreen.kt
index 364abb8cf..48de07762 100644
--- a/app/src/main/java/to/bitkit/ui/screens/wallets/SpendingWalletScreen.kt
+++ b/app/src/main/java/to/bitkit/ui/screens/wallets/SpendingWalletScreen.kt
@@ -4,12 +4,10 @@ import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.only
import androidx.compose.foundation.layout.padding
@@ -45,6 +43,7 @@ import to.bitkit.ui.components.EmptyStateView
import to.bitkit.ui.components.IncomingTransfer
import to.bitkit.ui.components.SecondaryButton
import to.bitkit.ui.components.TabBar
+import to.bitkit.ui.components.VerticalSpacer
import to.bitkit.ui.scaffold.AppTopBar
import to.bitkit.ui.scaffold.DrawerNavIcon
import to.bitkit.ui.scaffold.ScreenColumn
@@ -130,7 +129,7 @@ fun SpendingWalletScreen(
}
if (!showEmptyState) {
- Spacer(modifier = Modifier.height(32.dp))
+ VerticalSpacer(32.dp)
if (canTransfer) {
SecondaryButton(
@@ -160,8 +159,7 @@ fun SpendingWalletScreen(
}
if (showEmptyState) {
EmptyStateView(
- text = stringResource(R.string.wallet__spending__onboarding)
- .withAccent(accentColor = Colors.Purple),
+ text = stringResource(R.string.wallet__spending__onboarding).withAccent(accentColor = Colors.Purple),
modifier = Modifier
.systemBarsPadding()
.align(Alignment.BottomCenter)
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 672450be0..4b6479444 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -130,8 +130,9 @@
مسح QR
يمكنك استخدام عقدة خارجية لفتح اتصال Lightning يدويًا. أدخل تفاصيل العقدة للمتابعة.
<accent>إعداد يدوي</accent>
+ رصيد الإنفاق
بدأ اتصال Lightning. ستتمكن من استخدام رصيد الإنفاق خلال <accent>±30 دقيقة</accent> (يعتمد على إعدادات العقدة).
- بدأ\n<accent>الاتصال</accent>
+ القناة\n<accent>قيد الفتح</accent>
معدل الرسوم
وقت تحديث ذاكرة التخزين المؤقت لمعدل الرسوم
الرسوم
diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml
index 67cb66c07..cb567c436 100644
--- a/app/src/main/res/values-b+es+419/strings.xml
+++ b/app/src/main/res/values-b+es+419/strings.xml
@@ -130,8 +130,9 @@
Escanear QR
Puedes usar un nodo externo para abrir una conexión Lightning manualmente. Ingresa los datos del nodo para continuar.
<accent>Config. manual</accent>
+ Saldo de gasto
Conexión lightning iniciada. Podrá utilizar su saldo de gastos en <accent>±30 minutos</accent> (depende de la config. del nodo).
- Conexión\n<accent>iniciada</accent>
+ Apertura\n<accent>de canal</accent>
Tarifa
Hora de actualización de caché de tarifa
Tarifa
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index e3c83be4c..ed0011dce 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -130,8 +130,9 @@
Escaneja QR
Pots utilitzar un node extern per obrir manualment una connexió Lightning. Introdueix els detalls del node per continuar.
<accent>Configuració manual</accent>
+ Saldo de despesa
Connexió Lightning iniciada. Podràs utilitzar el teu saldo de despesa en <accent>±30 minuts</accent> (depèn de la configuració del node).
- Connexió\n<accent>iniciada</accent>
+ Obertura\n<accent>de canal</accent>
Taxa de tarifa
Temps d\'actualització de la memòria cau de tarifes
Tarifes
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 606a15c4c..c0c1de500 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -130,8 +130,9 @@
Skenovat QR
Můžete použít externí uzel k ručnímu otevření lightning připojení. Zadejte údaje o uzlu pro pokračování.
<accent>Manuální nastavení</accent>
+ Zůstatek k utracení
Iniciováno připojení lightning. Zůstatek na účtu budete moci použít do <accent>±30 minut</accent> (závisí na konfiguraci uzlu).
- Připojení\n<accent>iniciováno</accent>
+ Otevírání\n<accent>kanálu</accent>
Sazba poplatku
Čas aktualizace mezipaměti poplatků
Poplatky
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 86a43b716..5245e71a3 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -152,7 +152,8 @@
Paste Node URI
QR-Code scannen
Spending\n<accent>balance</accent>
- Verbindung\n<accent>initiiert</accent>
+ Ausgabenguthaben
+ Kanal wird\n<accent>geöffnet</accent>
Lightning-Verbindung initiiert. Du kannst dein Guthaben in <accent>±30 Minuten</accent> verwenden (abhängig von der Node-Konfiguration).
Einrichtung der Instant-Zahlungen fehlgeschlagen
Ein Fehler ist bei der Einrichtung deines Sofortguthabens aufgetreten. {raw}
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 279794cd3..b9f1b56eb 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -130,8 +130,9 @@
Σάρωση QR
Μπορείς να χρησιμοποιήσεις έναν εξωτερικό κόμβο για να ανοίξεις χειροκίνητα μια σύνδεση Lightning. Εισάγαγε τα στοιχεία του κόμβου για να συνεχίσεις.
<accent>Χειροκίνητη ρύθμιση</accent>
+ Υπόλοιπο δαπανών
Η σύνδεση Lightning ξεκίνησε. Θα μπορείς να χρησιμοποιήσεις το υπόλοιπο δαπανών σε <accent>±30 λεπτά</accent> (εξαρτάται από τη διαμόρφωση του κόμβου).
- Η σύνδεση\n<accent>ξεκίνησε</accent>
+ Άνοιγμα\n<accent>καναλιού</accent>
Ποσοστό τέλους
Χρόνος ενημέρωσης cache τελών
Τέλη
diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml
index 699eefd9f..db0f2f873 100644
--- a/app/src/main/res/values-es-rES/strings.xml
+++ b/app/src/main/res/values-es-rES/strings.xml
@@ -130,8 +130,9 @@
Escanear QR
Puedes usar un nodo externo para abrir manualmente una conexión Lightning. Introduce los datos del nodo para continuar.
<accent>Configuración manual</accent>
+ Saldo de gasto
Conexión Lightning iniciada. Podrá usar su balance para pagar en <accent>±30 minutos</accent> (depende de la configuración del nodo).
- Conexión\n<accent>iniciada</accent>
+ Apertura\n<accent>de canal</accent>
Tasa de comisión
Hora de actualización de caché de tasas
Comisiones
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index f60beef35..7c720ddfe 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -109,7 +109,9 @@
Pegar URI del nodo
Puedes usar un nodo externo para abrir manualmente una conexión Lightning. Introduce los datos del nodo para continuar.
<accent>Configuración manual</accent>
- Conexión\n<accent>iniciada</accent>
+ Saldo de gasto
+ Conexión Lightning iniciada. Podrá usar su balance para pagar en <accent>±30 minutos</accent> (depende de la configuración del nodo).
+ Apertura\n<accent>de canal</accent>
Tasa de comisión
Hora de actualización de caché de comisiones
Comisiones
@@ -201,7 +203,6 @@
Servidor
Puerto
Escanear QR
- Conexión Lightning iniciada. Podrá usar su balance para pagar en <accent>±30 minutos</accent> (depende de la configuración del nodo).
Error en la Configuración de Pago Instántaneo
Gasto
Ahorro
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index a23a42aa2..331705090 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -152,7 +152,8 @@
Coller l\'URI du nœud
Scanner QR
Dépenses \n<accent>solde</accent>
- Connexion \n<accent>initiée</accent>
+ Solde de dépenses
+ Ouverture\n<accent>du canal</accent>
La connexion Lightning est initiée. Vous pourrez utiliser votre compte courant dans <accent>±30 minutes</accent> (en fonction de la configuration du nœud).
Échec de la configuration des paiements instantanés
Une erreur s\'est produite lors de l\'établissement de votre solde du compte courant. {raw}
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index e011944dd..138677d37 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -130,8 +130,9 @@
Scansiona QR
Puoi usare un nodo esterno per aprire manualmente una connessione Lightning. Inserisci i dettagli del nodo per continuare.
<accent>Configurazione manuale</accent>
+ Saldo di spesa
Connessione Lightning avviata. Potrai utilizzare il tuo conto di spesa in <accent>±30 minuti</accent> (dipende dalla configurazione del nodo).
- Connessione\n<accent>avviata</accent>
+ Apertura\n<accent>del canale</accent>
Tasso di commissione
Tempo di Aggiornamento Cache Commissioni
Commissioni
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 3ce47fcd0..e6eab40d5 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -130,8 +130,9 @@
QR scannen
Je kunt een externe node gebruiken om handmatig een Lightning-verbinding te openen. Voer de node-gegevens in om door te gaan.
<accent>Handmatige configuratie</accent>
+ Uitgavenbalans
Lightning-verbinding gestart. Je kunt je bestedingssaldo gebruiken in <accent>±30 minuten</accent> (afhankelijk van node-configuratie).
- Verbinding\n<accent>gestart</accent>
+ Kanaal wordt\n<accent>geopend</accent>
Vergoedingstarief
Vergoedingstarief cache update tijd
Vergoedingen
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 408035dc8..981a987e5 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -152,7 +152,8 @@
Wklej adres URI węzła
Skanuj QR
Saldo\n<accent>wydatków</accent>
- Połączenie\n<accent>zainicjowane</accent>
+ Saldo wydatków
+ Otwieranie\n<accent>kanału</accent>
Połączenie Lightning zostało zainicjowane. Będą Państwo mogli wykorzystać swoje saldo wydatków w ciągu <accent>±30 minut</accent> (w zależności od konfiguracji węzła).
Konfiguracja płatności natychmiastowych nie powiodła się
Wystąpił błąd podczas konfigurowania salda natychmiastowego. {raw}
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 2bce55e6a..70d54f3c3 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -130,8 +130,9 @@
Escanear QR
Você pode usar um nó externo para abrir manualmente uma conexão Lightning. Digite os detalhes do nó para continuar.
<accent>Setup manual</accent>
+ Saldo de gastos
Conexão Lightning iniciada. Você poderá usar seu saldo de gastos em <accent>±30 minutos</accent> (depende da configuração do nó).
- Conexão\n<accent>iniciada</accent>
+ Abertura\n<accent>de canal</accent>
Taxa por bytes
Atualização do Cache de Taxa
Taxas
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 49f87acfa..9f5f33101 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -152,7 +152,8 @@
Colar URI do nó
Escanear QR
Saldo de\n<accent>gastos</accent>
- Conexão\n<accent>iniciada</accent>
+ Saldo de gastos
+ Abertura\n<accent>de canal</accent>
Conexão Lightning iniciada. Você poderá usar seu saldo de gastos em <accent>±30 minutos</accent> (depende da configuração do nó).
Setup dos Pagamentos Instantâneos falhou
Ocorreu um erro ao configurar seu saldo de gastos. {raw}
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 8f60f3eea..defdfeb94 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -138,8 +138,9 @@
Сканировать QR
Вы можете использовать внешний узел для ручного открытия Lightning соединения. Введите данные узла, чтобы продолжить.
<accent>Ручная Настройка</accent>
+ Баланс расходов
Lightning соединение инициировано. Вы сможете использовать ваш баланс расходов через <accent>±30 минут</accent> (зависит от конфигурации узла).
- Соединение\n<accent>Инициировано</accent>
+ Открытие\n<accent>канала</accent>
Ставка Комиссии
Время обновления кэша комиссии
Комиссии
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 94462606a..09ca48e7c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -140,8 +140,9 @@
Scan QR
You can use an external node to manually open a Lightning connection. Enter the node details to continue.
<accent>Manual setup</accent>
+ Spending Balance
Lightning connection initiated. You will be able to use your spending balance in <accent>±30 minutes</accent> (depends on node configuration).
- Connection\n<accent>initiated</accent>
+ Channel\n<accent>opening</accent>
Fee rate
Fee Rate Cache Update Time
Fees