Order the project picker by most recently selected

This commit is contained in:
Ian Gulliver
2026-10-22 13:16:19 -07:00
parent e61e491d47
commit d5ffd5b128
2 changed files with 14 additions and 10 deletions
+8 -4
View File
@@ -511,6 +511,10 @@ final class Store {
}
func applyFocus(_ f: Focus) {
if f.projectId != focus.projectId {
markVisited(focus.projectId)
markVisited(f.projectId)
}
focus = f
if f.taskId != selectedTaskId {
selectTask(f.taskId)
@@ -662,14 +666,14 @@ final class Store {
}
}
private func markVisited(_ taskId: String?) {
guard let taskId else {
private func markVisited(_ id: String?) {
guard let id else {
return
}
let at = Date().timeIntervalSince1970 * 1000
let records = fetchRecords(FetchDescriptor<VisitRecord>(predicate: #Predicate { $0.taskId == taskId }))
let records = fetchRecords(FetchDescriptor<VisitRecord>(predicate: #Predicate { $0.taskId == id }))
if records.isEmpty {
persistence.insert(VisitRecord(taskId: taskId, at: at))
persistence.insert(VisitRecord(taskId: id, at: at))
} else {
records[0].at = at
for record in records.dropFirst() {