Skip to main content

jump to last unreviewed/random unreviewed

ID
fedef80
date
2023-06-10 22:14:31+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
46792a0
message
jump to last unreviewed/random unreviewed
changed files
1 file, 20 additions

Changed files

BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10787) → BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (11686)

diff --git a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
index e4f01e2..1b2a292 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
@@ -163,6 +163,26 @@ struct PhotoReviewer: View {
             case let e where e.characters == "s":
                 showStatistics.toggle()
             
+            case let e where e.characters == "u":
+                if photosLibrary.state(of: focusedAsset) != nil {
+                    if let lastUnreviewed = (focusedAssetIndex..<photosLibrary.assets2.count).first(where: { index in
+                        photosLibrary.state(of: photosLibrary.assets2.object(at: index)) == nil
+                    }) {
+                        focusedAssetIndex = lastUnreviewed
+                    }
+                }
+            
+            case let e where e.characters == "?":
+                while true {
+                    let randomIndex = (0..<photosLibrary.assets2.count).randomElement()!
+                    
+                    if photosLibrary.state(of: photosLibrary.assets2.object(at: randomIndex)) == nil {
+                        focusedAssetIndex = randomIndex
+                        break
+                    }
+                }
+            
+
             default:
                 logger.info("Received unhandled keyboard event: \(event, privacy: .public)")
                 break