navigate to webreader by using the navhost

This commit is contained in:
Satindar Dhillon 2022-08-31 11:41:30 -07:00
parent 3e41d3d59b
commit ca54edad26
3 changed files with 9 additions and 26 deletions

View file

@ -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

View file

@ -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<String?>(null) }
val linkedItems: List<LinkedItem> 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) {

View file

@ -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") ?: "")
}
}
}