Updated sorting for feature items
This commit is contained in:
@ -51,15 +51,11 @@ import Views
|
||||
self.items = items
|
||||
|
||||
// now try to update the continue reading items:
|
||||
featureItems = items.filter { item in
|
||||
featureItems = (items.filter { item in
|
||||
featureFilter.predicate.evaluate(with: item)
|
||||
}
|
||||
.sorted(by: { left, right in
|
||||
if let lreadAt = left.readAt, let rreadAt = right.readAt {
|
||||
return lreadAt > rreadAt
|
||||
}
|
||||
return false
|
||||
})
|
||||
} as NSArray)
|
||||
.sortedArray(using: [featureFilter.sortDescriptor])
|
||||
.compactMap { $0 as? LinkedItem }
|
||||
}
|
||||
|
||||
func handleReaderItemNotification(objectID: NSManagedObjectID, dataService: DataService) {
|
||||
|
||||
@ -125,13 +125,23 @@ public extension FeaturedItemFilter {
|
||||
let newsletterLabelPredicate = NSPredicate(
|
||||
format: "SUBQUERY(labels, $label, $label.name == \"Newsletter\").@count > 0"
|
||||
)
|
||||
return NSCompoundPredicate(andPredicateWithSubpredicates: [notInArchivePredicate, newsletterLabelPredicate])
|
||||
return NSCompoundPredicate(andPredicateWithSubpredicates: [notInArchivePredicate, undeletedPredicate, newsletterLabelPredicate])
|
||||
case .recommended:
|
||||
// non-archived or deleted items with the Newsletter label
|
||||
let recommendedPredicate = NSPredicate(
|
||||
format: "recommendations.@count > 0"
|
||||
)
|
||||
return NSCompoundPredicate(andPredicateWithSubpredicates: [notInArchivePredicate, recommendedPredicate])
|
||||
return NSCompoundPredicate(andPredicateWithSubpredicates: [notInArchivePredicate, undeletedPredicate, recommendedPredicate])
|
||||
}
|
||||
}
|
||||
|
||||
var sortDescriptor: NSSortDescriptor {
|
||||
let savedAtSort = NSSortDescriptor(key: #keyPath(LinkedItem.savedAt), ascending: false)
|
||||
switch self {
|
||||
case .continueReading:
|
||||
return NSSortDescriptor(key: #keyPath(LinkedItem.readAt), ascending: false)
|
||||
default:
|
||||
return savedAtSort
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -804,6 +804,7 @@ export const saveArticleReadingProgressResolver = authorized<
|
||||
readingProgressTopPercent: readingProgressTopPercentToSave,
|
||||
readAt: new Date(),
|
||||
}
|
||||
console.log('updatedPart: ', updatedPart)
|
||||
const updated = await updatePage(id, updatedPart, { pubsub, uid })
|
||||
if (!updated) {
|
||||
return { errorCodes: [SaveArticleReadingProgressErrorCode.NotFound] }
|
||||
|
||||
@ -58,9 +58,8 @@ const App = () => {
|
||||
<>
|
||||
<Box
|
||||
css={{
|
||||
overflowY: 'auto',
|
||||
height: '100%',
|
||||
width: '100vw',
|
||||
// height: '100vh',
|
||||
// width: '100vw',
|
||||
paddingTop: window.webkit ? 0 : '48px', // add 48px to android only
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user