Skip to content

Commit 47fee28

Browse files
committed
Merge branch 'master' into fix/all-warnings
2 parents b4ae88d + f78d819 commit 47fee28

10 files changed

Lines changed: 112 additions & 41 deletions

File tree

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import to.bitkit.ui.onboarding.InitializingWalletView
5959
import to.bitkit.ui.onboarding.WalletRestoreErrorView
6060
import to.bitkit.ui.onboarding.WalletRestoreSuccessView
6161
import to.bitkit.ui.screens.CriticalUpdateScreen
62+
import to.bitkit.ui.screens.common.ComingSoonScreen
6263
import to.bitkit.ui.screens.profile.CreateProfileScreen
6364
import to.bitkit.ui.screens.profile.ProfileIntroScreen
6465
import to.bitkit.ui.screens.recovery.RecoveryMnemonicScreen
@@ -528,6 +529,7 @@ private fun RootNavHost(
528529
navController = navController,
529530
)
530531
settings(navController, settingsViewModel)
532+
comingSoon(navController)
531533
profile(navController, settingsViewModel)
532534
shop(navController, settingsViewModel, appViewModel)
533535
generalSettings(navController)
@@ -910,6 +912,23 @@ private fun NavGraphBuilder.settings(
910912
}
911913
}
912914

915+
private fun NavGraphBuilder.comingSoon(
916+
navController: NavHostController,
917+
) {
918+
composableWithDefaultTransitions<Routes.Contacts> {
919+
ComingSoonScreen(
920+
onWalletOverviewClick = { navController.navigateToHome() },
921+
onBackClick = { navController.popBackStack() }
922+
)
923+
}
924+
composableWithDefaultTransitions<Routes.Profile> {
925+
ComingSoonScreen(
926+
onWalletOverviewClick = { navController.navigateToHome() },
927+
onBackClick = { navController.popBackStack() }
928+
)
929+
}
930+
}
931+
913932
private fun NavGraphBuilder.profile(
914933
navController: NavHostController,
915934
settingsViewModel: SettingsViewModel,
@@ -1933,6 +1952,12 @@ sealed interface Routes {
19331952
@Serializable
19341953
data object LanguageSettings : Routes
19351954

1955+
@Serializable
1956+
data object Contacts : Routes
1957+
1958+
@Serializable
1959+
data object Profile : Routes
1960+
19361961
@Serializable
19371962
data object ProfileIntro : Routes
19381963

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,20 @@ private fun Menu(
158158
DrawerItem(
159159
label = stringResource(R.string.wallet__drawer__contacts),
160160
iconRes = R.drawable.ic_users,
161-
onClick = null, // TODO IMPLEMENT CONTACTS
161+
onClick = {
162+
rootNavController.navigateIfNotCurrent(Routes.Contacts)
163+
scope.launch { drawerState.close() }
164+
},
162165
modifier = Modifier.testTag("DrawerContacts")
163166
)
164167

165168
DrawerItem(
166169
label = stringResource(R.string.wallet__drawer__profile),
167170
iconRes = R.drawable.ic_user_square,
168-
onClick = null, // TODO IMPLEMENT PROFILE
171+
onClick = {
172+
rootNavController.navigateIfNotCurrent(Routes.Profile)
173+
scope.launch { drawerState.close() }
174+
},
169175
modifier = Modifier.testTag("DrawerProfile")
170176
)
171177

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package to.bitkit.ui.screens.common
2+
3+
import androidx.compose.foundation.Image
4+
import androidx.compose.foundation.layout.Column
5+
import androidx.compose.foundation.layout.fillMaxWidth
6+
import androidx.compose.foundation.layout.padding
7+
import androidx.compose.runtime.Composable
8+
import androidx.compose.ui.Modifier
9+
import androidx.compose.ui.res.painterResource
10+
import androidx.compose.ui.res.stringResource
11+
import androidx.compose.ui.tooling.preview.Preview
12+
import androidx.compose.ui.unit.dp
13+
import to.bitkit.R
14+
import to.bitkit.ui.components.BodyM
15+
import to.bitkit.ui.components.Display
16+
import to.bitkit.ui.components.PrimaryButton
17+
import to.bitkit.ui.components.VerticalSpacer
18+
import to.bitkit.ui.scaffold.AppTopBar
19+
import to.bitkit.ui.scaffold.DrawerNavIcon
20+
import to.bitkit.ui.scaffold.ScreenColumn
21+
import to.bitkit.ui.theme.AppThemeSurface
22+
import to.bitkit.ui.theme.Colors
23+
import to.bitkit.ui.utils.withAccent
24+
25+
@Composable
26+
fun ComingSoonScreen(
27+
onWalletOverviewClick: () -> Unit,
28+
onBackClick: () -> Unit,
29+
) {
30+
ScreenColumn {
31+
AppTopBar(
32+
titleText = stringResource(R.string.coming_soon__title),
33+
onBackClick = onBackClick,
34+
actions = { DrawerNavIcon() },
35+
)
36+
37+
Column(
38+
modifier = Modifier.padding(horizontal = 32.dp)
39+
) {
40+
Image(
41+
painter = painterResource(R.drawable.img_cronometer),
42+
contentDescription = null,
43+
modifier = Modifier
44+
.fillMaxWidth()
45+
.weight(1f)
46+
)
47+
48+
Display(
49+
text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand),
50+
color = Colors.White
51+
)
52+
VerticalSpacer(8.dp)
53+
BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64)
54+
VerticalSpacer(54.dp)
55+
PrimaryButton(
56+
text = stringResource(R.string.coming_soon__button),
57+
onClick = onWalletOverviewClick,
58+
)
59+
VerticalSpacer(16.dp)
60+
}
61+
}
62+
}
63+
64+
@Preview(showSystemUi = true)
65+
@Composable
66+
private fun Preview() {
67+
AppThemeSurface {
68+
ComingSoonScreen(
69+
onWalletOverviewClick = {},
70+
onBackClick = {}
71+
)
72+
}
73+
}

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

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,12 @@ import androidx.compose.foundation.layout.fillMaxSize
1616
import androidx.compose.foundation.layout.fillMaxWidth
1717
import androidx.compose.foundation.layout.height
1818
import androidx.compose.foundation.layout.padding
19-
import androidx.compose.foundation.layout.size
2019
import androidx.compose.foundation.layout.statusBars
2120
import androidx.compose.foundation.lazy.LazyRow
2221
import androidx.compose.foundation.lazy.items
2322
import androidx.compose.foundation.lazy.rememberLazyListState
2423
import androidx.compose.foundation.rememberScrollState
2524
import androidx.compose.foundation.verticalScroll
26-
import androidx.compose.material.icons.Icons
27-
import androidx.compose.material.icons.filled.AccountCircle
2825
import androidx.compose.material3.DrawerState
2926
import androidx.compose.material3.DrawerValue
3027
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -86,7 +83,6 @@ import to.bitkit.ui.components.SuggestionCard
8683
import to.bitkit.ui.components.TabBar
8784
import to.bitkit.ui.components.TertiaryButton
8885
import to.bitkit.ui.components.Text13Up
89-
import to.bitkit.ui.components.Title
9086
import to.bitkit.ui.components.TopBarSpacer
9187
import to.bitkit.ui.components.VerticalSpacer
9288
import to.bitkit.ui.components.WalletBalanceView
@@ -168,13 +164,6 @@ fun HomeScreen(
168164
walletViewModel.onPullToRefresh()
169165
homeViewModel.refreshWidgets()
170166
},
171-
onClickProfile = {
172-
if (!hasSeenProfileIntro) {
173-
rootNavController.navigate(Routes.ProfileIntro)
174-
} else {
175-
rootNavController.navigate(Routes.CreateProfile)
176-
}
177-
},
178167
onRemoveSuggestion = { suggestion ->
179168
homeViewModel.removeSuggestion(suggestion)
180169
},
@@ -214,11 +203,7 @@ fun HomeScreen(
214203
}
215204

216205
Suggestion.PROFILE -> {
217-
if (!hasSeenProfileIntro) {
218-
rootNavController.navigate(Routes.ProfileIntro)
219-
} else {
220-
rootNavController.navigate(Routes.CreateProfile)
221-
}
206+
rootNavController.navigate(Routes.Profile)
222207
}
223208

224209
Suggestion.SHOP -> {
@@ -287,7 +272,6 @@ private fun Content(
287272
drawerState: DrawerState,
288273
hazeState: HazeState = rememberHazeState(),
289274
latestActivities: List<Activity>?,
290-
onClickProfile: () -> Unit = {},
291275
onRefresh: () -> Unit = {},
292276
onRemoveSuggestion: (Suggestion) -> Unit = {},
293277
onClickSuggestion: (Suggestion) -> Unit = {},
@@ -306,7 +290,6 @@ private fun Content(
306290
val heightStatusBar = WindowInsets.statusBars.asPaddingValues().calculateTopPadding()
307291
TopBar(
308292
hazeState = hazeState,
309-
onClickProfile = onClickProfile,
310293
rootNavController = rootNavController,
311294
scope = scope,
312295
drawerState = drawerState,
@@ -625,7 +608,6 @@ private fun Widgets(homeUiState: HomeUiState) {
625608
@OptIn(ExperimentalMaterial3Api::class)
626609
private fun TopBar(
627610
hazeState: HazeState,
628-
onClickProfile: () -> Unit,
629611
rootNavController: NavController,
630612
scope: CoroutineScope,
631613
drawerState: DrawerState,
@@ -647,26 +629,7 @@ private fun TopBar(
647629
.zIndex(1f)
648630
) {
649631
TopAppBar(
650-
title = {
651-
Row(
652-
verticalAlignment = Alignment.CenterVertically,
653-
modifier = Modifier
654-
.clickableAlpha(onClick = onClickProfile)
655-
.testTag("Header")
656-
) {
657-
Icon(
658-
imageVector = Icons.Filled.AccountCircle,
659-
contentDescription = stringResource(R.string.slashtags__your_name_capital),
660-
tint = Colors.White64,
661-
modifier = Modifier.size(32.dp)
662-
)
663-
HorizontalSpacer(16.dp)
664-
Title(
665-
text = stringResource(R.string.slashtags__your_name_capital),
666-
Modifier.testTag("EmptyProfileHeader")
667-
)
668-
}
669-
},
632+
title = {},
670633
actions = {
671634
AppStatus(onClick = { rootNavController.navigate(Routes.AppStatus) })
672635
HorizontalSpacer(4.dp)
45 KB
Loading
17.3 KB
Loading
78.3 KB
Loading
227 KB
Loading
267 KB
Loading

app/src/main/res/values/strings.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
<string name="cards__transferClosingChannel__title">Initiating</string>
3636
<string name="cards__transferPending__description">Ready in ±{duration}</string>
3737
<string name="cards__transferPending__title">Transfer</string>
38+
<string name="coming_soon__button">Wallet overview</string>
39+
<string name="coming_soon__description">This feature is currently in development and will be available soon.</string>
40+
<string name="coming_soon__headline">Coming\n&lt;accent&gt;soon&lt;/accent&gt;</string>
41+
<string name="coming_soon__title">Coming soon</string>
3842
<string name="common__advanced">Advanced</string>
3943
<string name="common__announced">Announced</string>
4044
<string name="common__are_you_sure">Are You Sure?</string>

0 commit comments

Comments
 (0)