Updated sorting for feature items

This commit is contained in:
Jackson Harper
2023-04-04 22:21:27 +08:00
parent 6f8934fe59
commit 2ed1c2b186
5 changed files with 20 additions and 14 deletions

View File

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

View File

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

View File

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

View File

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