Переглянути джерело

Fix light-mode styling for the profile logout popover.

Apply light-theme colors for the popover and logout row, and rebuild the popover on open so theme toggles are reflected immediately.

Made-with: Cursor
huzaifahayat12 3 місяців тому
батько
коміт
409e07fb41
1 змінених файлів з 24 додано та 8 видалено
  1. 24 8
      zoom_app/ViewController.swift

+ 24 - 8
zoom_app/ViewController.swift

@@ -1516,9 +1516,8 @@ class ViewController: NSViewController {
 
     private func showProfileMenu() {
         guard let button = topBarAuthButton else { return }
-        if profileMenuPopover == nil {
-            profileMenuPopover = makeProfileMenuPopover()
-        }
+        // Recreate so the popover always matches current light/dark mode.
+        profileMenuPopover = makeProfileMenuPopover()
         guard let popover = profileMenuPopover else { return }
         if popover.isShown {
             popover.performClose(nil)
@@ -1538,18 +1537,27 @@ class ViewController: NSViewController {
         root.layer?.cornerRadius = 12
         root.layer?.backgroundColor = (palette.isDarkMode
             ? NSColor(calibratedRed: 30 / 255, green: 33 / 255, blue: 40 / 255, alpha: 1)
-            : NSColor(calibratedWhite: 0.15, alpha: 1)
+            : NSColor(calibratedRed: 246 / 255, green: 247 / 255, blue: 250 / 255, alpha: 1)
         ).cgColor
         root.layer?.borderWidth = 1
-        root.layer?.borderColor = NSColor.white.withAlphaComponent(palette.isDarkMode ? 0.08 : 0.16).cgColor
+        root.layer?.borderColor = (palette.isDarkMode
+            ? NSColor.white.withAlphaComponent(0.08)
+            : NSColor.black.withAlphaComponent(0.08)
+        ).cgColor
 
         let logoutButton = NSButton(title: "Logout", target: self, action: #selector(profileMenuLogoutTapped))
         logoutButton.translatesAutoresizingMaskIntoConstraints = false
         logoutButton.isBordered = false
         logoutButton.wantsLayer = true
         logoutButton.layer?.cornerRadius = 9
-        logoutButton.layer?.backgroundColor = NSColor.white.withAlphaComponent(palette.isDarkMode ? 0.08 : 0.14).cgColor
-        logoutButton.contentTintColor = .white
+        logoutButton.layer?.backgroundColor = (palette.isDarkMode
+            ? NSColor.white.withAlphaComponent(0.08)
+            : NSColor(calibratedWhite: 0.0, alpha: 0.06)
+        ).cgColor
+        logoutButton.contentTintColor = (palette.isDarkMode
+            ? .white
+            : NSColor(calibratedRed: 22 / 255, green: 24 / 255, blue: 29 / 255, alpha: 1)
+        )
         logoutButton.font = .systemFont(ofSize: 13, weight: .semibold)
         logoutButton.alignment = .left
         logoutButton.imagePosition = .imageLeading
@@ -1560,7 +1568,15 @@ class ViewController: NSViewController {
             logoutButton.image = symbol.withSymbolConfiguration(.init(pointSize: 13, weight: .semibold))
         }
 
-        let subtitle = makeLabel("Account", size: 11, color: NSColor.white.withAlphaComponent(0.72), weight: .medium, centered: false)
+        let subtitle = makeLabel(
+            "Account",
+            size: 11,
+            color: palette.isDarkMode
+                ? NSColor.white.withAlphaComponent(0.72)
+                : NSColor(calibratedRed: 88 / 255, green: 92 / 255, blue: 102 / 255, alpha: 1),
+            weight: .medium,
+            centered: false
+        )
         subtitle.translatesAutoresizingMaskIntoConstraints = false
 
         root.addSubview(subtitle)