mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
navigate to webreader by using the navhost
This commit is contained in:
parent
3e41d3d59b
commit
ca54edad26
3 changed files with 9 additions and 26 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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") ?: "")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue