Bladeren bron

Improve Google button icon spacing and sizing.

Increase auth button icon size and add explicit trailing padding between icon and title for cleaner visual balance in signed-in and signed-out states.

Made-with: Cursor
huzaifahayat12 1 week geleden
bovenliggende
commit
1e8e8bb5f9
1 gewijzigde bestanden met toevoegingen van 19 en 5 verwijderingen
  1. 19 5
      meetings_app/ViewController.swift

+ 19 - 5
meetings_app/ViewController.swift

@@ -2968,17 +2968,17 @@ private extension ViewController {
2968 2968
             .foregroundColor: titleColor
2969 2969
         ])
2970 2970
         let textWidth = (title as NSString).size(withAttributes: [.font: titleFont]).width
2971
-        let idealWidth = ceil(textWidth + 74) // icon + extra left inset + cleaner side padding
2971
+        let idealWidth = ceil(textWidth + 80) // icon + spacing + side padding
2972 2972
         scheduleGoogleAuthButtonWidthConstraint?.constant = min(320, max(188, idealWidth))
2973 2973
 
2974 2974
         if signedIn {
2975 2975
             let symbol = NSImage(systemSymbolName: "person.crop.circle.fill", accessibilityDescription: "Profile")
2976
-            button.image = symbol.flatMap { resizedImage($0, to: NSSize(width: 20, height: 20)) }
2977
-            button.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 20, weight: .regular)
2976
+            button.image = symbol.flatMap { paddedTrailingImage($0, iconSize: NSSize(width: 22, height: 22), trailingPadding: 8) }
2977
+            button.symbolConfiguration = NSImage.SymbolConfiguration(pointSize: 22, weight: .regular)
2978 2978
             button.contentTintColor = palette.textPrimary
2979 2979
         } else {
2980 2980
             if let g = NSImage(named: "GoogleGLogo") {
2981
-                button.image = resizedImage(g, to: NSSize(width: 20, height: 20))
2981
+                button.image = paddedTrailingImage(g, iconSize: NSSize(width: 22, height: 22), trailingPadding: 8)
2982 2982
             } else {
2983 2983
                 button.image = nil
2984 2984
             }
@@ -3013,7 +3013,7 @@ private extension ViewController {
3013 3013
                 if Task.isCancelled { return }
3014 3014
                 guard let image = NSImage(data: data) else { return }
3015 3015
                 await MainActor.run {
3016
-                    self?.scheduleGoogleAuthButton?.image = self?.resizedImage(image, to: NSSize(width: 20, height: 20))
3016
+                    self?.scheduleGoogleAuthButton?.image = self?.paddedTrailingImage(image, iconSize: NSSize(width: 22, height: 22), trailingPadding: 8)
3017 3017
                     self?.scheduleGoogleAuthButton?.contentTintColor = nil
3018 3018
                 }
3019 3019
             } catch {
@@ -3034,6 +3034,20 @@ private extension ViewController {
3034 3034
         return result
3035 3035
     }
3036 3036
 
3037
+    private func paddedTrailingImage(_ image: NSImage, iconSize: NSSize, trailingPadding: CGFloat) -> NSImage {
3038
+        let base = resizedImage(image, to: iconSize)
3039
+        let canvas = NSSize(width: iconSize.width + trailingPadding, height: iconSize.height)
3040
+        let result = NSImage(size: canvas)
3041
+        result.lockFocus()
3042
+        base.draw(in: NSRect(x: 0, y: 0, width: iconSize.width, height: iconSize.height),
3043
+                  from: NSRect(origin: .zero, size: base.size),
3044
+                  operation: .copy,
3045
+                  fraction: 1.0)
3046
+        result.unlockFocus()
3047
+        result.isTemplate = false
3048
+        return result
3049
+    }
3050
+
3037 3051
     private func applyGoogleAuthButtonSurface() {
3038 3052
         guard let button = scheduleGoogleAuthButton else { return }
3039 3053
         let isDark = darkModeEnabled