From ca54edad2637ce50bc88972cf065fd1b8fe766bf Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Wed, 31 Aug 2022 11:41:30 -0700 Subject: [PATCH] navigate to webreader by using the navhost --- .../omnivore/ui/auth/WelcomeScreen.kt | 2 -- .../app/omnivore/omnivore/ui/home/HomeView.kt | 25 +++---------------- .../app/omnivore/omnivore/ui/root/RootView.kt | 8 +++--- 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/WelcomeScreen.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/WelcomeScreen.kt index 455037475..f839361cf 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/WelcomeScreen.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/auth/WelcomeScreen.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.content.Intent import android.net.Uri import androidx.compose.foundation.Image -import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.text.ClickableText @@ -19,7 +18,6 @@ import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString -import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt index 68514c71a..a3e70e67c 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/home/HomeView.kt @@ -25,6 +25,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.window.Dialog import androidx.navigation.NavHostController +import app.omnivore.omnivore.Routes import app.omnivore.omnivore.ui.auth.LoginViewModel import com.google.android.gms.auth.api.signin.GoogleSignIn import com.google.android.gms.auth.api.signin.GoogleSignInOptions @@ -64,7 +65,6 @@ fun HomeViewContent( homeViewModel: HomeViewModel, navController: NavHostController ) { - val selectedItemSlug = remember { mutableStateOf(null) } val linkedItems: List by homeViewModel.itemsLiveData.observeAsState(listOf()) // Fetch items @@ -91,16 +91,12 @@ fun HomeViewContent( items(linkedItems) { item -> LinkedItemCard( item = item, - onClickHandler = { selectedItemSlug.value = item.slug } + onClickHandler = { + navController.navigate("WebReader/${item.slug}") + } ) } } - - if (selectedItemSlug.value != null) { - ArticleWebViewDialog(selectedItemSlug.value!!) { - selectedItemSlug.value = null - } - } } @Composable @@ -121,19 +117,6 @@ fun LogoutButton(actionHandler: () -> Unit) { } } - -@Composable -fun ArticleWebViewDialog(slug: String, onDismiss: () -> Unit) { - Dialog(onDismissRequest = { onDismiss() }) { - Surface( - shape = RoundedCornerShape(16.dp), - color = Color.White - ) { - ArticleWebView(slug) - } - } -} - @SuppressLint("SetJavaScriptEnabled") @Composable fun ArticleWebView(slug: String) { diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/root/RootView.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/root/RootView.kt index cc4d5c2f5..4dc195028 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/root/RootView.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/root/RootView.kt @@ -9,6 +9,7 @@ import androidx.navigation.compose.rememberNavController import app.omnivore.omnivore.Routes import app.omnivore.omnivore.ui.auth.LoginViewModel import app.omnivore.omnivore.ui.auth.WelcomeScreen +import app.omnivore.omnivore.ui.home.ArticleWebView import app.omnivore.omnivore.ui.home.HomeView import app.omnivore.omnivore.ui.home.HomeViewModel @@ -35,8 +36,9 @@ fun PrimaryNavigator(loginViewModel: LoginViewModel, homeViewModel: HomeViewMode navController = navController ) } -// composable(Routes.EmailLogin.route) { -// EmailLoginPage(viewModel = viewModel, navController = navController) -// } + + composable("WebReader/{slug}") { + ArticleWebView(it.arguments?.getString("slug") ?: "") + } } }