stub in labels selection sheet

This commit is contained in:
Satindar Dhillon 2023-02-22 16:23:44 -08:00
parent c036d26a3f
commit 415af59550
4 changed files with 44 additions and 2 deletions

View file

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

View file

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

View file

@ -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<List<SavedItemCardDataWithLabels>>()
val appliedFilterLiveData = MutableLiveData(SavedItemFilter.INBOX)
val appliedSortFilterLiveData = MutableLiveData(SavedItemSortFilter.NEWEST)
val showLabelsSelectionSheetLiveData = MutableLiveData(false)
var isRefreshing by mutableStateOf(false)
var showSearchField by mutableStateOf(false)

View file

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