浏览代码

Refine main page typography and meeting tab bar spacing.

Reduce heading sizes and tune the platform tab bar shape, insets, and item spacing so the first screen matches the requested compact centered look.

Made-with: Cursor
huzaifahayat12 3 月之前
父节点
当前提交
b3ff8cdeaa
共有 1 个文件被更改,包括 22 次插入14 次删除
  1. 22 14
      meetings_app/ViewController.swift

+ 22 - 14
meetings_app/ViewController.swift

@@ -141,15 +141,18 @@ private extension ViewController {
     }
 
     func meetingTypeTabs() -> NSView {
-        let shell = roundedContainer(cornerRadius: 20, color: palette.tabBarBackground)
+        let wrapper = NSView()
+        wrapper.translatesAutoresizingMaskIntoConstraints = false
+
+        let shell = roundedContainer(cornerRadius: 24, color: palette.tabBarBackground)
         shell.translatesAutoresizingMaskIntoConstraints = false
-        shell.heightAnchor.constraint(equalToConstant: 56).isActive = true
+        shell.heightAnchor.constraint(equalToConstant: 48).isActive = true
 
         let stack = NSStackView()
         stack.translatesAutoresizingMaskIntoConstraints = false
         stack.orientation = .horizontal
         stack.distribution = .fillEqually
-        stack.spacing = 10
+        stack.spacing = 4
 
         stack.addArrangedSubview(topTab("Meet", icon: "􀤆", selected: true))
         stack.addArrangedSubview(topTab("Zoom", icon: "􀤉", selected: false))
@@ -157,15 +160,20 @@ private extension ViewController {
         stack.addArrangedSubview(topTab("Zoho", icon: "􀯶", selected: false))
 
         shell.addSubview(stack)
+        wrapper.addSubview(shell)
         NSLayoutConstraint.activate([
-            shell.widthAnchor.constraint(greaterThanOrEqualToConstant: 700),
-            stack.leadingAnchor.constraint(equalTo: shell.leadingAnchor, constant: 10),
-            stack.trailingAnchor.constraint(equalTo: shell.trailingAnchor, constant: -10),
-            stack.topAnchor.constraint(equalTo: shell.topAnchor, constant: 8),
-            stack.bottomAnchor.constraint(equalTo: shell.bottomAnchor, constant: -8)
+            wrapper.widthAnchor.constraint(greaterThanOrEqualToConstant: 780),
+            shell.leadingAnchor.constraint(equalTo: wrapper.leadingAnchor),
+            shell.trailingAnchor.constraint(equalTo: wrapper.trailingAnchor),
+            shell.topAnchor.constraint(equalTo: wrapper.topAnchor),
+            shell.bottomAnchor.constraint(equalTo: wrapper.bottomAnchor),
+            stack.leadingAnchor.constraint(equalTo: shell.leadingAnchor, constant: 72),
+            stack.trailingAnchor.constraint(equalTo: shell.trailingAnchor, constant: -28),
+            stack.topAnchor.constraint(equalTo: shell.topAnchor, constant: 6),
+            stack.bottomAnchor.constraint(equalTo: shell.bottomAnchor, constant: -6)
         ])
 
-        return shell
+        return wrapper
     }
 
     func meetingUrlSection() -> NSView {
@@ -382,7 +390,7 @@ private extension ViewController {
     }
 
     func topTab(_ title: String, icon: String, selected: Bool) -> NSView {
-        let tab = roundedContainer(cornerRadius: 18, color: selected ? palette.primaryBlue : .clear)
+        let tab = roundedContainer(cornerRadius: 19, color: selected ? palette.primaryBlue : .clear)
         tab.translatesAutoresizingMaskIntoConstraints = false
 
         let iconLabelView = textLabel(icon, font: typography.tabIcon, color: palette.textPrimary)
@@ -466,10 +474,10 @@ private struct Typography {
     let sidebarIcon = NSFont.systemFont(ofSize: 12, weight: .medium)
     let sidebarItem = NSFont.systemFont(ofSize: 16, weight: .medium)
 
-    let pageTitle = NSFont.systemFont(ofSize: 31, weight: .semibold)
-    let sectionTitle = NSFont.systemFont(ofSize: 23, weight: .semibold)
-    let sectionTitleBold = NSFont.systemFont(ofSize: 29, weight: .bold)
-    let dateHeading = NSFont.systemFont(ofSize: 21, weight: .medium)
+    let pageTitle = NSFont.systemFont(ofSize: 27, weight: .semibold)
+    let sectionTitle = NSFont.systemFont(ofSize: 20, weight: .semibold)
+    let sectionTitleBold = NSFont.systemFont(ofSize: 25, weight: .bold)
+    let dateHeading = NSFont.systemFont(ofSize: 18, weight: .medium)
 
     let tabIcon = NSFont.systemFont(ofSize: 13, weight: .regular)
     let tabTitle = NSFont.systemFont(ofSize: 31 / 2, weight: .semibold)