diff --git a/app/src/main/java/to/bitkit/ui/ContentView.kt b/app/src/main/java/to/bitkit/ui/ContentView.kt index d7f26ff9c..dc3408277 100644 --- a/app/src/main/java/to/bitkit/ui/ContentView.kt +++ b/app/src/main/java/to/bitkit/ui/ContentView.kt @@ -57,6 +57,7 @@ import to.bitkit.ui.onboarding.InitializingWalletView import to.bitkit.ui.onboarding.WalletRestoreErrorView import to.bitkit.ui.onboarding.WalletRestoreSuccessView import to.bitkit.ui.screens.CriticalUpdateScreen +import to.bitkit.ui.screens.common.ComingSoonScreen import to.bitkit.ui.screens.profile.CreateProfileScreen import to.bitkit.ui.screens.profile.ProfileIntroScreen import to.bitkit.ui.screens.recovery.RecoveryMnemonicScreen @@ -531,6 +532,7 @@ private fun RootNavHost( navController = navController, ) settings(navController, settingsViewModel) + comingSoon(navController) profile(navController, settingsViewModel) shop(navController, settingsViewModel, appViewModel) generalSettings(navController) @@ -912,6 +914,23 @@ private fun NavGraphBuilder.settings( } } +private fun NavGraphBuilder.comingSoon( + navController: NavHostController, +) { + composableWithDefaultTransitions { + ComingSoonScreen( + onWalletOverviewClick = { navController.navigateToHome() }, + onBackClick = { navController.popBackStack() } + ) + } + composableWithDefaultTransitions { + ComingSoonScreen( + onWalletOverviewClick = { navController.navigateToHome() }, + onBackClick = { navController.popBackStack() } + ) + } +} + private fun NavGraphBuilder.profile( navController: NavHostController, settingsViewModel: SettingsViewModel, @@ -1934,6 +1953,12 @@ sealed interface Routes { @Serializable data object LanguageSettings : Routes + @Serializable + data object Contacts : Routes + + @Serializable + data object Profile : Routes + @Serializable data object ProfileIntro : Routes diff --git a/app/src/main/java/to/bitkit/ui/components/DrawerMenu.kt b/app/src/main/java/to/bitkit/ui/components/DrawerMenu.kt index 0071996ac..909a0555a 100644 --- a/app/src/main/java/to/bitkit/ui/components/DrawerMenu.kt +++ b/app/src/main/java/to/bitkit/ui/components/DrawerMenu.kt @@ -158,14 +158,20 @@ private fun Menu( DrawerItem( label = stringResource(R.string.wallet__drawer__contacts), iconRes = R.drawable.ic_users, - onClick = null, // TODO IMPLEMENT CONTACTS + onClick = { + rootNavController.navigateIfNotCurrent(Routes.Contacts) + scope.launch { drawerState.close() } + }, modifier = Modifier.testTag("DrawerContacts") ) DrawerItem( label = stringResource(R.string.wallet__drawer__profile), iconRes = R.drawable.ic_user_square, - onClick = null, // TODO IMPLEMENT PROFILE + onClick = { + rootNavController.navigateIfNotCurrent(Routes.Profile) + scope.launch { drawerState.close() } + }, modifier = Modifier.testTag("DrawerProfile") ) diff --git a/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt b/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt new file mode 100644 index 000000000..9db78fe0b --- /dev/null +++ b/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt @@ -0,0 +1,74 @@ +package to.bitkit.ui.screens.common + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import to.bitkit.R +import to.bitkit.ui.components.BodyM +import to.bitkit.ui.components.Display +import to.bitkit.ui.components.PrimaryButton +import to.bitkit.ui.scaffold.AppTopBar +import to.bitkit.ui.scaffold.DrawerNavIcon +import to.bitkit.ui.scaffold.ScreenColumn +import to.bitkit.ui.theme.AppThemeSurface +import to.bitkit.ui.theme.Colors +import to.bitkit.ui.utils.withAccent + +@Composable +fun ComingSoonScreen( + onWalletOverviewClick: () -> Unit, + onBackClick: () -> Unit, +) { + ScreenColumn { + AppTopBar( + titleText = stringResource(R.string.coming_soon__title), + onBackClick = onBackClick, + actions = { DrawerNavIcon() }, + ) + + Column( + modifier = Modifier.padding(horizontal = 32.dp) + ) { + Image( + painter = painterResource(R.drawable.img_cronometer), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .weight(1f) + ) + + Display( + text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand), + color = Colors.White + ) + Spacer(Modifier.height(8.dp)) + BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64) + Spacer(Modifier.height(54.dp)) + PrimaryButton( + text = stringResource(R.string.coming_soon__button), + onClick = onWalletOverviewClick, + ) + Spacer(Modifier.height(16.dp)) + } + } +} + +@Preview(showSystemUi = true) +@Composable +private fun Preview() { + AppThemeSurface { + ComingSoonScreen( + onWalletOverviewClick = {}, + onBackClick = {} + ) + } +} diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt index 5e8a6c64d..e0ed95193 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt @@ -646,26 +646,7 @@ private fun TopBar( .zIndex(1f) ) { TopAppBar( - title = { - Row( - verticalAlignment = Alignment.CenterVertically, - modifier = Modifier - .clickableAlpha(onClick = onClickProfile) - .testTag("Header") - ) { - Icon( - imageVector = Icons.Filled.AccountCircle, - contentDescription = stringResource(R.string.slashtags__your_name_capital), - tint = Colors.White64, - modifier = Modifier.size(32.dp) - ) - HorizontalSpacer(16.dp) - Title( - text = stringResource(R.string.slashtags__your_name_capital), - Modifier.testTag("EmptyProfileHeader") - ) - } - }, + title = {}, actions = { AppStatus(onClick = { rootNavController.navigate(Routes.AppStatus) }) HorizontalSpacer(4.dp) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt index 5410ad6e3..aa5530af5 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt @@ -245,7 +245,6 @@ class HomeViewModel @Inject constructor( Suggestion.QUICK_PAY, Suggestion.NOTIFICATIONS.takeIf { !settings.notificationsGranted }, Suggestion.SHOP, - Suggestion.PROFILE, ) } @@ -260,7 +259,6 @@ class HomeViewModel @Inject constructor( Suggestion.SUPPORT, Suggestion.INVITE, Suggestion.SHOP, - Suggestion.PROFILE, ) } @@ -274,7 +272,6 @@ class HomeViewModel @Inject constructor( Suggestion.SECURE.takeIf { !settings.isPinEnabled }, Suggestion.SUPPORT, Suggestion.INVITE, - Suggestion.PROFILE, ) } } diff --git a/app/src/main/res/drawable-hdpi/img_cronometer.webp b/app/src/main/res/drawable-hdpi/img_cronometer.webp new file mode 100644 index 000000000..0afe73780 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_cronometer.webp differ diff --git a/app/src/main/res/drawable-mdpi/img_cronometer.webp b/app/src/main/res/drawable-mdpi/img_cronometer.webp new file mode 100644 index 000000000..caad501d4 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_cronometer.webp differ diff --git a/app/src/main/res/drawable-xhdpi/img_cronometer.webp b/app/src/main/res/drawable-xhdpi/img_cronometer.webp new file mode 100644 index 000000000..a022479b4 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_cronometer.webp differ diff --git a/app/src/main/res/drawable-xxhdpi/img_cronometer.webp b/app/src/main/res/drawable-xxhdpi/img_cronometer.webp new file mode 100644 index 000000000..af17100ac Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_cronometer.webp differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_cronometer.webp b/app/src/main/res/drawable-xxxhdpi/img_cronometer.webp new file mode 100644 index 000000000..714f1500c Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_cronometer.webp differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bd0d18aeb..938f0d724 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,6 +73,10 @@ Max Default Preview + Wallet overview + This feature is currently in development and will be available soon. + Coming\n<accent>soon</accent> + Coming soon Instant ±2-10 seconds 2-10s