Skip to content

Commit d846b53

Browse files
committed
fix: update RectangleButton icon
1 parent f14c503 commit d846b53

File tree

4 files changed

+64
-114
lines changed

4 files changed

+64
-114
lines changed

app/src/main/java/to/bitkit/ui/components/RectangleButton.kt

Lines changed: 48 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
11
package to.bitkit.ui.components
22

3+
import androidx.annotation.DrawableRes
4+
import androidx.compose.foundation.background
35
import androidx.compose.foundation.layout.Arrangement
6+
import androidx.compose.foundation.layout.Box
47
import androidx.compose.foundation.layout.Column
58
import androidx.compose.foundation.layout.PaddingValues
69
import androidx.compose.foundation.layout.fillMaxWidth
710
import androidx.compose.foundation.layout.height
811
import androidx.compose.foundation.layout.padding
912
import androidx.compose.foundation.layout.size
13+
import androidx.compose.foundation.shape.CircleShape
1014
import androidx.compose.material.icons.Icons
1115
import androidx.compose.material.icons.filled.ContentPaste
1216
import androidx.compose.material3.Button
1317
import androidx.compose.material3.ButtonDefaults
1418
import androidx.compose.material3.Icon
1519
import androidx.compose.runtime.Composable
20+
import androidx.compose.ui.Alignment
1621
import androidx.compose.ui.Modifier
1722
import androidx.compose.ui.draw.alpha
23+
import androidx.compose.ui.draw.clip
1824
import androidx.compose.ui.graphics.Color
25+
import androidx.compose.ui.graphics.vector.ImageVector
1926
import androidx.compose.ui.res.painterResource
2027
import androidx.compose.ui.tooling.preview.Preview
28+
import androidx.compose.ui.unit.Dp
2129
import androidx.compose.ui.unit.dp
2230
import to.bitkit.R
2331
import to.bitkit.ui.theme.AppThemeSurface
@@ -27,9 +35,12 @@ import to.bitkit.ui.theme.Shapes
2735
@Composable
2836
fun RectangleButton(
2937
label: String,
30-
icon: @Composable () -> Unit,
3138
modifier: Modifier = Modifier,
39+
@DrawableRes icon: Int? = null,
40+
imageVector: ImageVector? = null,
41+
iconTint: Color = Colors.White,
3242
enabled: Boolean = true,
43+
iconSize : Dp = 20.dp,
3344
onClick: () -> Unit = {},
3445
) {
3546
Button(
@@ -45,7 +56,38 @@ fun RectangleButton(
4556
.height(80.dp)
4657
.fillMaxWidth()
4758
) {
48-
icon()
59+
icon?.let {
60+
Box(
61+
modifier = Modifier
62+
.clip(CircleShape)
63+
.size(40.dp)
64+
.background(Colors.Black),
65+
contentAlignment = Alignment.Center
66+
) {
67+
Icon(
68+
painter = painterResource(it),
69+
contentDescription = null,
70+
tint = iconTint,
71+
modifier = Modifier.size(iconSize),
72+
)
73+
}
74+
}
75+
imageVector?.let {
76+
Box(
77+
modifier = Modifier
78+
.clip(CircleShape)
79+
.size(40.dp)
80+
.background(Colors.Black),
81+
contentAlignment = Alignment.Center
82+
) {
83+
Icon(
84+
imageVector = it,
85+
contentDescription = null,
86+
tint = iconTint,
87+
modifier = Modifier.size(iconSize),
88+
)
89+
}
90+
}
4991
HorizontalSpacer(16.dp)
5092
BodyMSB(text = label, color = Colors.White)
5193
FillWidth()
@@ -62,26 +104,14 @@ private fun RectangleButtonPreview() {
62104
) {
63105
RectangleButton(
64106
label = "Button",
65-
icon = {
66-
Icon(
67-
painter = painterResource(R.drawable.ic_scan),
68-
contentDescription = null,
69-
tint = Color.Unspecified,
70-
modifier = Modifier.size(28.dp),
71-
)
72-
}
107+
icon = R.drawable.ic_scan
73108
)
74109
RectangleButton(
75110
label = "Button Disabled",
76111
enabled = false,
77-
icon = {
78-
Icon(
79-
imageVector = Icons.Default.ContentPaste,
80-
contentDescription = null,
81-
tint = Colors.Brand,
82-
modifier = Modifier.size(28.dp),
83-
)
84-
}
112+
icon = null,
113+
iconTint = Colors.Purple,
114+
imageVector = Icons.Default.ContentPaste,
85115
)
86116
}
87117
}

app/src/main/java/to/bitkit/ui/screens/transfer/FundingAdvancedScreen.kt

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@ import androidx.compose.foundation.layout.Spacer
66
import androidx.compose.foundation.layout.fillMaxWidth
77
import androidx.compose.foundation.layout.height
88
import androidx.compose.foundation.layout.padding
9-
import androidx.compose.foundation.layout.size
10-
import androidx.compose.material3.Icon
119
import androidx.compose.runtime.Composable
1210
import androidx.compose.ui.Modifier
1311
import androidx.compose.ui.platform.testTag
14-
import androidx.compose.ui.res.painterResource
1512
import androidx.compose.ui.res.stringResource
1613
import androidx.compose.ui.tooling.preview.Preview
1714
import androidx.compose.ui.unit.dp
@@ -58,26 +55,14 @@ fun FundingAdvancedScreen(
5855
) {
5956
RectangleButton(
6057
label = stringResource(R.string.lightning__funding_advanced__button1),
61-
icon = {
62-
Icon(
63-
painter = painterResource(R.drawable.ic_scan),
64-
contentDescription = null,
65-
tint = Colors.Purple,
66-
modifier = Modifier.size(28.dp),
67-
)
68-
},
58+
icon = R.drawable.ic_scan,
59+
iconTint = Colors.Purple,
6960
onClick = onLnurl,
7061
)
7162
RectangleButton(
7263
label = stringResource(R.string.lightning__funding_advanced__button2),
73-
icon = {
74-
Icon(
75-
painter = painterResource(R.drawable.ic_pencil_full),
76-
contentDescription = null,
77-
tint = Colors.Purple,
78-
modifier = Modifier.size(28.dp),
79-
)
80-
},
64+
icon = R.drawable.ic_pencil_full,
65+
iconTint = Colors.Purple,
8166
onClick = onManual,
8267
modifier = Modifier.testTag("FundManual")
8368
)

app/src/main/java/to/bitkit/ui/screens/transfer/FundingScreen.kt

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ import androidx.compose.foundation.layout.Spacer
88
import androidx.compose.foundation.layout.fillMaxWidth
99
import androidx.compose.foundation.layout.height
1010
import androidx.compose.foundation.layout.padding
11-
import androidx.compose.foundation.layout.size
1211
import androidx.compose.material3.AlertDialog
13-
import androidx.compose.material3.Icon
1412
import androidx.compose.material3.MaterialTheme
1513
import androidx.compose.material3.TextButton
1614
import androidx.compose.runtime.Composable
@@ -19,9 +17,7 @@ import androidx.compose.runtime.mutableStateOf
1917
import androidx.compose.runtime.remember
2018
import androidx.compose.runtime.setValue
2119
import androidx.compose.ui.Modifier
22-
import androidx.compose.ui.graphics.Color
2320
import androidx.compose.ui.platform.testTag
24-
import androidx.compose.ui.res.painterResource
2521
import androidx.compose.ui.res.stringResource
2622
import androidx.compose.ui.tooling.preview.Preview
2723
import androidx.compose.ui.unit.dp
@@ -83,14 +79,8 @@ fun FundingScreen(
8379
Box {
8480
RectangleButton(
8581
label = stringResource(R.string.lightning__funding__button1),
86-
icon = {
87-
Icon(
88-
painter = painterResource(R.drawable.ic_transfer),
89-
contentDescription = null,
90-
tint = Colors.Purple,
91-
modifier = Modifier.size(28.dp),
92-
)
93-
},
82+
icon = R.drawable.ic_transfer,
83+
iconTint = Colors.Purple,
9484
enabled = canTransfer && !isGeoBlocked,
9585
onClick = onTransfer,
9686
modifier = Modifier.testTag("FundTransfer")
@@ -111,28 +101,17 @@ fun FundingScreen(
111101
}
112102
RectangleButton(
113103
label = stringResource(R.string.lightning__funding__button2),
114-
icon = {
115-
Icon(
116-
painter = painterResource(R.drawable.ic_qr_purple),
117-
contentDescription = null,
118-
tint = Color.Unspecified,
119-
modifier = Modifier.size(28.dp),
120-
)
121-
},
104+
icon = R.drawable.ic_qr_purple,
105+
iconTint = Colors.Purple,
106+
iconSize = 13.75.dp,
122107
enabled = !isGeoBlocked,
123108
onClick = onFund,
124109
modifier = Modifier.testTag("FundReceive")
125110
)
126111
RectangleButton(
127112
label = stringResource(R.string.lightning__funding__button3),
128-
icon = {
129-
Icon(
130-
painter = painterResource(R.drawable.ic_share_purple),
131-
contentDescription = null,
132-
tint = Color.Unspecified,
133-
modifier = Modifier.size(28.dp),
134-
)
135-
},
113+
icon = R.drawable.ic_share_purple,
114+
iconTint = Colors.Purple,
136115
onClick = onAdvanced,
137116
modifier = Modifier.testTag("FundCustom")
138117
)

app/src/main/java/to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt

Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -264,22 +264,7 @@ fun SendRecipientScreen(
264264

265265
RectangleButton(
266266
label = stringResource(R.string.wallet__recipient_contact),
267-
icon = {
268-
Box(
269-
modifier = Modifier
270-
.clip(CircleShape)
271-
.size(40.dp)
272-
.background(Colors.Black),
273-
contentAlignment = Alignment.Center
274-
) {
275-
Icon(
276-
painter = painterResource(R.drawable.ic_users),
277-
contentDescription = null,
278-
tint = Colors.Brand,
279-
modifier = Modifier.size(20.dp),
280-
)
281-
}
282-
},
267+
icon = R.drawable.ic_users,
283268
modifier = Modifier.testTag("RecipientContact")
284269
) {
285270
scope.launch {
@@ -289,45 +274,15 @@ fun SendRecipientScreen(
289274

290275
RectangleButton(
291276
label = stringResource(R.string.wallet__recipient_invoice),
292-
icon = {
293-
Box(
294-
modifier = Modifier
295-
.clip(CircleShape)
296-
.size(40.dp)
297-
.background(Colors.Black),
298-
contentAlignment = Alignment.Center
299-
) {
300-
Icon(
301-
painter = painterResource(R.drawable.ic_clipboard_text),
302-
contentDescription = null,
303-
tint = Colors.Brand,
304-
modifier = Modifier.size(20.dp),
305-
)
306-
}
307-
},
277+
icon = R.drawable.ic_clipboard_text,
308278
modifier = Modifier.testTag("RecipientInvoice")
309279
) {
310280
onEvent(SendEvent.Paste)
311281
}
312282

313283
RectangleButton(
314284
label = stringResource(R.string.wallet__recipient_manual),
315-
icon = {
316-
Box(
317-
modifier = Modifier
318-
.clip(CircleShape)
319-
.size(40.dp)
320-
.background(Colors.Black),
321-
contentAlignment = Alignment.Center
322-
) {
323-
Icon(
324-
painter = painterResource(R.drawable.ic_pencil_simple),
325-
contentDescription = null,
326-
tint = Colors.Brand,
327-
modifier = Modifier.size(20.dp),
328-
)
329-
}
330-
},
285+
icon = R.drawable.ic_pencil_simple,
331286
modifier = Modifier.testTag("RecipientManual")
332287
) {
333288
onEvent(SendEvent.EnterManually)
@@ -376,7 +331,8 @@ private fun CameraPreviewWithControls(
376331
)
377332
}
378333

379-
BodyMSB("Scan QR",
334+
BodyMSB(
335+
"Scan QR",
380336
color = Colors.White,
381337
modifier = Modifier
382338
.padding(top = 31.dp)

0 commit comments

Comments
 (0)