Просмотр исходного кода

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 месяцев назад
Родитель
Сommit
f9e78da71e
1 измененных файлов с 16 добавлено и 8 удалено
  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