Skip to content

Commit 15c756b

Browse files
authored
Merge pull request #143 from synonymdev/feat/activity-tags
feat: Activity add tags sheet
2 parents 2f30069 + 44f9c77 commit 15c756b

File tree

14 files changed

+325
-136
lines changed

14 files changed

+325
-136
lines changed

app/src/main/java/to/bitkit/ext/Activities.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package to.bitkit.ext
22

33
import uniffi.bitkitcore.Activity
44

5-
val Activity.idValue: String
6-
get() = when (this) {
7-
is Activity.Lightning -> v1.id
8-
is Activity.Onchain -> v1.txId
9-
}
5+
fun Activity.rawId(): String = when (this) {
6+
is Activity.Lightning -> v1.id
7+
is Activity.Onchain -> v1.id
8+
}

app/src/main/java/to/bitkit/repositories/WalletRepo.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import to.bitkit.data.entities.InvoiceTagEntity
2121
import to.bitkit.data.keychain.Keychain
2222
import to.bitkit.di.BgDispatcher
2323
import to.bitkit.env.Env
24-
import to.bitkit.ext.idValue
2524
import to.bitkit.ext.toHex
2625
import to.bitkit.models.BalanceState
2726
import to.bitkit.models.NodeLifecycleState
@@ -530,6 +529,12 @@ class WalletRepo @Inject constructor(
530529
is Activity.Onchain -> paymentHashOrTxId == v1.txId
531530
}
532531

532+
private val Activity.idValue: String
533+
get() = when (this) {
534+
is Activity.Lightning -> v1.id
535+
is Activity.Onchain -> v1.txId
536+
}
537+
533538
private suspend fun Scanner.OnChain.extractLightningHashOrAddress(): String {
534539
val address = this.invoice.address
535540
val lightningInvoice: String = this.invoice.params?.get("lightning") ?: address

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ import to.bitkit.ui.screens.transfer.external.ExternalConnectionScreen
5858
import to.bitkit.ui.screens.transfer.external.ExternalFeeCustomScreen
5959
import to.bitkit.ui.screens.transfer.external.ExternalSuccessScreen
6060
import to.bitkit.ui.screens.wallets.HomeScreen
61-
import to.bitkit.ui.screens.wallets.activity.ActivityItemScreen
61+
import to.bitkit.ui.screens.wallets.activity.ActivityDetailScreen
6262
import to.bitkit.ui.screens.wallets.activity.ActivityExploreScreen
6363
import to.bitkit.ui.settings.BackupSettingsScreen
6464
import to.bitkit.ui.settings.BlocktankRegtestScreen
@@ -148,7 +148,7 @@ fun ContentView(
148148
LaunchedEffect(appViewModel) {
149149
appViewModel.mainScreenEffect.collect {
150150
when (it) {
151-
is MainScreenEffect.NavigateActivityDetail -> navController.navigate(Routes.ActivityItem(it.activityId))
151+
is MainScreenEffect.NavigateActivityDetail -> navController.navigate(Routes.ActivityDetail(it.activityId))
152152
else -> Unit
153153
}
154154
}
@@ -639,18 +639,18 @@ private fun NavGraphBuilder.activityItem(
639639
activityListViewModel: ActivityListViewModel,
640640
navController: NavHostController,
641641
) {
642-
composableWithDefaultTransitions<Routes.ActivityItem> { navBackEntry ->
643-
ActivityItemScreen(
644-
viewModel = activityListViewModel,
645-
activityItem = navBackEntry.toRoute(),
642+
composableWithDefaultTransitions<Routes.ActivityDetail> { navBackEntry ->
643+
ActivityDetailScreen(
644+
listViewModel = activityListViewModel,
645+
route = navBackEntry.toRoute(),
646646
onExploreClick = { id -> navController.navigateToActivityExplore(id) },
647647
onBackClick = { navController.popBackStack() },
648648
onCloseClick = { navController.navigateToHome() },
649649
)
650650
}
651651
composableWithDefaultTransitions<Routes.ActivityExplore> { navBackEntry ->
652652
ActivityExploreScreen(
653-
viewModel = activityListViewModel,
653+
listViewModel = activityListViewModel,
654654
route = navBackEntry.toRoute(),
655655
onBackClick = { navController.popBackStack() },
656656
onCloseClick = { navController.navigateToHome() },
@@ -827,7 +827,7 @@ fun NavController.navigateToTransferFunding() = navigate(
827827
)
828828

829829
fun NavController.navigateToActivityItem(id: String) = navigate(
830-
route = Routes.ActivityItem(id),
830+
route = Routes.ActivityDetail(id),
831831
)
832832

833833
fun NavController.navigateToActivityExplore(id: String) = navigate(
@@ -1003,7 +1003,7 @@ object Routes {
10031003
data object ExternalFeeCustom
10041004

10051005
@Serializable
1006-
data class ActivityItem(val id: String)
1006+
data class ActivityDetail(val id: String)
10071007

10081008
@Serializable
10091009
data class ActivityExplore(val id: String)

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Spacer
99
import androidx.compose.foundation.layout.fillMaxWidth
1010
import androidx.compose.foundation.layout.height
1111
import androidx.compose.foundation.layout.padding
12+
import androidx.compose.foundation.layout.requiredHeight
1213
import androidx.compose.foundation.layout.size
1314
import androidx.compose.foundation.layout.width
1415
import androidx.compose.material.icons.Icons
@@ -65,7 +66,7 @@ fun PrimaryButton(
6566
contentPadding = PaddingValues(horizontal = size.horizontalPadding),
6667
modifier = Modifier
6768
.then(if (fullWidth) Modifier.fillMaxWidth() else Modifier)
68-
.height(size.height)
69+
.requiredHeight(size.height)
6970
.then(modifier)
7071
) {
7172
if (isLoading) {

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

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package to.bitkit.ui.components
22

33
import androidx.compose.foundation.Image
4-
import androidx.compose.foundation.background
5-
import androidx.compose.foundation.layout.Box
64
import androidx.compose.foundation.layout.Column
75
import androidx.compose.foundation.layout.Spacer
86
import androidx.compose.foundation.layout.fillMaxSize
97
import androidx.compose.foundation.layout.fillMaxWidth
108
import androidx.compose.foundation.layout.height
119
import androidx.compose.foundation.layout.padding
1210
import androidx.compose.foundation.layout.width
13-
import androidx.compose.material3.BottomSheetDefaults
1411
import androidx.compose.material3.ExperimentalMaterial3Api
1512
import androidx.compose.material3.ModalBottomSheet
1613
import androidx.compose.material3.rememberModalBottomSheetState
@@ -42,16 +39,7 @@ fun ForgotPinSheet(
4239
sheetState = sheetState,
4340
shape = AppShapes.sheet,
4441
containerColor = Colors.Black,
45-
dragHandle = {
46-
Box(
47-
contentAlignment = Alignment.Center,
48-
modifier = Modifier
49-
.fillMaxWidth()
50-
.background(color = Colors.Gray6)
51-
) {
52-
BottomSheetDefaults.DragHandle()
53-
}
54-
},
42+
dragHandle = { ModalBottomSheetHandle() },
5543
modifier = Modifier
5644
.fillMaxSize()
5745
.padding(top = ModalSheetTopPadding)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package to.bitkit.ui.components
2+
3+
import androidx.compose.foundation.background
4+
import androidx.compose.foundation.layout.Box
5+
import androidx.compose.foundation.layout.fillMaxWidth
6+
import androidx.compose.material3.BottomSheetDefaults
7+
import androidx.compose.material3.ExperimentalMaterial3Api
8+
import androidx.compose.runtime.Composable
9+
import androidx.compose.ui.Alignment
10+
import androidx.compose.ui.Modifier
11+
import to.bitkit.ui.theme.Colors
12+
13+
@Composable
14+
@OptIn(ExperimentalMaterial3Api::class)
15+
fun ModalBottomSheetHandle(
16+
modifier: Modifier = Modifier,
17+
) {
18+
Box(
19+
contentAlignment = Alignment.Center,
20+
modifier = modifier
21+
.fillMaxWidth()
22+
.background(color = Colors.Gray6)
23+
) {
24+
BottomSheetDefaults.DragHandle()
25+
}
26+
}

0 commit comments

Comments
 (0)