Quellcode durchsuchen

Fix logged-out empty-state labels leaking across sections.

Restrict guest and filtered-meetings empty labels to the active sidebar section so Home messages no longer render behind Scheduler or Meetings after logout.

Made-with: Cursor
huzaifahayat12 vor 3 Monaten
Ursprung
Commit
db53479f8e
1 geänderte Dateien mit 10 neuen und 5 gelöschten Zeilen
  1. 10 5
      zoom_app/ViewController.swift

+ 10 - 5
zoom_app/ViewController.swift

@@ -2134,14 +2134,18 @@ class ViewController: NSViewController {
 
     @MainActor
     private func applyGuestLoginMessages() {
+        let isHome = selectedHomeSidebarItem == HomeSection.home.rawValue
+        let isMeetings = selectedHomeSidebarItem == HomeSection.meetings.rawValue
+        let isScheduler = selectedHomeSidebarItem == HomeSection.scheduler.rawValue
+
         meetingsStatusLabel?.stringValue = "Sign in with Zoom to load meetings."
-        emptyMeetingLabel?.isHidden = false
+        emptyMeetingLabel?.isHidden = isHome == false
         emptyMeetingLabel?.stringValue = "Please sign in with Zoom to view your scheduled meetings."
         meetingsPageStatusLabel?.stringValue = "Sign in with Zoom to view meetings."
-        meetingsPageEmptyLabel?.isHidden = false
+        meetingsPageEmptyLabel?.isHidden = isMeetings == false
         meetingsPageEmptyLabel?.stringValue = "Please sign in with Zoom to view your meetings."
         meetingsPageCountLabel?.stringValue = "0 scheduled"
-        schedulerMeetingsEmptyLabel?.isHidden = false
+        schedulerMeetingsEmptyLabel?.isHidden = isScheduler == false
         schedulerMeetingsEmptyLabel?.stringValue = "Please sign in with Zoom to use Scheduler."
     }
 
@@ -2253,6 +2257,7 @@ class ViewController: NSViewController {
     @MainActor
     private func applyFilteredMeetings() {
         guard let stack = meetingsListStack else { return }
+        let showingHomeSection = selectedHomeSidebarItem == HomeSection.home.rawValue
         stack.arrangedSubviews.forEach { view in
             stack.removeArrangedSubview(view)
             view.removeFromSuperview()
@@ -2260,7 +2265,7 @@ class ViewController: NSViewController {
 
         guard isUserLoggedIn() else {
             meetingsStatusLabel?.stringValue = "Sign in with Zoom to load meetings."
-            emptyMeetingLabel?.isHidden = false
+            emptyMeetingLabel?.isHidden = showingHomeSection == false
             emptyMeetingLabel?.stringValue = "Please sign in with Zoom to view your scheduled meetings."
             applySchedulerMeetingsForSelectedDate()
             renderSchedulerCalendarGrid()
@@ -2294,7 +2299,7 @@ class ViewController: NSViewController {
 
         let ordered = filtered.sorted(by: { $0.start < $1.start })
         if ordered.isEmpty {
-            emptyMeetingLabel?.isHidden = false
+            emptyMeetingLabel?.isHidden = showingHomeSection == false
             if source.isEmpty {
                 meetingsStatusLabel?.stringValue = "Upcoming meetings"
                 emptyMeetingLabel?.stringValue = "No meetings scheduled for \(meetingsDayDisplayName(for: dayStart))."