enable mark as read/unread
This commit is contained in:
@ -131,7 +131,7 @@ fun LibraryNavigationBar(
|
||||
contentDescription = null
|
||||
)
|
||||
}
|
||||
/* IconButton(onClick = { isMenuExpanded = true } ) {
|
||||
IconButton(onClick = { isMenuExpanded = true } ) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.MoreVert,
|
||||
contentDescription = null
|
||||
@ -144,7 +144,7 @@ fun LibraryNavigationBar(
|
||||
onDismiss = { isMenuExpanded = false },
|
||||
)
|
||||
}
|
||||
}*/
|
||||
}
|
||||
} ?: run {
|
||||
IconButton(onClick = onSearchClicked) {
|
||||
Icon(
|
||||
|
||||
@ -332,7 +332,8 @@ class LibraryViewModel @Inject constructor(
|
||||
mapOf(
|
||||
"id" to itemID,
|
||||
"readingProgressPercent" to 100.0,
|
||||
"readingProgressAnchorIndex" to 0
|
||||
"readingProgressAnchorIndex" to 0,
|
||||
"force" to true
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -346,7 +347,8 @@ class LibraryViewModel @Inject constructor(
|
||||
mapOf(
|
||||
"id" to itemID,
|
||||
"readingProgressPercent" to 0,
|
||||
"readingProgressAnchorIndex" to 0
|
||||
"readingProgressAnchorIndex" to 0,
|
||||
"force" to true
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@ -4,47 +4,46 @@ import androidx.compose.material3.DropdownMenu
|
||||
import androidx.compose.material3.DropdownMenuItem
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
|
||||
enum class SavedItemFilter(val displayText: String, val rawValue: String, val queryString: String) {
|
||||
INBOX("Inbox", rawValue = "inbox", "in:inbox"),
|
||||
READ_LATER("Non-Feed Items", "nonFeed", "no:subscription"),
|
||||
FEEDS("Feeds", "feeds", "in:inbox label:RSS"),
|
||||
NEWSLETTERS("Newsletters", "newsletters", "in:inbox label:Newsletter"),
|
||||
// RECOMMENDED("Recommended", "recommended", "recommendedBy:*"),
|
||||
ALL("All", "all", "in:all"),
|
||||
ARCHIVED("Archived", "archived", "in:archive"),
|
||||
// HAS_HIGHLIGHTS("Highlighted", "hasHighlights", "has:highlights"),
|
||||
FILES("Files", "files", "type:file"),
|
||||
INBOX("Inbox", rawValue = "inbox", "in:inbox"), READ_LATER(
|
||||
"Non-Feed Items", "nonFeed", "no:subscription"
|
||||
),
|
||||
FEEDS("Feeds", "feeds", "in:inbox label:RSS"), NEWSLETTERS(
|
||||
"Newsletters", "newsletters", "in:inbox label:Newsletter"
|
||||
),
|
||||
|
||||
// RECOMMENDED("Recommended", "recommended", "recommendedBy:*"),
|
||||
ALL("All", "all", "in:all"), ARCHIVED("Archived", "archived", "in:archive"),
|
||||
|
||||
// HAS_HIGHLIGHTS("Highlighted", "hasHighlights", "has:highlights"),
|
||||
FILES("Files", "files", "type:file"),
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun SavedItemFilterContextMenu(
|
||||
isExpanded: Boolean,
|
||||
onDismiss: () -> Unit,
|
||||
actionHandler: (SavedItemFilter) -> Unit
|
||||
isExpanded: Boolean, onDismiss: () -> Unit, actionHandler: (SavedItemFilter) -> Unit
|
||||
) {
|
||||
DropdownMenu(
|
||||
expanded = isExpanded,
|
||||
onDismissRequest = onDismiss
|
||||
) {
|
||||
// Displaying only a subset of filters until we figure out the Room DB queries (and labels)
|
||||
DropdownMenu(
|
||||
expanded = isExpanded, onDismissRequest = onDismiss
|
||||
) {
|
||||
// Displaying only a subset of filters until we figure out the Room DB queries (and labels)
|
||||
// SavedItemFilter.values().forEach {
|
||||
listOf(
|
||||
SavedItemFilter.INBOX,
|
||||
SavedItemFilter.READ_LATER,
|
||||
SavedItemFilter.NEWSLETTERS,
|
||||
SavedItemFilter.FEEDS,
|
||||
SavedItemFilter.ALL,
|
||||
SavedItemFilter.ARCHIVED,
|
||||
SavedItemFilter.FILES
|
||||
).forEach {
|
||||
DropdownMenuItem(
|
||||
text = { Text(it.displayText) },
|
||||
onClick = {
|
||||
actionHandler(it)
|
||||
onDismiss()
|
||||
listOf(
|
||||
SavedItemFilter.INBOX,
|
||||
SavedItemFilter.READ_LATER,
|
||||
SavedItemFilter.NEWSLETTERS,
|
||||
SavedItemFilter.FEEDS,
|
||||
SavedItemFilter.ALL,
|
||||
SavedItemFilter.ARCHIVED,
|
||||
SavedItemFilter.FILES
|
||||
).forEach {
|
||||
DropdownMenuItem(text = { Text(text = it.displayText, fontWeight = FontWeight.Normal) },
|
||||
onClick = {
|
||||
actionHandler(it)
|
||||
onDismiss()
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,36 +4,37 @@ import androidx.compose.material3.DropdownMenu
|
||||
import androidx.compose.material3.DropdownMenuItem
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
|
||||
enum class SavedItemSortFilter(
|
||||
val displayText: String,
|
||||
val rawValue: String,
|
||||
val queryString: String
|
||||
val displayText: String, val rawValue: String, val queryString: String
|
||||
) {
|
||||
NEWEST("Newest", rawValue = "newest", "sort:saved"),
|
||||
OLDEST("Oldest", rawValue = "oldest", "sort:saved-ASC"),
|
||||
RECENTLY_READ("Recently Read", rawValue = "recentlyRead", "sort:read"),
|
||||
NEWEST("Newest", rawValue = "newest", "sort:saved"), OLDEST(
|
||||
"Oldest",
|
||||
rawValue = "oldest",
|
||||
"sort:saved-ASC"
|
||||
),
|
||||
RECENTLY_READ(
|
||||
"Recently Read",
|
||||
rawValue = "recentlyRead",
|
||||
"sort:read"
|
||||
),
|
||||
RECENTLY_PUBLISHED("Recently Published", rawValue = "recentlyPublished", "sort:published"),
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun SavedItemSortFilterContextMenu(
|
||||
isExpanded: Boolean,
|
||||
onDismiss: () -> Unit,
|
||||
actionHandler: (SavedItemSortFilter) -> Unit
|
||||
isExpanded: Boolean, onDismiss: () -> Unit, actionHandler: (SavedItemSortFilter) -> Unit
|
||||
) {
|
||||
DropdownMenu(
|
||||
expanded = isExpanded,
|
||||
onDismissRequest = onDismiss
|
||||
expanded = isExpanded, onDismissRequest = onDismiss
|
||||
) {
|
||||
SavedItemSortFilter.values().forEach {
|
||||
DropdownMenuItem(
|
||||
text = { Text(it.displayText) },
|
||||
SavedItemSortFilter.entries.forEach {
|
||||
DropdownMenuItem(text = { Text(text = it.displayText, fontWeight = FontWeight.Normal) },
|
||||
onClick = {
|
||||
actionHandler(it)
|
||||
onDismiss()
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user