|
|
@@ -691,14 +691,14 @@ class ViewController: NSViewController {
|
|
|
content.translatesAutoresizingMaskIntoConstraints = false
|
|
|
|
|
|
NSLayoutConstraint.activate([
|
|
|
- shell.leadingAnchor.constraint(equalTo: root.leadingAnchor, constant: 8),
|
|
|
- shell.trailingAnchor.constraint(equalTo: root.trailingAnchor, constant: -8),
|
|
|
+ shell.leadingAnchor.constraint(equalTo: root.leadingAnchor, constant: 4),
|
|
|
+ shell.trailingAnchor.constraint(equalTo: root.trailingAnchor, constant: -4),
|
|
|
shell.topAnchor.constraint(equalTo: root.topAnchor, constant: 0),
|
|
|
- shell.bottomAnchor.constraint(equalTo: root.bottomAnchor, constant: -8),
|
|
|
+ shell.bottomAnchor.constraint(equalTo: root.bottomAnchor, constant: -4),
|
|
|
chromeColumn.leadingAnchor.constraint(equalTo: shell.leadingAnchor),
|
|
|
chromeColumn.topAnchor.constraint(equalTo: shell.topAnchor),
|
|
|
chromeColumn.bottomAnchor.constraint(equalTo: shell.bottomAnchor),
|
|
|
- chromeColumn.widthAnchor.constraint(equalToConstant: 146),
|
|
|
+ chromeColumn.widthAnchor.constraint(equalToConstant: 128),
|
|
|
chromeDivider.topAnchor.constraint(equalTo: chromeColumn.topAnchor),
|
|
|
chromeDivider.bottomAnchor.constraint(equalTo: chromeColumn.bottomAnchor),
|
|
|
chromeDivider.trailingAnchor.constraint(equalTo: chromeColumn.trailingAnchor),
|
|
|
@@ -790,11 +790,6 @@ class ViewController: NSViewController {
|
|
|
panel.layer?.borderWidth = 1
|
|
|
panel.layer?.borderColor = NSColor.white.withAlphaComponent(0.07).cgColor
|
|
|
|
|
|
- let panelHeaderStrip = NSView()
|
|
|
- panelHeaderStrip.wantsLayer = true
|
|
|
- panelHeaderStrip.layer?.backgroundColor = NSColor.white.withAlphaComponent(0.03).cgColor
|
|
|
- panelHeaderStrip.layer?.cornerRadius = 12
|
|
|
-
|
|
|
let todaysDateFormatter = DateFormatter()
|
|
|
todaysDateFormatter.dateFormat = "EEEE, MMM d"
|
|
|
let panelHeader = makeLabel(todaysDateFormatter.string(from: Date()), size: 21, color: primaryText, weight: .semibold, centered: false)
|
|
|
@@ -821,18 +816,11 @@ class ViewController: NSViewController {
|
|
|
openRecordings.layer?.borderWidth = 1
|
|
|
openRecordings.layer?.borderColor = NSColor.white.withAlphaComponent(0.07).cgColor
|
|
|
|
|
|
- let contentPanel = NSView()
|
|
|
- contentPanel.wantsLayer = true
|
|
|
- contentPanel.layer?.backgroundColor = contentShellBackground.cgColor
|
|
|
- contentPanel.layer?.cornerRadius = 12
|
|
|
- contentPanel.layer?.borderWidth = 1
|
|
|
- contentPanel.layer?.borderColor = NSColor.white.withAlphaComponent(0.04).cgColor
|
|
|
let contentColumn = NSView()
|
|
|
contentColumn.translatesAutoresizingMaskIntoConstraints = false
|
|
|
content.addSubview(topBar)
|
|
|
content.addSubview(topBarDivider)
|
|
|
- content.addSubview(contentPanel)
|
|
|
- contentPanel.addSubview(contentColumn)
|
|
|
+ content.addSubview(contentColumn)
|
|
|
|
|
|
[brandStack, leftTopBarCluster, rightTopBarCluster, searchPill, search].forEach {
|
|
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
|
|
@@ -844,13 +832,12 @@ class ViewController: NSViewController {
|
|
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
|
|
topBar.addSubview($0)
|
|
|
}
|
|
|
- [welcome, timeTitle, dateTitle, actions, panel, panelHeaderStrip, panelHeader, meetingsStatus, noMeeting, meetingsScrollView, openRecordings].forEach {
|
|
|
+ [welcome, timeTitle, dateTitle, actions, panel, panelHeader, meetingsStatus, noMeeting, meetingsScrollView, openRecordings].forEach {
|
|
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
|
|
contentColumn.addSubview($0)
|
|
|
}
|
|
|
topBar.translatesAutoresizingMaskIntoConstraints = false
|
|
|
topBarDivider.translatesAutoresizingMaskIntoConstraints = false
|
|
|
- contentPanel.translatesAutoresizingMaskIntoConstraints = false
|
|
|
meetingsDocument.translatesAutoresizingMaskIntoConstraints = false
|
|
|
meetingsStack.translatesAutoresizingMaskIntoConstraints = false
|
|
|
meetingsScrollView.documentView = meetingsDocument
|
|
|
@@ -869,15 +856,10 @@ class ViewController: NSViewController {
|
|
|
topBarDivider.trailingAnchor.constraint(equalTo: content.trailingAnchor),
|
|
|
topBarDivider.heightAnchor.constraint(equalToConstant: 1),
|
|
|
|
|
|
- contentPanel.topAnchor.constraint(equalTo: topBarDivider.bottomAnchor, constant: 6),
|
|
|
- contentPanel.leadingAnchor.constraint(equalTo: content.leadingAnchor, constant: 8),
|
|
|
- contentPanel.trailingAnchor.constraint(equalTo: content.trailingAnchor, constant: -8),
|
|
|
- contentPanel.bottomAnchor.constraint(equalTo: content.bottomAnchor, constant: -8),
|
|
|
-
|
|
|
- contentColumn.topAnchor.constraint(equalTo: contentPanel.topAnchor),
|
|
|
- contentColumn.bottomAnchor.constraint(equalTo: contentPanel.bottomAnchor),
|
|
|
- contentColumn.leadingAnchor.constraint(equalTo: contentPanel.leadingAnchor),
|
|
|
- contentColumn.trailingAnchor.constraint(equalTo: contentPanel.trailingAnchor),
|
|
|
+ contentColumn.topAnchor.constraint(equalTo: topBarDivider.bottomAnchor, constant: 14),
|
|
|
+ contentColumn.bottomAnchor.constraint(equalTo: content.bottomAnchor, constant: -10),
|
|
|
+ contentColumn.leadingAnchor.constraint(equalTo: content.leadingAnchor, constant: 8),
|
|
|
+ contentColumn.trailingAnchor.constraint(equalTo: content.trailingAnchor, constant: -8),
|
|
|
|
|
|
leftTopBarCluster.leadingAnchor.constraint(equalTo: topBar.leadingAnchor, constant: 40),
|
|
|
leftTopBarCluster.centerYAnchor.constraint(equalTo: topBar.centerYAnchor),
|
|
|
@@ -896,7 +878,7 @@ class ViewController: NSViewController {
|
|
|
profileChip.widthAnchor.constraint(equalToConstant: 34),
|
|
|
profileChip.heightAnchor.constraint(equalToConstant: 34),
|
|
|
|
|
|
- welcome.topAnchor.constraint(equalTo: contentColumn.topAnchor, constant: 22),
|
|
|
+ welcome.topAnchor.constraint(equalTo: contentColumn.topAnchor, constant: 18),
|
|
|
welcome.centerXAnchor.constraint(equalTo: contentColumn.centerXAnchor),
|
|
|
|
|
|
timeTitle.topAnchor.constraint(equalTo: welcome.bottomAnchor, constant: 12),
|
|
|
@@ -906,30 +888,25 @@ class ViewController: NSViewController {
|
|
|
|
|
|
actions.topAnchor.constraint(equalTo: dateTitle.bottomAnchor, constant: 28),
|
|
|
actions.centerXAnchor.constraint(equalTo: contentColumn.centerXAnchor),
|
|
|
- actions.leadingAnchor.constraint(greaterThanOrEqualTo: contentColumn.leadingAnchor, constant: 18),
|
|
|
- actions.trailingAnchor.constraint(lessThanOrEqualTo: contentColumn.trailingAnchor, constant: -18),
|
|
|
+ actions.leadingAnchor.constraint(greaterThanOrEqualTo: contentColumn.leadingAnchor, constant: 12),
|
|
|
+ actions.trailingAnchor.constraint(lessThanOrEqualTo: contentColumn.trailingAnchor, constant: -12),
|
|
|
actions.heightAnchor.constraint(equalToConstant: 100),
|
|
|
|
|
|
- panel.topAnchor.constraint(equalTo: actions.bottomAnchor, constant: 22),
|
|
|
- panel.leadingAnchor.constraint(equalTo: contentColumn.leadingAnchor, constant: 26),
|
|
|
- panel.trailingAnchor.constraint(equalTo: contentColumn.trailingAnchor, constant: -26),
|
|
|
- panel.heightAnchor.constraint(equalToConstant: 316),
|
|
|
- panel.bottomAnchor.constraint(lessThanOrEqualTo: contentColumn.bottomAnchor, constant: -24),
|
|
|
-
|
|
|
- panelHeaderStrip.topAnchor.constraint(equalTo: panel.topAnchor, constant: 10),
|
|
|
- panelHeaderStrip.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 10),
|
|
|
- panelHeaderStrip.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -10),
|
|
|
- panelHeaderStrip.heightAnchor.constraint(equalToConstant: 44),
|
|
|
-
|
|
|
- panelHeader.centerYAnchor.constraint(equalTo: panelHeaderStrip.centerYAnchor),
|
|
|
- panelHeader.leadingAnchor.constraint(equalTo: panelHeaderStrip.leadingAnchor, constant: 14),
|
|
|
- meetingsStatus.centerYAnchor.constraint(equalTo: panelHeaderStrip.centerYAnchor),
|
|
|
- meetingsStatus.trailingAnchor.constraint(equalTo: panelHeaderStrip.trailingAnchor, constant: -14),
|
|
|
+ panel.topAnchor.constraint(equalTo: actions.bottomAnchor, constant: 18),
|
|
|
+ panel.leadingAnchor.constraint(equalTo: contentColumn.leadingAnchor, constant: 6),
|
|
|
+ panel.trailingAnchor.constraint(equalTo: contentColumn.trailingAnchor, constant: -6),
|
|
|
+ panel.heightAnchor.constraint(greaterThanOrEqualToConstant: 280),
|
|
|
+ panel.bottomAnchor.constraint(equalTo: contentColumn.bottomAnchor, constant: -14),
|
|
|
+
|
|
|
+ panelHeader.topAnchor.constraint(equalTo: panel.topAnchor, constant: 20),
|
|
|
+ panelHeader.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 16),
|
|
|
+ meetingsStatus.centerYAnchor.constraint(equalTo: panelHeader.centerYAnchor),
|
|
|
+ meetingsStatus.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -16),
|
|
|
noMeeting.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 18),
|
|
|
noMeeting.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -18),
|
|
|
noMeeting.centerYAnchor.constraint(equalTo: panel.centerYAnchor),
|
|
|
|
|
|
- meetingsScrollView.topAnchor.constraint(equalTo: panelHeaderStrip.bottomAnchor, constant: 10),
|
|
|
+ meetingsScrollView.topAnchor.constraint(equalTo: panelHeader.bottomAnchor, constant: 12),
|
|
|
meetingsScrollView.leadingAnchor.constraint(equalTo: panel.leadingAnchor, constant: 14),
|
|
|
meetingsScrollView.trailingAnchor.constraint(equalTo: panel.trailingAnchor, constant: -14),
|
|
|
meetingsScrollView.bottomAnchor.constraint(equalTo: openRecordings.topAnchor, constant: -14),
|
|
|
@@ -1037,12 +1014,17 @@ class ViewController: NSViewController {
|
|
|
}
|
|
|
|
|
|
NSLayoutConstraint.activate([
|
|
|
- stack.topAnchor.constraint(equalTo: sidebar.topAnchor, constant: style == .home ? 8 : 18),
|
|
|
stack.leadingAnchor.constraint(equalTo: sidebar.leadingAnchor, constant: 4),
|
|
|
stack.trailingAnchor.constraint(equalTo: sidebar.trailingAnchor, constant: -4)
|
|
|
])
|
|
|
if style == .home {
|
|
|
+ NSLayoutConstraint.activate([
|
|
|
+ stack.topAnchor.constraint(greaterThanOrEqualTo: sidebar.topAnchor, constant: 18),
|
|
|
+ stack.centerYAnchor.constraint(equalTo: sidebar.centerYAnchor, constant: 30)
|
|
|
+ ])
|
|
|
stack.bottomAnchor.constraint(lessThanOrEqualTo: sidebar.bottomAnchor, constant: -18).isActive = true
|
|
|
+ } else {
|
|
|
+ stack.topAnchor.constraint(equalTo: sidebar.topAnchor, constant: 18).isActive = true
|
|
|
}
|
|
|
|
|
|
return sidebar
|