Skip to content

Commit d857fa0

Browse files
committed
feat: handle duration
1 parent a9bd3cc commit d857fa0

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

app/src/main/java/to/bitkit/models/Suggestion.kt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,34 @@ import androidx.annotation.StringRes
55
import androidx.compose.ui.graphics.Color
66
import to.bitkit.R
77
import to.bitkit.ui.theme.Colors
8+
import kotlin.time.Duration
9+
import kotlin.time.Duration.Companion.seconds
810

911
enum class Suggestion(
1012
@StringRes val title: Int,
1113
@StringRes val description: Int,
1214
@DrawableRes val icon: Int,
1315
val color: Color,
16+
val dismissible: Boolean = true,
17+
val duration: Duration? = null,
1418
) {
1519
BUY(
1620
title = R.string.cards__buyBitcoin__title,
1721
description = R.string.cards__buyBitcoin__description,
1822
color = Colors.Brand24,
19-
icon = R.drawable.b_emboss
23+
icon = R.drawable.b_emboss,
2024
),
2125
LIGHTNING( // Lightning ready from RN
2226
title = R.string.cards__lightning__title,
2327
description = R.string.cards__lightning__description,
2428
color = Colors.Purple24,
25-
icon = R.drawable.lightning
29+
icon = R.drawable.lightning,
2630
),
2731
BACK_UP(
2832
title = R.string.cards__backupSeedPhrase__title,
2933
description = R.string.cards__backupSeedPhrase__description,
3034
color = Colors.Blue24,
31-
icon = R.drawable.safe
35+
icon = R.drawable.safe,
3236
),
3337
SECURE(
3438
title = R.string.cards__pin__title,
@@ -72,29 +76,34 @@ enum class Suggestion(
7276
title = R.string.cards__lightningSettingUp__title,
7377
description = R.string.cards__transferPending__description,
7478
color = Colors.Purple24,
75-
icon = R.drawable.transfer
79+
icon = R.drawable.transfer,
80+
dismissible = false
7681
),
7782

7883
/**When the LN channel could not be cooped closed immediately*/
7984
TRANSFER_CLOSING_CHANNEL(
8085
title = R.string.cards__transferClosingChannel__title,
8186
description = R.string.cards__transferClosingChannel__description,
8287
color = Colors.Red24,
83-
icon = R.drawable.transfer
88+
icon = R.drawable.transfer,
89+
dismissible = false
8490
),
8591

8692
/**Replaces LIGHTNING when the transfer to spending balance is in progress*/
8793
LIGHTNING_SETTING_UP(
8894
title = R.string.cards__lightningSettingUp__title,
8995
description = R.string.cards__lightningSettingUp__description,
9096
color = Colors.Purple24,
91-
icon = R.drawable.transfer
97+
icon = R.drawable.transfer,
98+
dismissible = false
9299
),
93100
LIGHTNING_READY(
94101
title = R.string.cards__lightningReady__title,
95102
description = R.string.cards__lightningReady__description,
96103
color = Colors.Purple24,
97-
icon = R.drawable.transfer
104+
icon = R.drawable.transfer,
105+
dismissible = false,
106+
duration = 5.seconds
98107
),
99108
}
100109

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

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ import to.bitkit.viewmodels.AppViewModel
116116
import to.bitkit.viewmodels.MainUiState
117117
import to.bitkit.viewmodels.SettingsViewModel
118118
import to.bitkit.viewmodels.WalletViewModel
119+
import kotlin.time.Duration.Companion.seconds
119120

120121
@Composable
121122
fun HomeScreen(
@@ -226,8 +227,8 @@ fun HomeScreen(
226227

227228
Suggestion.TRANSFER_PENDING -> Unit
228229
Suggestion.TRANSFER_CLOSING_CHANNEL -> Unit
229-
Suggestion.LIGHTNING_SETTING_UP -> TODO()
230-
Suggestion.LIGHTNING_READY -> TODO()
230+
Suggestion.LIGHTNING_SETTING_UP -> Unit
231+
Suggestion.LIGHTNING_READY -> Unit
231232
}
232233
},
233234
onClickAddWidget = {
@@ -377,16 +378,19 @@ private fun Content(
377378
horizontalArrangement = Arrangement.spacedBy(16.dp),
378379
state = state,
379380
flingBehavior = snapBehavior,
380-
modifier = Modifier.fillMaxWidth().testTag("Suggestions")
381+
modifier = Modifier
382+
.fillMaxWidth()
383+
.testTag("Suggestions")
381384
) {
382385
items(homeUiState.suggestions, key = { it.name }) { item ->
383386
SuggestionCard(
384387
gradientColor = item.color,
385388
title = stringResource(item.title),
386389
description = stringResource(item.description),
387390
icon = item.icon,
388-
onClose = { onRemoveSuggestion(item) },
391+
onClose = { onRemoveSuggestion(item) }.takeIf { item.dismissible },
389392
onClick = { onClickSuggestion(item) },
393+
duration = item.duration,
390394
modifier = Modifier.testTag("Suggestion-${item.name.lowercase()}")
391395
)
392396
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ class HomeViewModel @Inject constructor(
194194
}
195195

196196
fun removeSuggestion(suggestion: Suggestion) {
197+
//TODO HANDLE TRANSFER
197198
viewModelScope.launch {
198199
settingsStore.addDismissedSuggestion(suggestion)
199200
}

0 commit comments

Comments
 (0)