Kaynağa Gözat

Refresh sidebar logo when appearance changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 3 hafta önce
ebeveyn
işleme
1d12513295
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      smart_printer/SidebarView.swift

+ 5 - 0
smart_printer/SidebarView.swift

@@ -10,6 +10,7 @@ enum SidebarDestination: Int, CaseIterable {
 
 final class SidebarView: NSView, AppearanceRefreshable {
     private var appNameLabel: NSTextField!
+    private var logoIcon: NSImageView!
     private var premiumCard: SidebarPremiumCardView!
     var onDestinationSelected: ((SidebarDestination) -> Void)?
     var onPremiumUpgradeTapped: (() -> Void)?
@@ -41,6 +42,9 @@ final class SidebarView: NSView, AppearanceRefreshable {
     func refreshAppearance() {
         layer?.backgroundColor = AppTheme.sidebarBackground.cgColor
         appNameLabel?.refreshThemeLabelColor()
+        logoIcon?.image = nil
+        logoIcon?.image = NSImage(named: "AppLogo")
+        navItems.forEach { $0.refreshAppearance() }
         premiumCard?.refreshAppearance()
     }
 
@@ -59,6 +63,7 @@ final class SidebarView: NSView, AppearanceRefreshable {
         logoContainer.translatesAutoresizingMaskIntoConstraints = false
 
         let logoIcon = NSImageView()
+        self.logoIcon = logoIcon
         logoIcon.translatesAutoresizingMaskIntoConstraints = false
         logoIcon.image = NSImage(named: "AppLogo")
         logoIcon.imageScaling = .scaleProportionallyUpOrDown