Skip to main content

create a NewThumbnailList view

ID
aab9fad
date
2023-06-10 06:48:02+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
58a8d78
message
create a NewThumbnailList view
changed files
3 files, 28 additions, 5 deletions

Changed files

BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (33422) → BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (33888)

diff --git a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
index ed69660..27abb60 100644
--- a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
+++ b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
@@ -17,6 +17,7 @@
 		94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083602A33E98000238964 /* AlbumInfoOverlay.swift */; };
 		94A083632A33F30300238964 /* LoadingIndicatorOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */; };
 		94A083662A33F50900238964 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083652A33F50900238964 /* Debug.swift */; };
+		94A083682A33F6E900238964 /* NewThumbnailList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083672A33F6E900238964 /* NewThumbnailList.swift */; };
 		94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */; };
 		94C5FFF62A33B698004ADDF5 /* PHAssetHStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */; };
 		94D2C8B92A320E6F00BEE15B /* ReviewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8B82A320E6F00BEE15B /* ReviewState.swift */; };
@@ -66,6 +67,7 @@
 		94A083602A33E98000238964 /* AlbumInfoOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumInfoOverlay.swift; sourceTree = "<group>"; };
 		94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingIndicatorOverlay.swift; sourceTree = "<group>"; };
 		94A083652A33F50900238964 /* Debug.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debug.swift; sourceTree = "<group>"; };
+		94A083672A33F6E900238964 /* NewThumbnailList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewThumbnailList.swift; sourceTree = "<group>"; };
 		94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHFetchResultCollection.swift; sourceTree = "<group>"; };
 		94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHAssetHStack.swift; sourceTree = "<group>"; };
 		94D2C8B82A320E6F00BEE15B /* ReviewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewState.swift; sourceTree = "<group>"; };
@@ -134,6 +136,7 @@
 				945F17B32A33D726004FC479 /* ReviewStateIcon.swift */,
 				945F17B52A33D7AA004FC479 /* ReviewStateBorder.swift */,
 				945F17B72A33DAC7004FC479 /* ReviewStateSaturation.swift */,
+				94A083672A33F6E900238964 /* NewThumbnailList.swift */,
 			);
 			path = Thumbnails;
 			sourceTree = "<group>";
@@ -395,6 +398,7 @@
 				94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */,
 				94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */,
 				94A083662A33F50900238964 /* Debug.swift in Sources */,
+				94A083682A33F6E900238964 /* NewThumbnailList.swift in Sources */,
 				94D750F02A31A796005859E7 /* BlinkReviewerApp.swift in Sources */,
 				940331732A336B5100200C5D /* DeferredRendering.swift in Sources */,
 				94D751202A31B53E005859E7 /* AlbumInfo.swift in Sources */,

BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10393) → BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10284)

diff --git a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
index cc997f9..b5ea9b3 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
@@ -36,11 +36,9 @@ struct PhotoReviewer: View {
         if photosLibrary.isPhotoLibraryAuthorized {
             ZStack {
                 VStack {
-                    PHAssetHStack(photosLibrary.assets2) { asset, index in
-                        NewThumbnailImage(asset, isFocused: index == focusedAssetIndex)
-                            .environmentObject(photosLibrary)
-                    }
-                    .frame(height: 90)
+                    NewThumbnailList(focusedAssetIndex: $focusedAssetIndex)
+                        .environmentObject(photosLibrary)
+                        .frame(height: 90)
                     
                     FocusedImage(assetImage: focusedAssetImage)
                     

BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailList.swift (0) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailList.swift (594)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailList.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailList.swift
new file mode 100644
index 0000000..d7cd6ff
--- /dev/null
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailList.swift
@@ -0,0 +1,21 @@
+//
+//  NewThumbnailList.swift
+//  BlinkReviewer
+//
+//  Created by Alex Chan on 10/06/2023.
+//
+
+import SwiftUI
+
+struct NewThumbnailList: View {
+    @EnvironmentObject var photosLibrary: PhotosLibrary
+    @EnvironmentObject var thumbnailManager: ThumbnailManager
+    @Binding var focusedAssetIndex: Int
+    
+    var body: some View {
+        PHAssetHStack(photosLibrary.assets2) { asset, index in
+            NewThumbnailImage(asset, assetImage: thumbnailManager.getThumbnail(for: asset), isFocused: index == focusedAssetIndex)
+                .environmentObject(photosLibrary)
+        }
+    }
+}