Skip to content

Commit e24038a

Browse files
committed
feat: style
1 parent dc5e57b commit e24038a

File tree

1 file changed

+61
-15
lines changed

1 file changed

+61
-15
lines changed

app/src/main/java/to/bitkit/ui/screens/wallets/receive/EditInvoiceScreen.kt

Lines changed: 61 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package to.bitkit.ui.screens.wallets.receive
22

3-
import androidx.compose.animation.AnimatedVisibility
43
import androidx.compose.foundation.layout.Column
54
import androidx.compose.foundation.layout.Spacer
65
import androidx.compose.foundation.layout.defaultMinSize
@@ -9,20 +8,18 @@ import androidx.compose.foundation.layout.fillMaxWidth
98
import androidx.compose.foundation.layout.height
109
import androidx.compose.foundation.layout.padding
1110
import androidx.compose.material3.MaterialTheme
12-
import androidx.compose.material3.Text
1311
import androidx.compose.material3.TextField
1412
import androidx.compose.runtime.Composable
1513
import androidx.compose.runtime.getValue
1614
import androidx.compose.runtime.mutableStateOf
1715
import androidx.compose.runtime.remember
1816
import androidx.compose.runtime.setValue
1917
import androidx.compose.ui.Modifier
20-
import androidx.compose.ui.focus.focusRequester
2118
import androidx.compose.ui.platform.testTag
2219
import androidx.compose.ui.res.stringResource
20+
import androidx.compose.ui.tooling.preview.Preview
2321
import androidx.compose.ui.unit.dp
2422
import to.bitkit.R
25-
import to.bitkit.models.BalanceState
2623
import to.bitkit.models.BitcoinDisplayUnit
2724
import to.bitkit.models.PrimaryDisplay
2825
import to.bitkit.ui.LocalCurrencies
@@ -35,9 +32,10 @@ import to.bitkit.ui.currencyViewModel
3532
import to.bitkit.ui.scaffold.SheetTopBar
3633
import to.bitkit.ui.shared.util.gradientBackground
3734
import to.bitkit.ui.theme.AppTextFieldDefaults
35+
import to.bitkit.ui.theme.AppThemeSurface
36+
import to.bitkit.ui.theme.Colors
3837
import to.bitkit.viewmodels.CurrencyUiState
3938
import to.bitkit.viewmodels.SendEvent
40-
import to.bitkit.viewmodels.SendUiState
4139

4240
@Composable
4341
fun EditInvoiceScreen(
@@ -47,6 +45,7 @@ fun EditInvoiceScreen(
4745
) {
4846
val currencyVM = currencyViewModel ?: return
4947
var input: String by remember { mutableStateOf("") }
48+
var noteText by remember { mutableStateOf("") }
5049

5150
AmountInputHandler(
5251
input = input,
@@ -59,23 +58,26 @@ fun EditInvoiceScreen(
5958

6059
EditInvoiceContent(
6160
input = input,
61+
noteText = noteText,
6262
primaryDisplay = currencyUiState.primaryDisplay,
6363
displayUnit = currencyUiState.displayUnit,
6464
onEvent = onEvent,
65-
onBack = onBack
65+
onBack = onBack,
66+
onTextChanged = { newNote -> noteText = newNote }
6667
)
6768
}
6869

6970
@Composable
7071
fun EditInvoiceContent(
7172
input: String,
73+
noteText: String,
7274
primaryDisplay: PrimaryDisplay,
7375
displayUnit: BitcoinDisplayUnit,
7476
onEvent: (SendEvent) -> Unit,
7577
onBack: () -> Unit,
76-
){
78+
onTextChanged: (String) -> Unit,
79+
) {
7780
var keyboardVisible by remember { mutableStateOf(false) }
78-
var noteText by remember { mutableStateOf("") }
7981

8082
Column(
8183
modifier = Modifier
@@ -96,22 +98,31 @@ fun EditInvoiceContent(
9698
input = input,
9799
displayUnit = displayUnit,
98100
primaryDisplay = primaryDisplay,
99-
modifier = Modifier.fillMaxWidth().testTag("amount_input_field")
101+
modifier = Modifier
102+
.fillMaxWidth()
103+
.testTag("amount_input_field")
100104
)
101105
Spacer(modifier = Modifier.height(44.dp))
102106

103-
Caption13Up(text = stringResource(R.string.wallet__note))
107+
Caption13Up(text = stringResource(R.string.wallet__note), color = Colors.White64)
104108

105109
Spacer(modifier = Modifier.height(16.dp))
106110

107111
TextField(
108-
placeholder = { BodySSB(stringResource(R.string.wallet__receive_note_placeholder)) },
112+
placeholder = {
113+
BodySSB(
114+
text = stringResource(R.string.wallet__receive_note_placeholder),
115+
color = Colors.White64
116+
)
117+
},
109118
value = noteText,
110-
onValueChange = { noteText = it },
119+
onValueChange = onTextChanged,
111120
minLines = 4,
112121
colors = AppTextFieldDefaults.noIndicatorColors,
113-
shape = MaterialTheme.shapes.small,
114-
modifier = Modifier.fillMaxWidth().defaultMinSize(minHeight = 74.dp),
122+
shape = MaterialTheme.shapes.medium,
123+
modifier = Modifier
124+
.fillMaxWidth()
125+
.defaultMinSize(minHeight = 74.dp),
115126
)
116127

117128
Spacer(modifier = Modifier.height(16.dp))
@@ -120,9 +131,44 @@ fun EditInvoiceContent(
120131

121132
PrimaryButton(
122133
text = stringResource(R.string.continue_button),
123-
onClick = { }, //TODO IMPLEMENT
134+
onClick = { }, //TODO IMPLEMENT
124135
)
136+
137+
Spacer(modifier = Modifier.height(16.dp))
125138
}
126139
}
127140
}
128141

142+
@Preview(showBackground = true)
143+
@Composable
144+
private fun Preview() {
145+
AppThemeSurface {
146+
EditInvoiceContent(
147+
input = "123",
148+
noteText = "",
149+
primaryDisplay = PrimaryDisplay.BITCOIN,
150+
displayUnit = BitcoinDisplayUnit.MODERN,
151+
onEvent = {},
152+
onBack = {},
153+
onTextChanged = {}
154+
)
155+
}
156+
}
157+
158+
159+
@Preview(showBackground = true)
160+
@Composable
161+
private fun Preview2() {
162+
AppThemeSurface {
163+
EditInvoiceContent(
164+
input = "123",
165+
noteText = "Note text",
166+
primaryDisplay = PrimaryDisplay.BITCOIN,
167+
displayUnit = BitcoinDisplayUnit.MODERN,
168+
onEvent = {},
169+
onBack = {},
170+
onTextChanged = {}
171+
)
172+
}
173+
}
174+

0 commit comments

Comments
 (0)