enable mark as read/unread

This commit is contained in:
Stefano Sansone
2024-02-14 09:22:59 +00:00
parent 150444efb4
commit 5427295fdd
4 changed files with 55 additions and 53 deletions

View File

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

View File

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

View File

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

View File

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