Sfoglia il codice sorgente

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 1 settimana fa
parent
commit
f9e78da71e
1 ha cambiato i file con 16 aggiunte e 8 eliminazioni
  1. 16 8
      meetings_app/ViewController.swift

+ 16 - 8
meetings_app/ViewController.swift

@@ -642,7 +642,7 @@ private extension ViewController {
642
         panel.addSubview(sub)
642
         panel.addSubview(sub)
643
         NSLayoutConstraint.activate([
643
         NSLayoutConstraint.activate([
644
             titleLabel.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
644
             titleLabel.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
645
-            titleLabel.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26),
645
+            titleLabel.topAnchor.constraint(equalTo: panel.topAnchor),
646
             sub.leadingAnchor.constraint(equalTo: titleLabel.leadingAnchor),
646
             sub.leadingAnchor.constraint(equalTo: titleLabel.leadingAnchor),
647
             sub.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 8)
647
             sub.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 8)
648
         ])
648
         ])
@@ -919,16 +919,29 @@ private extension ViewController {
919
         panel.wantsLayer = true
919
         panel.wantsLayer = true
920
         panel.layer?.backgroundColor = palette.pageBackground.cgColor
920
         panel.layer?.backgroundColor = palette.pageBackground.cgColor
921
 
921
 
922
+        let authBar = scheduleTopAuthRow()
923
+        authBar.translatesAutoresizingMaskIntoConstraints = false
924
+        panel.addSubview(authBar)
925
+
922
         let host = NSView()
926
         let host = NSView()
923
         host.translatesAutoresizingMaskIntoConstraints = false
927
         host.translatesAutoresizingMaskIntoConstraints = false
924
         panel.addSubview(host)
928
         panel.addSubview(host)
925
         NSLayoutConstraint.activate([
929
         NSLayoutConstraint.activate([
930
+            authBar.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
931
+            authBar.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
932
+            authBar.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26),
933
+
926
             host.leadingAnchor.constraint(equalTo: panel.leadingAnchor),
934
             host.leadingAnchor.constraint(equalTo: panel.leadingAnchor),
927
             host.trailingAnchor.constraint(equalTo: panel.trailingAnchor),
935
             host.trailingAnchor.constraint(equalTo: panel.trailingAnchor),
928
-            host.topAnchor.constraint(equalTo: panel.topAnchor),
936
+            host.topAnchor.constraint(equalTo: authBar.bottomAnchor, constant: 20),
929
             host.bottomAnchor.constraint(equalTo: panel.bottomAnchor)
937
             host.bottomAnchor.constraint(equalTo: panel.bottomAnchor)
930
         ])
938
         ])
931
         mainContentHost = host
939
         mainContentHost = host
940
+
941
+        if googleOAuth.loadTokens() != nil, let profile = scheduleCurrentProfile {
942
+            applyGoogleProfile(profile)
943
+        }
944
+
932
         showSidebarPage(.joinMeetings)
945
         showSidebarPage(.joinMeetings)
933
 
946
 
934
         return panel
947
         return panel
@@ -944,11 +957,6 @@ private extension ViewController {
944
         contentStack.spacing = 14
957
         contentStack.spacing = 14
945
         contentStack.alignment = .leading
958
         contentStack.alignment = .leading
946
 
959
 
947
-        contentStack.addArrangedSubview(scheduleTopAuthRow())
948
-        if let authRow = contentStack.arrangedSubviews.last {
949
-            contentStack.setCustomSpacing(20, after: authRow)
950
-        }
951
-
952
         let joinActions = meetJoinActionsRow()
960
         let joinActions = meetJoinActionsRow()
953
         contentStack.addArrangedSubview(textLabel("Join Meetings", font: typography.pageTitle, color: palette.textPrimary))
961
         contentStack.addArrangedSubview(textLabel("Join Meetings", font: typography.pageTitle, color: palette.textPrimary))
954
         contentStack.addArrangedSubview(meetJoinSectionRow())
962
         contentStack.addArrangedSubview(meetJoinSectionRow())
@@ -968,7 +976,7 @@ private extension ViewController {
968
         NSLayoutConstraint.activate([
976
         NSLayoutConstraint.activate([
969
             contentStack.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
977
             contentStack.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 28),
970
             contentStack.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
978
             contentStack.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -28),
971
-            contentStack.topAnchor.constraint(equalTo: panel.topAnchor, constant: 26)
979
+            contentStack.topAnchor.constraint(equalTo: panel.topAnchor)
972
         ])
980
         ])
973
 
981
 
974
         Task { [weak self] in
982
         Task { [weak self] in