From 415af59550a58859d11d2b47dccfc7b0f54a86a3 Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Wed, 22 Feb 2023 16:23:44 -0800 Subject: [PATCH] stub in labels selection sheet --- .../omnivore/ui/library/LibraryFilterBar.kt | 11 +++++++ .../omnivore/ui/library/LibraryView.kt | 30 +++++++++++++++++++ .../omnivore/ui/library/LibraryViewModel.kt | 3 ++ .../ui/savedItemViews/SavedItemCard.kt | 2 -- 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryFilterBar.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryFilterBar.kt index 60f4df207..0829aa8f3 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryFilterBar.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryFilterBar.kt @@ -48,6 +48,17 @@ fun LibraryFilterBar(viewModel: LibraryViewModel) { }, modifier = Modifier.padding(end = 6.dp) ) + AssistChip( + onClick = { viewModel.showLabelsSelectionSheetLiveData.value = true }, + label = { Text("Labels") }, + trailingIcon = { + Icon( + Icons.Default.ArrowDropDown, + contentDescription = "drop down button to open label selection sheet" + ) + }, + modifier = Modifier.padding(end = 6.dp) + ) } SavedItemFilterContextMenu( diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt index 00b8a6315..32c265eb2 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryView.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.pullrefresh.PullRefreshIndicator import androidx.compose.material.pullrefresh.pullRefresh @@ -16,8 +17,10 @@ import androidx.compose.runtime.* import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp +import androidx.compose.ui.window.Dialog import androidx.navigation.NavHostController import app.omnivore.omnivore.Routes import app.omnivore.omnivore.persistence.entities.SavedItemCardDataWithLabels @@ -109,6 +112,8 @@ fun LibraryViewContent(libraryViewModel: LibraryViewModel, modifier: Modifier) { state = pullRefreshState, modifier = Modifier.align(Alignment.TopCenter) ) + + LabelsSelectionSheet(viewModel = libraryViewModel) } } @@ -136,3 +141,28 @@ fun InfiniteListHandler( } } } + +@Composable +fun LabelsSelectionSheet(viewModel: LibraryViewModel) { + val isActive: Boolean by viewModel.showLabelsSelectionSheetLiveData.observeAsState(false) + + if (isActive) { + Dialog(onDismissRequest = { viewModel.showLabelsSelectionSheetLiveData.value = false } ) { + Surface( + modifier = Modifier.fillMaxSize(), + shape = RoundedCornerShape(16.dp) + ) { + Box( + contentAlignment = Alignment.Center + ) { + Text(modifier = Modifier.align(Alignment.TopCenter), + text = "top") + Text("center") + Text( + modifier = Modifier.align(Alignment.BottomCenter), + text = "bottom") + } + } + } + } +} diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt index 4ae32dd0e..40f984fd4 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/library/LibraryViewModel.kt @@ -1,6 +1,8 @@ package app.omnivore.omnivore.ui.library import android.util.Log +import androidx.compose.material.ModalBottomSheetValue +import androidx.compose.material.rememberModalBottomSheetState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -41,6 +43,7 @@ class LibraryViewModel @Inject constructor( val itemsLiveData = MediatorLiveData>() val appliedFilterLiveData = MutableLiveData(SavedItemFilter.INBOX) val appliedSortFilterLiveData = MutableLiveData(SavedItemSortFilter.NEWEST) + val showLabelsSelectionSheetLiveData = MutableLiveData(false) var isRefreshing by mutableStateOf(false) var showSearchField by mutableStateOf(false) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/savedItemViews/SavedItemCard.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/savedItemViews/SavedItemCard.kt index c97ba8609..bd81e3ef9 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/savedItemViews/SavedItemCard.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/savedItemViews/SavedItemCard.kt @@ -1,6 +1,5 @@ package app.omnivore.omnivore.ui.savedItemViews -import android.content.res.Resources.Theme import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyRow @@ -14,7 +13,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.luminance import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp