Skip to main content

make the icons a different size if the item is selected

ID
1507ae3
date
2023-06-10 21:04:06+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
f464461
message
make the icons a different size if the item is selected
changed files
3 files, 15 additions, 10 deletions

Changed files

BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift (854) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift (1017)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift
index 0adb2fe..f17921c 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/FavoriteOverlay.swift
@@ -6,9 +6,11 @@ import Photos
 /// This is meant to match the way favorite items are marked in Photos.
 struct FavoriteHeartIcon: ViewModifier {
     let isFavorite: Bool
+    let isFocused: Bool
     
-    init(_ isFavorite: Bool) {
+    init(_ isFavorite: Bool, _ isFocused: Bool) {
         self.isFavorite = isFavorite
+        self.isFocused = isFocused
     }
     
     func body(content: Content) -> some View {
@@ -17,6 +19,7 @@ struct FavoriteHeartIcon: ViewModifier {
                 Image(systemName: "heart.fill")
                     .foregroundColor(.white)
                     .padding(3)
+                    .font(isFocused ? .title3 : .body)
                     .shadow(radius: 2.0)
             }
         } else {
@@ -26,7 +29,7 @@ struct FavoriteHeartIcon: ViewModifier {
 }
 
 extension View {
-    func favoriteHeartIcon(_ isFavorite: Bool) -> some View {
-        modifier(FavoriteHeartIcon(isFavorite))
+    func favoriteHeartIcon(_ isFavorite: Bool, _ isFocused: Bool) -> some View {
+        modifier(FavoriteHeartIcon(isFavorite, isFocused))
     }
 }

BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift (1956) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift (1978)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
index 47d51f8..fd03ccc 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
@@ -42,9 +42,9 @@ struct NewThumbnailImage: View {
             .clipped()
             .frame(width: self.size, height: self.size, alignment: .center)
             .cornerRadius(cornerRadius)
-            .reviewStateBorder(for: state, with: cornerRadius)
-            .reviewStateIcon(for: state)
             .reviewStateColor(isRejected: state == .Rejected)
-            .favoriteHeartIcon(isFavorite)
+            .reviewStateBorder(for: state, with: cornerRadius)
+            .reviewStateIcon(for: state, isFocused)
+            .favoriteHeartIcon(isFavorite, isFocused)
     }
 }

BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift (893) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift (1023)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift
index 1133501..06f9ab2 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateIcon.swift
@@ -4,9 +4,11 @@ import SwiftUI
 /// for "Approved" images.
 struct ReviewStateIcon: ViewModifier {
     let state: ReviewState?
+    let isFocused: Bool
     
-    init(_ state: ReviewState?) {
+    init(_ state: ReviewState?, _ isFocused: Bool) {
         self.state = state
+        self.isFocused = isFocused
     }
     
     func body(content: Content) -> some View {
@@ -16,7 +18,7 @@ struct ReviewStateIcon: ViewModifier {
                     .foregroundStyle(.white, thisState.color())
                     .symbolRenderingMode(.palette)
                     .padding(2)
-                    .font(.title2)
+                    .font(isFocused ? .title2 : .title3)
                     .shadow(radius: 2.0)
             }
         } else {
@@ -26,7 +28,7 @@ struct ReviewStateIcon: ViewModifier {
 }
 
 extension View {
-    func reviewStateIcon(for state: ReviewState?) -> some View {
-        modifier(ReviewStateIcon(state))
+    func reviewStateIcon(for state: ReviewState?, _ isFocused: Bool) -> some View {
+        modifier(ReviewStateIcon(state, isFocused))
     }
 }