Bläddra i källkod

Show Google sign-in / profile bar on every main page

Hoist scheduleTopAuthRow into makeMainPanel above mainContentHost so Photo,
Video, Tutorials, and Settings use the same control. Remove the duplicate row
from Join Meetings and align placeholder page top insets with the new layout.
Re-apply stored profile avatar when rebuilding the panel after sign-in.

Made-with: Cursor
huzaifahayat12 3 månader sedan
förälder
incheckning
f9e78da71e
1 ändrade filer med 16 tillägg och 8 borttagningar
  1. 16 8
      meetings_app/ViewController.swift

+ 16 - 8
meetings_app/ViewController.swift

@@ -642,7 +642,7 @@ private extension ViewController {
         panel.addSubview(sub)
         panel.addSubview(sub)
         NSLayoutConstraint.activate([
         NSLayoutConstraint.activate([
             titleLabel.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
             titleLabel.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
-            titleLabel.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26),
+            titleLabel.topAnchor.constraint(equalTo: panel.topAnchor),
             sub.leadingAnchor.constraint(equalTo: titleLabel.leadingAnchor),
             sub.leadingAnchor.constraint(equalTo: titleLabel.leadingAnchor),
             sub.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 8)
             sub.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 8)
         ])
         ])
@@ -919,16 +919,29 @@ private extension ViewController {
         panel.wantsLayer = true
         panel.wantsLayer = true
         panel.layer?.backgroundColor = palette.pageBackground.cgColor
         panel.layer?.backgroundColor = palette.pageBackground.cgColor
 
 
+        let authBar = scheduleTopAuthRow()
+        authBar.translatesAutoresizingMaskIntoConstraints = false
+        panel.addSubview(authBar)
+
         let host = NSView()
         let host = NSView()
         host.translatesAutoresizingMaskIntoConstraints = false
         host.translatesAutoresizingMaskIntoConstraints = false
         panel.addSubview(host)
         panel.addSubview(host)
         NSLayoutConstraint.activate([
         NSLayoutConstraint.activate([
+            authBar.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
+            authBar.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
+            authBar.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26),
+
             host.leadingAnchor.constraint(equalTo: panel.leadingAnchor),
             host.leadingAnchor.constraint(equalTo: panel.leadingAnchor),
             host.trailingAnchor.constraint(equalTo: panel.trailingAnchor),
             host.trailingAnchor.constraint(equalTo: panel.trailingAnchor),
-            host.topAnchor.constraint(equalTo: panel.topAnchor),
+            host.topAnchor.constraint(equalTo: authBar.bottomAnchor, constant: 20),
             host.bottomAnchor.constraint(equalTo: panel.bottomAnchor)
             host.bottomAnchor.constraint(equalTo: panel.bottomAnchor)
         ])
         ])
         mainContentHost = host
         mainContentHost = host
+
+        if googleOAuth.loadTokens() != nil, let profile = scheduleCurrentProfile {
+            applyGoogleProfile(profile)
+        }
+
         showSidebarPage(.joinMeetings)
         showSidebarPage(.joinMeetings)
 
 
         return panel
         return panel
@@ -944,11 +957,6 @@ private extension ViewController {
         contentStack.spacing = 14
         contentStack.spacing = 14
         contentStack.alignment = .leading
         contentStack.alignment = .leading
 
 
-        contentStack.addArrangedSubview(scheduleTopAuthRow())
-        if let authRow = contentStack.arrangedSubviews.last {
-            contentStack.setCustomSpacing(20, after: authRow)
-        }
-
         let joinActions = meetJoinActionsRow()
         let joinActions = meetJoinActionsRow()
         contentStack.addArrangedSubview(textLabel("Join Meetings", font: typography.pageTitle, color: palette.textPrimary))
         contentStack.addArrangedSubview(textLabel("Join Meetings", font: typography.pageTitle, color: palette.textPrimary))
         contentStack.addArrangedSubview(meetJoinSectionRow())
         contentStack.addArrangedSubview(meetJoinSectionRow())
@@ -968,7 +976,7 @@ private extension ViewController {
         NSLayoutConstraint.activate([
         NSLayoutConstraint.activate([
             contentStack.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
             contentStack.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
             contentStack.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
             contentStack.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
-            contentStack.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26)
+            contentStack.topAnchor.constraint(equalTo: panel.topAnchor)
         ])
         ])
 
 
         Task { [weak self] in
         Task { [weak self] in