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
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)
+ }
+ }
+}