Kaynağa Gözat

Fix Join Meetings row width resizing

Pin Join Meetings rows to the container width and lower the hard min-width priority so the layout remains responsive when locked/disabled.

Co-authored-by: Cursor <cursoragent@cursor.com>
huzaifahayat12 2 ay önce
ebeveyn
işleme
197dc66dfc
1 değiştirilmiş dosya ile 12 ekleme ve 3 silme
  1. 12 3
      meetings_app/ViewController.swift

+ 12 - 3
meetings_app/ViewController.swift

@@ -5357,9 +5357,10 @@ private extension ViewController {
         contentStack.spacing = 14
         contentStack.alignment = .leading
 
+        let joinRow = meetJoinSectionRow()
         let joinActions = meetJoinActionsRow()
         contentStack.addArrangedSubview(textLabel("Join Meetings", font: typography.pageTitle, color: palette.textPrimary))
-        contentStack.addArrangedSubview(meetJoinSectionRow())
+        contentStack.addArrangedSubview(joinRow)
         contentStack.addArrangedSubview(joinActions)
         contentStack.setCustomSpacing(26, after: joinActions)
         let scheduleHeaderView = scheduleHeader()
@@ -5382,6 +5383,10 @@ private extension ViewController {
             contentStack.topAnchor.constraint(equalTo: panel.topAnchor)
         ])
 
+        // `contentStack` uses `.leading` alignment, so key rows must opt in to stretching.
+        joinRow.widthAnchor.constraint(equalTo: contentStack.widthAnchor).isActive = true
+        joinActions.widthAnchor.constraint(equalTo: contentStack.widthAnchor).isActive = true
+
         Task { [weak self] in
             await self?.loadSchedule()
         }
@@ -5653,7 +5658,9 @@ private extension ViewController {
         row.spacing = 12
         row.alignment = .top
         row.distribution = .fillEqually
-        row.widthAnchor.constraint(greaterThanOrEqualToConstant: 880).isActive = true
+        let minWidth = row.widthAnchor.constraint(greaterThanOrEqualToConstant: 880)
+        minWidth.priority = .defaultLow
+        minWidth.isActive = true
         row.heightAnchor.constraint(equalToConstant: 140).isActive = true
 
         let instant = HoverSurfaceView()
@@ -5768,7 +5775,9 @@ private extension ViewController {
         row.orientation = .horizontal
         row.spacing = 12
         row.alignment = .centerY
-        row.widthAnchor.constraint(greaterThanOrEqualToConstant: 880).isActive = true
+        let minWidth = row.widthAnchor.constraint(greaterThanOrEqualToConstant: 880)
+        minWidth.priority = .defaultLow
+        minWidth.isActive = true
 
         let spacer = NSView()
         spacer.translatesAutoresizingMaskIntoConstraints = false